I managed to setup maven descriptor so that I can build and enhance
classes.
I execute "mvn clean package" when I want to build it and it works
just fine.

I add the following pieces to my pom.xml file at the appropriate
locations:
    <properties>
        <appengine.version>1.2.2</appengine.version>
        <appengine.sdk.dir>[path-to-appengine-SDK]</appengine.sdk.dir>
    </properties>


            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.3</version>
                <executions>
                    <execution>
                        <phase>process-classes</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <tasks>
                                <property file="maven-
build.properties"/>
                                <property
name="appengine.tools.classpath"
                                          location="$
{appengine.sdk.dir}/lib/appengine-tools-api.jar"/>

                                <path id="build.classpath">
                                    <fileset dir="$
{maven.repo.local}">
                                      <include name="junit/junit/4.5/
junit-4.5.jar"/>
                                      <include name="javax/servlet/
servlet-api/2.5/servlet-api-2.5.jar"/>
                                      <include name="org/
springframework/org.springframework.core/3.0.0.M3/
org.springframework.core-3.0.0.M3.jar"/>
                                      <include name="org/apache/
commons/com.springsource.org.apache.commons.logging/1.1.1/
com.springsource.org.apache.commons.logging-1.1.1.jar"/>
                                      <include name="org/
springframework/org.springframework.beans/3.0.0.M3/
org.springframework.beans-3.0.0.M3.jar"/>
                                      <include name="org/
springframework/org.springframework.context/3.0.0.M3/
org.springframework.context-3.0.0.M3.jar"/>
                                      <include name="org/aopalliance/
com.springsource.org.aopalliance/1.0.0/
com.springsource.org.aopalliance-1.0.0.jar"/>
                                      <include name="org/
springframework/org.springframework.asm/3.0.0.M3/
org.springframework.asm-3.0.0.M3.jar"/>
                                      <include name="org/
springframework/org.springframework.aop/3.0.0.M3/
org.springframework.aop-3.0.0.M3.jar"/>
                                      <include name="org/
springframework/org.springframework.expression/3.0.0.M3/
org.springframework.expression-3.0.0.M3.jar"/>
                                      <include name="org/antlr/
com.springsource.org.antlr/3.0.1/com.springsource.org.antlr-3.0.1.jar"/
>
                                      <include name="org/
springframework/org.springframework.transaction/3.0.0.M3/
org.springframework.transaction-3.0.0.M3.jar"/>
                                      <include name="org/
springframework/org.springframework.web.servlet/3.0.0.M3/
org.springframework.web.servlet-3.0.0.M3.jar"/>
                                      <include name="org/
springframework/org.springframework.web/3.0.0.M3/
org.springframework.web-3.0.0.M3.jar"/>
                                      <include name="org/
springframework/org.springframework.oxm/3.0.0.M3/
org.springframework.oxm-3.0.0.M3.jar"/>
                                      <include name="org/
springframework/org.springframework.test/3.0.0.M3/
org.springframework.test-3.0.0.M3.jar"/>
                                      <include name="com/google/
appengine/appengine-api-1.0-sdk/1.2.2/appengine-api-1.0-sdk-1.2.2.jar"/
>
                                      <include name="com/google/
appengine/appengine-api-1.0-stubs/1.2.2/appengine-api-1.0-
stubs-1.2.2.jar"/>
                                      <include name="com/google/
appengine/appengine-api-1.0-runtime/1.2.2/appengine-api-1.0-
runtime-1.2.2.jar"/>
                                      <include name="com/google/
appengine/appengine-tools-sdk/1.2.2/appengine-tools-sdk-1.2.2.jar"/>
                                      <include name="com/google/
appengine/orm/datanucleus-appengine/1.0.2/datanucleus-
appengine-1.0.2.jar"/>
                                      <include name="org/datanucleus/
datanucleus-core/1.1.4/datanucleus-core-1.1.4.jar"/>
                                      <include name="javax/transaction/
transaction-api/1.1/transaction-api-1.1.jar"/>
                                      <include name="org/apache/
geronimo/specs/geronimo-jta_1.1_spec/1.1.1/geronimo-
jta_1.1_spec-1.1.1.jar"/>
                                      <include name="javax/jdo/jdo2-
api/2.3-ea/jdo2-api-2.3-ea.jar"/>
                                      <include name="org/datanucleus/
