| <?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"> |
| <modelVersion>4.0.0</modelVersion> |
| <parent> |
| <groupId>org.jclouds</groupId> |
| <artifactId>jclouds-demos-project</artifactId> |
| <version>1.5.0-SNAPSHOT</version> |
| </parent> |
| <artifactId>jclouds-demo-googleappengine</artifactId> |
| <packaging>war</packaging> |
| <name>JClouds Sample for Google App Engine</name> |
| <description>JClouds Sample for Google App Engine</description> |
| |
| <properties> |
| <!-- |
| note you must set the property ${appengine.sdk.root} to a valid |
| extraction of appengine-java-sdk |
| --> |
| <appengine.applicationid>jclouds-hpcloud-demo</appengine.applicationid> |
| <appengine.sdk.version>1.6.5</appengine.sdk.version> |
| <devappserver.address>localhost</devappserver.address> |
| <devappserver.port>8088</devappserver.port> |
| </properties> |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.jclouds</groupId> |
| <artifactId>jclouds-blobstore</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.jclouds</groupId> |
| <artifactId>jclouds-compute</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.jclouds.provider</groupId> |
| <artifactId>hpcloud-objectstorage</artifactId> |
| <version>${project.version}</version> |
| <scope>runtime</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.jclouds.driver</groupId> |
| <artifactId>jclouds-gae</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.inject.extensions</groupId> |
| <artifactId>guice-servlet</artifactId> |
| <version>3.0</version> |
| </dependency> |
| |
| <!-- Google App Engine API --> |
| <dependency> |
| <groupId>com.google.appengine</groupId> |
| <artifactId>appengine-api-1.0-sdk</artifactId> |
| <version>${appengine.sdk.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.appengine</groupId> |
| <artifactId>appengine-tools-sdk</artifactId> |
| <version>${appengine.sdk.version}</version> |
| <scope>test</scope> |
| </dependency> |
| |
| <!-- WAR Dependencies: need to be validated --> |
| <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/appengine</directory> |
| <targetPath>WEB-INF</targetPath> |
| <filtering>true</filtering> |
| <excludes> |
| <exclude>.gitignore</exclude> |
| </excludes> |
| </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>live</id> |
| <build> |
| <plugins> |
| <plugin> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>integration</id> |
| <phase>integration-test</phase> |
| <goals> |
| <goal>test</goal> |
| </goals> |
| <configuration> |
| <systemPropertyVariables> |
| <!-- note you can add support for new clouds by adding more entries here |
| after adding maven dependency --> |
| <test.hpcloud-objectstorage.identity>${test.hpcloud-objectstorage.identity}</test.hpcloud-objectstorage.identity> |
| <test.hpcloud-objectstorage.credential>${test.hpcloud-objectstorage.credential}</test.hpcloud-objectstorage.credential> |
| <appengine.sdk.root>${appengine.sdk.root}</appengine.sdk.root> |
| <devappserver.address>${devappserver.address}</devappserver.address> |
| <devappserver.port>${devappserver.port}</devappserver.port> |
| <warfile>${project.build.directory}/${project.artifactId}</warfile> |
| </systemPropertyVariables> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>deploy</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>net.kindleit</groupId> |
| <artifactId>maven-gae-plugin</artifactId> |
| <version>0.9.2</version> |
| <configuration> |
| <serverId>google-appengine</serverId> |
| <sdkDir>${appengine.sdk.root}</sdkDir> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| </project> |