Hi.
Right now we have to upload the photark-appengie-webapp to google everytime
we make a change...we should only upload the working version to the
google..We are using deploy.sh for uploading the application.
All the development and testing should be done on the local machine.This
will save a lot of time.
I have integrated maven-gae-plugin(http://www.kindleit.net/maven_gae_plugin/)
with photark-appengine-webapp.Now we can run the google-appengine-webapp on
the local machine(http://localhost:8080) and once we are sure its working
locally we can deploy it on the GAE.
Goals
# mvn net.kindleit:maven-gae-plugin:0.4.2:run
# mvn net.kindleit:maven-gae-plugin:0.4.2:update
Here by i am sending patch..Please have look...
Regards
Avdhesh
Index: pom.xml
===================================================================
--- pom.xml (revision 896860)
+++ pom.xml (working copy)
@@ -67,7 +67,19 @@
<artifactId>tuscany-binding-jsonrpc-runtime</artifactId>
<version>2.0-M4</version>
<scope>runtime</scope>
- </dependency>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-api</artifactId>
+ <version>1.3.0</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <version>1.3.0</version>
+ </dependency>
<dependency>
<groupId>org.dojotoolkit</groupId>
@@ -90,8 +102,9 @@
<version>4.5</version>
<scope>test</scope>
</dependency>
+
</dependencies>
-
+
<build>
<finalName>photark</finalName>
<outputDirectory>war/WEB-INF/classes</outputDirectory>
@@ -175,9 +188,43 @@
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
+
+ <execution>
+ <id>unpack-gae</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>unpack</goal>
+ </goals>
+ <configuration>
+ <artifactItems>
+ <artifactItem>
+ <groupId>
+ com.google.appengine
+ </groupId>
+ <artifactId>
+ appengine-java-sdk
+ </artifactId>
+ <version>${gae.version}</version>
+ <type>zip</type>
+ <overWrite>false</overWrite>
+ <outputDirectory>
+ ${settings.localRepository}/com/google/appengine/appengine-java-sdk/${gae.version}/
+ </outputDirectory>
+ </artifactItem>
+ </artifactItems>
+ </configuration>
+ </execution>
+
</executions>
</plugin>
-
+ <plugin>
+ <groupId>net.kindleit</groupId>
+ <artifactId>maven-gae-plugin</artifactId>
+ <version>0.4.2</version>
+ <configuration>
+ <sdkDir>${gae.home}</sdkDir>
+ </configuration>
+ </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
@@ -188,8 +235,249 @@
<dependentWarExcludes>constants.js</dependentWarExcludes>
</configuration>
</plugin>
+
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-install-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>install-jdo2-api</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>install-file</goal>
+ </goals>
+ <configuration>
+ <groupId>com.google.appengine</groupId>
+ <artifactId>jdo2-api</artifactId>
+ <version>2.3-eb</version>
+ <packaging>jar</packaging>
+ <file>
+ ${gae.home}/lib/user/orm/jdo2-api-2.3-eb.jar
+ </file>
+ </configuration>
+ </execution>
+ <execution>
+ <id>install-datanucleus-appengine</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>install-file</goal>
+ </goals>
+ <configuration>
+ <groupId>com.google.appengine.orm</groupId>
+ <artifactId>
+ datanucleus-appengine
+ </artifactId>
+ <version>1.0.4.1</version>
+ <packaging>jar</packaging>
+ <file>
+ ${gae.home}/lib/user/orm/datanucleus-appengine-1.0.4.1.final.jar
+ </file>
+ </configuration>
+ </execution>
+ <execution>
+ <id>install-datanucleus-core</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>install-file</goal>
+ </goals>
+ <configuration>
+ <groupId>com.google.appengine</groupId>
+ <artifactId>datanucleus-core</artifactId>
+ <version>1.1.5</version>
+ <packaging>jar</packaging>
+ <file>
+ ${gae.home}/lib/user/orm/datanucleus-core-1.1.5.jar
+ </file>
+ </configuration>
+ </execution>
+
+ <!-- these are required by maven-gae-plugin at runtime -->
+ <execution>
+ <id>install-geronimo-jta</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>install-file</goal>
+ </goals>
+ <configuration>
+ <groupId>com.google.appengine</groupId>
+ <artifactId>geronimo-jta_1.1_spec</artifactId>
+ <version>1.1.1</version>
+ <packaging>jar</packaging>
+ <file>
+ ${gae.home}/lib/user/orm/geronimo-jta_1.1_spec-1.1.1.jar
+ </file>
+ </configuration>
+ </execution>
+ <execution>
+ <id>install-appengine-tools-api</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>install-file</goal>
+ </goals>
+ <configuration>
+ <groupId>com.google.appengine</groupId>
+ <artifactId>appengine-tools-api</artifactId>
+ <version>1.0</version>
+ <packaging>jar</packaging>
+ <file>
+ ${gae.home}/lib/appengine-tools-api.jar
+ </file>
+ </configuration>
+ </execution>
+ <execution>
+ <id>install-geronimo-api</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>install-file</goal>
+ </goals>
+ <configuration>
+ <groupId>com.google.appengine</groupId>
+ <artifactId>geronimo-jpa_3.0_spec</artifactId>
+ <version>1.1.1</version>
+ <packaging>jar</packaging>
+ <file>
+ ${gae.home}/lib/user/orm/geronimo-jpa_3.0_spec-1.1.1.jar
+ </file>
+ </configuration>
+ </execution>
+ <execution>
+ <id>install-datanucleus-jpa</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>install-file</goal>
+ </goals>
+ <configuration>
+ <groupId>com.google.appengine</groupId>
+ <artifactId>datanucleus-jpa</artifactId>
+ <version>1.1.5</version>
+ <packaging>jar</packaging>
+ <file>
+ ${gae.home}/lib/user/orm/datanucleus-jpa-1.1.5.jar
+ </file>
+ </configuration>
+ </execution>
+
+ <!-- these are required for testing -->
+ <execution>
+ <id>install-appengine-api-labs</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>install-file</goal>
+ </goals>
+ <configuration>
+ <groupId>com.google.appengine</groupId>
+ <artifactId>appengine-api-labs</artifactId>
+ <version>${gae.version}</version>
+ <packaging>jar</packaging>
+ <file>
+ ${gae.home}/lib/impl/appengine-api-labs.jar
+ </file>
+ </configuration>
+ </execution>
+ <execution>
+ <id>install-appengine-api-stubs</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>install-file</goal>
+ </goals>
+ <configuration>
+ <groupId>com.google.appengine</groupId>
+ <artifactId>appengine-api-stubs</artifactId>
+ <version>${gae.version}</version>
+ <packaging>jar</packaging>
+ <file>
+ ${gae.home}/lib/impl/appengine-api-stubs.jar
+ </file>
+ </configuration>
+ </execution>
+ <execution>
+ <id>install-appengine-local-runtime</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>install-file</goal>
+ </goals>
+ <configuration>
+ <groupId>com.google.appengine</groupId>
+ <artifactId>appengine-local-runtime
+ </artifactId>
+ <version>${gae.version}</version>
+ <packaging>jar</packaging>
+ <file>
+ ${gae.home}/lib/impl/appengine-local-runtime.jar
+ </file>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+
</plugins>
</build>
+
+ <properties>
+ <!--
+ This is just for "eclipse:eclipse" goal to always attempt
+ downloading sources
+ -->
+ <downloadSources>true</downloadSources>
-</project>
+ <!--
+ Specify AppEngine version for your project. It should match
+ SDK version pointed to by ${gae.home} property (Typically,
+ one used by your Eclipse plug-in)
+ -->
+ <gae.version>1.3.0</gae.version>
+
+ <!--
+ GAE home points to directory where GAE SDK is unpacked in
+ local repository
+ -->
+ <gae.home>
+ ${settings.localRepository}/com/google/appengine/appengine-java-sdk/${gae.version}/appengine-java-sdk-${gae.version}
+ </gae.home>
+
+ <!-- Upload to http://0.latest.<applicationName>.appspot.com by default -->
+ <gae.application.version>2</gae.application.version>
+ </properties>
+
+
+ <repositories>
+ <!-- We go to mvnsearch.org after latest GAE SDK artifacts -->
+ <repository>
+ <id>mvnsearch.org</id>
+ <name>MVN Search</name>
+ <url>
+ http://www.mvnsearch.org/maven2/
+ </url>
+ <releases>
+ <enabled>true</enabled>
+ <updatePolicy>never</updatePolicy>
+ <checksumPolicy>warn</checksumPolicy>
+ </releases>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+ <repository>
+ <id>DataNucleus_Repos2</id>
+ <name>DataNucleus Repository</name>
+ <url>http://www.datanucleus.org/downloads/maven2</url>
+ </repository>
+ </repositories>
+
+ <pluginRepositories>
+ <pluginRepository>
+ <id>DataNucleus_2</id>
+ <url>http://www.datanucleus.org/downloads/maven2/</url>
+ </pluginRepository>
+ <pluginRepository>
+ <id>maven-gae-plugin-repo</id>
+ <name>maven-gae-plugin repository</name>
+ <url>
+ http://maven-gae-plugin.googlecode.com/svn/repository
+ </url>
+ </pluginRepository>
+ </pluginRepositories>
+
+</project>
\ No newline at end of file