datanucleus-jpa/1.1.4/datanucleus-jpa-1.1.4.jar"/>
                                      <include name="org/apache/
geronimo/specs/geronimo-jpa_3.0_spec/1.1.1/geronimo-
jpa_3.0_spec-1.1.1.jar"/>
                                      <include name="javax/servlet/
jstl/1.1.2/jstl-1.1.2.jar"/>
                                      <include name="taglibs/standard/
1.1.2/standard-1.1.2.jar"/>
                                      <include name="commons-lang/
commons-lang/2.4/commons-lang-2.4.jar"/>
                                      <include name="commons-io/
commons-io/1.4/commons-io-1.4.jar"/>
                                      <include name="genjava/gj-csv/
1.0/gj-csv-1.0.jar"/>
                                      <include name="displaytag/
displaytag/1.2/displaytag-1.2.jar"/>
                                      <include name="commons-
collections/commons-collections/3.1/commons-collections-3.1.jar"/>
                                      <include name="com/lowagie/itext/
1.3/itext-1.3.jar"/>
                                      <include name="commons-beanutils/
commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar"/>
                                      <include name="org/slf4j/jcl104-
over-slf4j/1.4.2/jcl104-over-slf4j-1.4.2.jar"/>
                                      <include name="org/slf4j/slf4j-
log4j12/1.4.2/slf4j-log4j12-1.4.2.jar"/>
                                      <include name="org/slf4j/slf4j-
api/1.4.2/slf4j-api-1.4.2.jar"/>
                                      <include name="log4j/log4j/
1.2.13/log4j-1.2.13.jar"/>
                                      <include name="xalan/xalan/2.7.1/
xalan-2.7.1.jar"/>
                                      <include name="xalan/serializer/
2.7.1/serializer-2.7.1.jar"/>
                                      <include name="xml-apis/xml-apis/
1.3.04/xml-apis-1.3.04.jar"/>
                                    </fileset>
                                </path>

                                <taskdef name="enhance"
                                         classpath="$
{appengine.tools.classpath}"
 
classname="com.google.appengine.tools.enhancer.EnhancerTask"/>

                                <enhance failonerror="true">
                                    <classpath>
                                        <pathelement path="$
{appengine.tools.classpath}"/>
                                        <pathelement path="$
{maven.build.outputDir}"/>
                                        <path refid="build.classpath"/
>
                                    </classpath>
                                    <fileset dir="$
{maven.build.outputDir}" includes="**/*.class"/>
                                </enhance>
                            </tasks>
                        </configuration>
                    </execution>
                </executions>
            </plugin>

build.classpath definition there has been copied from maven-build.xml
generated with "mvn ant:ant". Will probably have to be different for
you environment.


AppEngine 1.2.2  libraries can be included like this:

        <dependency>
            <groupId>com.google.appengine</groupId>
            <artifactId>appengine-api-1.0-sdk</artifactId>
            <version>${appengine.version}</version>
        </dependency>
        <dependency>
            <groupId>com.google.appengine</groupId>
            <artifactId>appengine-api-1.0-stubs</artifactId>
            <version>${appengine.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.google.appengine</groupId>
            <artifactId>appengine-api-1.0-runtime</artifactId>
            <version>${appengine.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.google.appengine</groupId>
            <artifactId>appengine-tools-sdk</artifactId>
            <version>${appengine.version}</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>com.google.appengine.orm</groupId>
            <artifactId>datanucleus-appengine</artifactId>
            <version>1.0.2</version>
        </dependency>
        <dependency>
            <groupId>org.datanucleus</groupId>
            <artifactId>datanucleus-jpa</artifactId>
            <version>1.1.4</version>
        </dependency>
        <dependency>
            <groupId>org.apache.geronimo.specs</groupId>
            <artifactId>geronimo-jpa_3.0_spec</artifactId>
            <version>1.1.1</version>
        </dependency>



Google AppEngine 1.2.2 libraries can be found at mvnsearch.org, so the
list of repositories needs to include this:
        <repository>
            <id>mvnsearch-repo</id>
            <name>MVNSearch Maven Repository</name>
            <url>http://www.mvnsearch.org/maven2/</url>
        </repository>


Unit tests still don't run for me within Maven.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To post to this group, send email to google-appengine-java@googlegroups.com
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to