<?xml version="1.0" encoding="UTF-8"?>
<!--

    Licensed to jclouds, Inc. (jclouds) under one or more
    contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  jclouds licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.

-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <parent>
        <artifactId>jclouds-demos-project</artifactId>
        <groupId>org.jclouds</groupId>
        <version>1.5.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>jclouds-demos-tweetstore-project</artifactId>
    <packaging>pom</packaging>
    <name>jclouds TweetStore demos project</name>
    <modules>
        <module>cf-tweetstore-spring</module>
        <module>heroku-tweetstore</module>
        <module>gae-tweetstore</module>
        <module>gae-tweetstore-spring</module>
        <module>runatcloud-tweetstore</module>
        <module>rhcloud-tweetstore</module>
    </modules>
    
    <properties>
        <remoteResourcesDirectory>target/maven-shared-archive-resources</remoteResourcesDirectory>
        <jclouds.tweetstore.blobstores>cloudonestorage,ninefold-storage</jclouds.tweetstore.blobstores>
    </properties>

    <dependencies>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>jclouds-blobstore</artifactId>
            <version>${project.version}</version>
        </dependency>
        <dependency>
            <groupId>org.twitter4j</groupId>
            <artifactId>twitter4j-core</artifactId>
            <version>[2.2,)</version>
        </dependency>
        <dependency>
            <groupId>${project.groupId}</groupId>
            <artifactId>jclouds-blobstore</artifactId>
            <version>${project.version}</version>
            <type>test-jar</type>
            <scope>test</scope>
        </dependency>    
        <dependency>
            <groupId>org.jclouds.provider</groupId>
            <artifactId>aws-s3</artifactId>
            <version>${project.version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.jclouds.provider</groupId>
            <artifactId>cloudfiles-us</artifactId>
            <version>${project.version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.jclouds.provider</groupId>
            <artifactId>azureblob</artifactId>
            <version>${project.version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.jclouds.provider</groupId>
            <artifactId>cloudonestorage</artifactId>
            <version>${project.version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.jclouds.provider</groupId>
            <artifactId>ninefold-storage</artifactId>
            <version>${project.version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>displaytag</groupId>
            <artifactId>displaytag</artifactId>
            <version>1.2</version>
            <scope>runtime</scope>
            <exclusions>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>slf4j-log4j12</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-jdk14</artifactId>
            <version>1.5.6</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <artifactId>jstl</artifactId>
            <groupId>javax.servlet</groupId>
            <version>1.1.2</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <artifactId>standard</artifactId>
            <groupId>taglibs</groupId>
            <version>1.1.2</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
    
    <build>
        <finalName>${project.artifactId}</finalName>
        <plugins>
            <plugin>      
                <artifactId>maven-remote-resources-plugin</artifactId>
                <version>1.2</version>
                <configuration>
                    <!-- prevents the maven-war-plugin from including the resources in WEB-INF/classes -->
                    <attached>false</attached>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.1.1</version>
                <configuration>
                    <!-- see http://jira.codehaus.org/browse/MWAR-248 -->
                    <packagingExcludes>WEB-INF/web.xml</packagingExcludes>
                    <webResources>
                        <resource>
                            <directory>src/main/platform</directory>
                            <targetPath>WEB-INF</targetPath>
                            <filtering>true</filtering>
                            <excludes>
                                <!-- present in TweetStore instances with no platform files to ensure the directory is stored in git -->
                                <exclude>.gitignore</exclude>
                            </excludes>
                        </resource>
                        <resource>
                            <directory>${remoteResourcesDirectory}/META-INF</directory>
                            <targetPath>META-INF</targetPath>
                        </resource>
                    </webResources>
                </configuration>
            </plugin>
            <plugin>
                <groupId>com.ning.maven.plugins</groupId>
                <artifactId>maven-duplicate-finder-plugin</artifactId>
                <version>1.0.3</version>
                <configuration>
                    <exceptions>
                        <exception>
                            <!-- Google App Engine Deps, some google classes are duplicated between packages -->
                            <conflictingDependencies>
                                <dependency>
                                    <groupId>com.google.appengine</groupId>
                                    <artifactId>appengine-api-1.0-sdk</artifactId>
                                    <version>1.6.5</version>
                                </dependency>
                                <dependency>
                                    <groupId>com.google.appengine</groupId>
                                    <artifactId>appengine-tools-sdk</artifactId>
                                    <version>1.6.5</version>
                                    <scope>test</scope>
                                </dependency>
                            </conflictingDependencies>
                            <packages>
                                <package>com.google</package>
                            </packages>
                        </exception>
                        <exception>
                            <!-- Tomcat bundles the JSR250 annotations too -->
                            <conflictingDependencies>
                                <dependency>
                                    <groupId>javax.annotation</groupId>
                                    <artifactId>jsr250-api</artifactId>
                                    <version>1.0</version>
                                    <scope>runtime</scope>
                                </dependency>
                                <dependency>
                                    <groupId>org.apache.tomcat</groupId>
                                    <artifactId>annotations-api</artifactId>
                                    <version>6.0.32</version>
                                    <scope>test</scope>
                                </dependency>
                            </conflictingDependencies>
                            <packages>
                                <package>javax.annotation</package>
                            </packages>
                        </exception>
                        <exception>
                            <!-- commons-beanutils and commons-collections duplicate classes -->
                            <conflictingDependencies>
                                <dependency>
                                    <groupId>commons-beanutils</groupId>
                                    <artifactId>commons-beanutils</artifactId>
                                    <version>1.7.0</version>
                                    <scope>runtime</scope>
                                </dependency>
                                <dependency>
                                    <groupId>commons-collections</groupId>
                                    <artifactId>commons-collections</artifactId>
                                    <version>3.1</version>
                                    <scope>runtime</scope>
                                </dependency>
                            </conflictingDependencies>
                            <packages>
                                <package>org.apache.commons.collections</package>
                            </packages>
                        </exception>
                        <exception>
                            <!-- javax.servlet is included in the appengine-tools-sdk, with Tomcat and Jetty -->
                            <conflictingDependencies>
                                <dependency>
                                    <groupId>javax.servlet</groupId>
                                    <artifactId>servlet-api</artifactId>
                                    <version>2.5</version>
                                    <scope>provided</scope>
                                </dependency>
                                <dependency>
                                    <groupId>com.google.appengine</groupId>
                                    <artifactId>appengine-tools-sdk</artifactId>
                                    <version>1.6.5</version>
                                    <scope>test</scope>
                                </dependency>
                                <dependency>
                                    <groupId>org.apache.tomcat</groupId>
                                    <artifactId>servlet-api</artifactId>
                                    <version>6.0.32</version>
                                    <scope>test</scope>
                                </dependency>
                                <dependency>
                                    <groupId>org.mortbay.jetty</groupId>
                                    <artifactId>jetty-runner</artifactId>
                                    <version>7.5.4.v20111024</version>
                                    <scope>test</scope>
                                </dependency>
                            </conflictingDependencies>
                            <packages>
                                <package>javax.servlet</package>
                            </packages>
                            <resources>
                                <!-- javax.servlet is included in the appengine-tools-sdk and Tomcat -->
                                <resource>javax/servlet/resources/XMLSchema.dtd</resource>
                                <resource>javax/servlet/resources/datatypes.dtd</resource>
                                <resource>javax/servlet/resources/j2ee_1_4.xsd</resource>
                                <resource>javax/servlet/resources/j2ee_web_services_client_1_1.xsd</resource>
                                <resource>javax/servlet/resources/javaee_5.xsd</resource>
                                <resource>javax/servlet/resources/javaee_web_services_client_1_2.xsd</resource>
                                <resource>javax/servlet/resources/jsp_2_0.xsd</resource>
                                <resource>javax/servlet/resources/jsp_2_1.xsd</resource>
                                <resource>javax/servlet/resources/web-app_2_2.dtd</resource>
                                <resource>javax/servlet/resources/web-app_2_3.dtd</resource>
                                <resource>javax/servlet/resources/web-app_2_4.xsd</resource>
                                <resource>javax/servlet/resources/web-app_2_5.xsd</resource>
                                <resource>javax/servlet/resources/xml.xsd</resource>
                                <resource>javax/servlet/LocalStrings.properties</resource>
                                <resource>javax/servlet/LocalStrings_fr.properties</resource>
                                <resource>javax/servlet/LocalStrings_ja.properties</resource>
                                <resource>javax/servlet/http/LocalStrings.properties</resource>
                                <resource>javax/servlet/http/LocalStrings_es.properties</resource>
                                <resource>javax/servlet/http/LocalStrings_fr.properties</resource>
                                <resource>javax/servlet/http/LocalStrings_ja.properties</resource>
                            </resources>
                        </exception>
                        <exception>
                            <!-- Jasper and Catalina duplicate some classes -->
                            <conflictingDependencies>
                                <dependency>
                                    <groupId>org.apache.tomcat</groupId>
                                    <artifactId>catalina</artifactId>
                                    <version>6.0.32</version>
                                    <scope>test</scope>
                                </dependency>
                                <dependency>
                                    <groupId>org.apache.tomcat</groupId>
                                    <artifactId>jasper</artifactId>
                                    <version>6.0.32</version>
                                    <scope>test</scope>
                                </dependency>
                            </conflictingDependencies>
                            <classes>
                                <class>org.apache.AnnotationProcessor</class>
                                <class>org.apache.PeriodicEventListener</class>
                            </classes>
                        </exception>
                        <exception>
                            <!-- Jetty Runner includes taglibs and jstl -->
                            <conflictingDependencies>
                                <dependency>
                                    <groupId>javax.servlet</groupId>
                                    <artifactId>jstl</artifactId>
                                    <version>1.1.2</version>
                                    <scope>runtime</scope>
                                </dependency>
                                <dependency>
                                    <groupId>taglibs</groupId>
                                    <artifactId>standard</artifactId>
                                    <version>1.1.2</version>
                                    <scope>runtime</scope>
                                </dependency>
                                <dependency>
                                    <groupId>org.mortbay.jetty</groupId>
                                    <artifactId>jetty-runner</artifactId>
                                    <version>7.5.4.v20111024</version>
                                    <scope>test</scope>
                                </dependency>
                            </conflictingDependencies>
                            <packages>
                                <package>javax.servlet.jsp.jstl</package>
                                <package>org.apache.taglibs</package>
                            </packages>
                            <resources>
                                <resource>META-INF/c-1_0-rt.tld</resource>
                                <resource>META-INF/c-1_0.tld</resource>
                                <resource>META-INF/c.tld</resource>
                                <resource>META-INF/fmt-1_0-rt.tld</resource>
                                <resource>META-INF/fmt-1_0.tld</resource>
                                <resource>META-INF/fmt.tld</resource>
                                <resource>META-INF/fn.tld</resource>
                                <resource>META-INF/permittedTaglibs.tld</resource>
                                <resource>META-INF/scriptfree.tld</resource>
                                <resource>META-INF/sql-1_0-rt.tld</resource>
                                <resource>META-INF/sql-1_0.tld</resource>
                                <resource>META-INF/sql.tld</resource>
                                <resource>META-INF/x-1_0-rt.tld</resource>
                                <resource>META-INF/x-1_0.tld</resource>
                                <resource>META-INF/x.tld</resource>
                                <resource>org/apache/taglibs/standard/lang/jstl/Resources.properties</resource>
                                <resource>org/apache/taglibs/standard/lang/jstl/Resources_ja.properties</resource>
                                <resource>org/apache/taglibs/standard/resources/Resources.properties</resource>
                                <resource>org/apache/taglibs/standard/resources/Resources_ja.properties</resource>
                            </resources>
                        </exception>
                    </exceptions>
                </configuration>
            </plugin>
        </plugins>
    </build>
    
    <profiles>
        <profile>
            <id>deploy</id>
            <build>
                <plugins>
                    <plugin>      
                        <artifactId>maven-remote-resources-plugin</artifactId>
                        <version>1.2</version>
                        <configuration>
                            <!-- prevents the maven-war-plugin from including the resources in WEB-INF/classes -->
                            <attached>false</attached>
                        </configuration>
                        <executions>             
                            <execution>
                                <id>include-jclouds-properties</id>
                                <goals>
                                    <goal>process</goal>
                                </goals>
                                <configuration>
                                    <resourceBundles>
                                        <!-- tweetstore.instance is set in child projects -->
                                        <resourceBundle>${project.groupId}:jclouds-demos-tweetstore-jclouds-properties:2-${tweetstore.instance}</resourceBundle>
                                    </resourceBundles>
                                </configuration>
                            </execution>          
                        </executions>
                    </plugin>
                    <plugin>
                        <artifactId>maven-war-plugin</artifactId>
                        <configuration>
                            <!-- see http://jira.codehaus.org/browse/MWAR-248 -->
                            <packagingExcludes>WEB-INF/web.xml</packagingExcludes>
                            <webResources>
                                <resource>
                                    <directory>src/main/platform</directory>
                                    <targetPath>WEB-INF</targetPath>
                                    <filtering>true</filtering>
                                    <excludes>
                                        <!-- present in TweetStore instances with no platform files to ensure the directory is stored in git -->
                                        <exclude>.gitignore</exclude>
                                    </excludes>
                                </resource>
                                <resource>
                                    <directory>${remoteResourcesDirectory}/META-INF</directory>
                                    <targetPath>META-INF</targetPath>
                                </resource>
                                <resource>
                                    <directory>${remoteResourcesDirectory}</directory>
                                    <targetPath>WEB-INF</targetPath>
                                    <filtering>true</filtering>
                                    <includes>
                                        <include>jclouds.properties</include>
                                    </includes>
                                </resource>
                            </webResources>
                        </configuration>
                    </plugin>
                </plugins>
            </build>
        </profile>
    </profiles>
</project>
