Author: mgencur(a)redhat.com
Date: 2010-03-22 05:14:26 -0400 (Mon, 22 Mar 2010)
New Revision: 6062
Modified:
archetypes/trunk/jsf/jee/pom.xml
archetypes/trunk/pom.xml
Log:
WELDX-70 fixed handling of local maven private repo and added maven code for jee
archetype
Modified: archetypes/trunk/jsf/jee/pom.xml
===================================================================
--- archetypes/trunk/jsf/jee/pom.xml 2010-03-22 08:30:24 UTC (rev 6061)
+++ archetypes/trunk/jsf/jee/pom.xml 2010-03-22 09:14:26 UTC (rev 6062)
@@ -32,6 +32,362 @@
</plugins>
</build>
-
-
+ <profiles>
+ <profile>
+ <id>ftest-jboss</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ </activation>
+
+ <properties>
+ <ftest.artifact>ftest-archetypes</ftest.artifact>
+ <ftest.version>0.1${ftest.version.discriminator}</ftest.version>
+
<selenium.browser.url>http://localhost:8080</selenium.browser.url>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.weld.examples.ftest</groupId>
+ <artifactId>${ftest.artifact}</artifactId>
+ <version>${ftest.version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>selenium-maven-plugin</artifactId>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>failsafe-maven-plugin</artifactId>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+
+ <executions>
+ <!-- remove a project generated earlier -->
+ <execution>
+ <id>remove-old-project</id>
+ <phase>process-sources</phase>
+ <configuration>
+ <tasks>
+ <echo message="Removing old project" />
+ <delete dir="${java.io.tmpdir}/${project.artifactId}"
failonerror="false"/>
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ <!-- tomcat:run has to be executed in background otherwise it would block
further maven execution -->
+ <execution>
+ <id>wait-for-project</id>
+ <phase>pre-integration-test</phase>
+ <configuration>
+ <tasks>
+ <property name="url.to.wait"
value="http://localhost:8080/${project.artifactId}" />
+ <echo message="Waiting for application at ${url.to.wait} using jboss
container" />
+ <waitfor maxwait="${application.deploy.timeout}"
maxwaitunit="second">
+ <http url="${url.to.wait}" errorsBeginAt="404" />
+ </waitfor>
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <executions>
+ <!-- generate project using weld archetypes -->
+ <execution>
+ <id>generate-project-artifacts</id>
+ <phase>generate-resources</phase>
+ <configuration>
+ <executable>mvn</executable>
+ <workingDirectory>${java.io.tmpdir}</workingDirectory>
+ <arguments>
+ <argument>archetype:generate</argument>
+ <argument>-DinteractiveMode=n</argument>
+
<argument>-DarchetypeArtifactId=${project.artifactId}</argument>
+
<argument>-DarchetypeGroupId=org.jboss.weld.archetypes</argument>
+
<argument>-DarchetypeVersion=${archetype.test.version}</argument>
+ <argument>-DgroupId=com.mycompany</argument>
+ <argument>-DartifactId=${project.artifactId}</argument>
+
<argument>-Dmaven.repo.local=${maven.private.repo}/</argument>
+ </arguments>
+ </configuration>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ </execution>
+ <!-- just compile generated project -->
+ <execution>
+ <id>package-project</id>
+ <phase>compile</phase>
+ <configuration>
+ <executable>mvn</executable>
+
<workingDirectory>${java.io.tmpdir}/${project.artifactId}</workingDirectory>
+ <arguments>
+ <argument>package</argument>
+
<argument>-Dmaven.repo.local=${maven.private.repo}/</argument>
+ </arguments>
+ </configuration>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ </execution>
+ <!-- deploy -->
+ <execution>
+ <id>deploy-project</id>
+ <phase>compile</phase>
+ <configuration>
+ <executable>mvn</executable>
+
<workingDirectory>${java.io.tmpdir}/${project.artifactId}</workingDirectory>
+ <arguments>
+ <argument>jboss:hard-deploy</argument>
+
<argument>-Dmaven.repo.local=${maven.private.repo}/</argument>
+ </arguments>
+ </configuration>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>run-unit-tests</id>
+ <phase>integration-test</phase>
+ <configuration>
+ <executable>mvn</executable>
+
<workingDirectory>${java.io.tmpdir}/${project.artifactId}</workingDirectory>
+ <arguments>
+ <argument>test</argument>
+
<argument>-Dmaven.repo.local=${maven.private.repo}/</argument>
+ </arguments>
+ </configuration>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>undeploy-project</id>
+ <phase>post-integration-test</phase>
+ <configuration>
+ <executable>mvn</executable>
+
<workingDirectory>${java.io.tmpdir}/${project.artifactId}</workingDirectory>
+ <arguments>
+ <argument>jboss:hard-undeploy</argument>
+
<argument>-Dmaven.repo.local=${maven.private.repo}/</argument>
+ </arguments>
+ </configuration>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ </plugins>
+ </build>
+ </profile>
+
+ <profile>
+ <id>ftest-glassfish</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ </activation>
+
+ <properties>
+ <ftest.artifact>ftest-archetypes</ftest.artifact>
+ <ftest.version>0.1${ftest.version.discriminator}</ftest.version>
+
<selenium.browser.url>http://localhost:8080</selenium.browser.url>
+ </properties>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.jboss.weld.examples.ftest</groupId>
+ <artifactId>${ftest.artifact}</artifactId>
+ <version>${ftest.version}</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>selenium-maven-plugin</artifactId>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>failsafe-maven-plugin</artifactId>
+ </plugin>
+
+ <plugin>
+ <groupId>org.glassfish.maven.plugin</groupId>
+ <artifactId>maven-glassfish-plugin</artifactId>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-antrun-plugin</artifactId>
+ <executions>
+ <!-- remove a project generated earlier -->
+ <execution>
+ <id>remove-old-project</id>
+ <phase>process-sources</phase>
+ <configuration>
+ <tasks>
+ <echo message="Removing old project" />
+ <delete dir="${java.io.tmpdir}/${project.artifactId}"
failonerror="false"/>
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ <!-- tomcat:run has to be executed in background otherwise it would block
further maven execution -->
+ <execution>
+ <id>deploy-project</id>
+ <phase>pre-integration-test</phase>
+ <configuration>
+ <tasks>
+ <property name="url.to.wait"
value="http://localhost:8080/${project.artifactId}" />
+ <echo message="Waiting for application at ${url.to.wait} using Glassfish
container" />
+ <waitfor maxwait="${application.deploy.timeout}"
maxwaitunit="second">
+ <http url="${url.to.wait}" errorsBeginAt="404" />
+ </waitfor>
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ <execution>
+ <id>copy-persistencexml-to-temp</id>
+ <phase>process-resources</phase>
+ <configuration>
+ <tasks>
+ <echo message="Copying persistence.xml to temp dir" />
+ <copy
file="${java.io.tmpdir}/${project.artifactId}/src/main/resources/META-INF/persistence.xml"
todir="${java.io.tmpdir}" overwrite="true"/>
+ </tasks>
+ </configuration>
+ <goals>
+ <goal>run</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>xml-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>datasource-for-glassfish</id>
+ <phase>process-resources</phase>
+ <goals>
+ <goal>transform</goal>
+ </goals>
+ </execution>
+ </executions>
+ <configuration>
+ <transformationSets>
+ <transformationSet>
+ <dir>${java.io.tmpdir}</dir>
+ <includes>
+ <include>persistence.xml</include>
+ </includes>
+
<outputDir>${java.io.tmpdir}/${project.artifactId}/src/main/resources/META-INF</outputDir>
+
<stylesheet>src/test/resources/glassfishdatasource.xsl</stylesheet>
+ </transformationSet>
+ </transformationSets>
+ </configuration>
+ </plugin>
+
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <executions>
+ <!-- generate project using weld archetypes -->
+ <execution>
+ <id>generate-project-artifacts</id>
+ <phase>generate-resources</phase>
+ <configuration>
+ <executable>mvn</executable>
+ <workingDirectory>${java.io.tmpdir}</workingDirectory>
+ <arguments>
+ <argument>archetype:generate</argument>
+ <argument>-DinteractiveMode=n</argument>
+
<argument>-DarchetypeArtifactId=${project.artifactId}</argument>
+
<argument>-DarchetypeGroupId=org.jboss.weld.archetypes</argument>
+
<argument>-DarchetypeVersion=${archetype.test.version}</argument>
+ <argument>-DgroupId=com.mycompany</argument>
+ <argument>-DartifactId=${project.artifactId}</argument>
+
<argument>-Dmaven.repo.local=${maven.private.repo}/</argument>
+ </arguments>
+ </configuration>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ </execution>
+ <!-- just compile generated project -->
+ <execution>
+ <id>compile-project</id>
+ <phase>compile</phase>
+ <configuration>
+ <executable>mvn</executable>
+
<workingDirectory>${java.io.tmpdir}/${project.artifactId}</workingDirectory>
+ <arguments>
+ <argument>package</argument>
+
<argument>-Dmaven.repo.local=${maven.private.repo}/</argument>
+ </arguments>
+ </configuration>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ </execution>
+ <!-- run unit tests -->
+ <execution>
+ <id>run-unit-tests</id>
+ <phase>integration-test</phase>
+ <configuration>
+ <executable>mvn</executable>
+
<workingDirectory>${java.io.tmpdir}/${project.artifactId}</workingDirectory>
+ <arguments>
+ <argument>test</argument>
+
<argument>-Dmaven.repo.local=${maven.private.repo}/</argument>
+ </arguments>
+ </configuration>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ </plugins>
+ </build>
+ </profile>
+ </profiles>
</project>
Modified: archetypes/trunk/pom.xml
===================================================================
--- archetypes/trunk/pom.xml 2010-03-22 08:30:24 UTC (rev 6061)
+++ archetypes/trunk/pom.xml 2010-03-22 09:14:26 UTC (rev 6062)
@@ -75,6 +75,8 @@
<maven.antrun.plugin.version>1.3</maven.antrun.plugin.version>
<failsafe.maven.plugin.version>2.4.3-alpha-1</failsafe.maven.plugin.version>
<exec.maven.plugin.version>1.1</exec.maven.plugin.version>
+ <xml.maven.plugin.version>1.0-beta-3</xml.maven.plugin.version>
+ <maven.glassfish.plugin.version>2.1</maven.glassfish.plugin.version>
<ant.junit.version>1.6.2</ant.junit.version>
<ftest.version.discriminator />
<selenium.browser>*firefoxproxy</selenium.browser>
@@ -182,8 +184,9 @@
<tasks>
<property name="tmpdir"
value="${maven.private.repo}"/>
<delete dir="${tmpdir}" failonerror="false"/>
- <mkdir dir="${tmpdir}"/>
- <copy todir="${tmpdir}" overwrite="true">
+ <property name="archdir"
value="${tmpdir}/org/jboss/weld/archetypes"/>
+ <mkdir dir="${archdir}"/>
+ <copy todir="${archdir}" overwrite="true">
<fileset
dir="${user.home}/.m2/repository/org/jboss/weld/archetypes">
<include name="**/*"/>
</fileset>
@@ -370,8 +373,9 @@
<tasks>
<property name="tmpdir"
value="${maven.private.repo}"/>
<delete dir="${tmpdir}" failonerror="false"/>
- <mkdir dir="${tmpdir}"/>
- <copy todir="${tmpdir}" overwrite="true">
+ <property name="archdir"
value="${tmpdir}/org/jboss/weld/archetypes"/>
+ <mkdir dir="${archdir}"/>
+ <copy todir="${archdir}" overwrite="true">
<fileset
dir="${user.home}/.m2/repository/org/jboss/weld/archetypes">
<include name="**/*"/>
</fileset>
@@ -535,7 +539,7 @@
<plugin>
<groupId>org.glassfish.maven.plugin</groupId>
<artifactId>maven-glassfish-plugin</artifactId>
- <version>2.1</version>
+ <version>${maven.glassfish.plugin.version}</version>
<configuration>
<glassfishDirectory>${env.GLASSFISH_HOME}</glassfishDirectory>
<user>${glassfish.admin.user}</user>
@@ -616,8 +620,9 @@
<tasks>
<property name="tmpdir"
value="${maven.private.repo}"/>
<delete dir="${tmpdir}" failonerror="false"/>
- <mkdir dir="${tmpdir}"/>
- <copy todir="${tmpdir}" overwrite="true">
+ <property name="archdir"
value="${tmpdir}/org/jboss/weld/archetypes"/>
+ <mkdir dir="${archdir}"/>
+ <copy todir="${archdir}" overwrite="true">
<fileset
dir="${user.home}/.m2/repository/org/jboss/weld/archetypes">
<include name="**/*"/>
</fileset>
@@ -647,6 +652,12 @@
</plugin>
<plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>xml-maven-plugin</artifactId>
+ <version>${xml.maven.plugin.version}</version>
+ </plugin>
+
+ <plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>${exec.maven.plugin.version}</version>