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

Reply via email to