Author: veithen
Date: Tue Aug 24 19:44:35 2010
New Revision: 988689
URL: http://svn.apache.org/viewvc?rev=988689&view=rev
Log:
Use the new axis2-repo-maven-plugin to build the test repositories in the
integration module and add addressing.mar as a Maven dependency. This means
that the integration module can now be built without building the addressing
module first.
Modified:
axis/axis2/java/core/trunk/modules/integration/itest-build.xml
axis/axis2/java/core/trunk/modules/integration/pom.xml
axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/AbstractCreateRepositoryMojo.java
Modified: axis/axis2/java/core/trunk/modules/integration/itest-build.xml
URL:
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/integration/itest-build.xml?rev=988689&r1=988688&r2=988689&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/integration/itest-build.xml (original)
+++ axis/axis2/java/core/trunk/modules/integration/itest-build.xml Tue Aug 24
19:44:35 2010
@@ -25,8 +25,6 @@
<!-- Set a property that can be picked up from the ant
build.xml's -->
<echo>${maven.test.path}</echo>
- <!-- copy the mars so that they are available on the test
classpath -->
- <copy
file="../addressing/target/addressing-${addressing_version}.mar"
tofile="target/test-classes/modules/addressing-${addressing_version}.mar" />
<property name="axis2.home" value="${basedir}/target" />
<property name="maven.junit.jvmargs" value="" />
@@ -186,83 +184,9 @@
</target>
<target name="build-repos" unless="test.skip">
- <mkdir dir="target/test-resources/samples/modules"/>
- <mkdir dir="target/test-resources/samples/conf"/>
- <mkdir dir="target/test-resources/repository-client/modules"/>
- <mkdir dir="target/test-resources/repository-client/conf"/>
- <copy
file="../addressing/target/addressing-${addressing_version}.mar"
-
tofile="target/test-resources/samples/modules/addressing-${addressing_version}.mar"/>
- <copy file="conf/axis2.xml"
-
tofile="target/test-resources/samples/conf/axis2.xml"/>
- <copy
file="../addressing/target/addressing-${addressing_version}.mar"
-
tofile="target/test-resources/repository-client/modules/addressing-${addressing_version}.mar"/>
- <copy file="conf/axis2.xml"
-
tofile="target/test-resources/repository-client/conf/axis2.xml"/>
<mkdir dir="target/toWar/services/"/>
- <mkdir dir="target/test-resources/local"/>
- <copy
file="../addressing/target/addressing-${addressing_version}.mar"
-
tofile="target/test-resources/local/addressing.mar"/>
-
- <!-- Create Chunked enabled Repository -->
- <mkdir dir="target/test-resources/chunking-enabledRepository"/>
- <mkdir
dir="target/test-resources/chunking-enabledRepository/conf"/>
- <copy
file="test/org/apache/axis2/engine/chunking-enabled-axis2.xml"
-
tofile="target/test-resources/chunking-enabledRepository/conf/axis2.xml"/>
-
- <!-- Create Chunked disabled Repository -->
- <mkdir dir="target/test-resources/chunking-disabledRepository"/>
- <mkdir
dir="target/test-resources/chunking-disabledRepository/conf"/>
- <copy
file="test/org/apache/axis2/engine/chunking-disabled-axis2.xml"
-
tofile="target/test-resources/chunking-disabledRepository/conf/axis2.xml"/>
-
<mkdir dir="target/test-resources/MessageContextInjectionRepo"/>
- <mkdir dir="target/test-resources/integrationRepo/modules"/>
- <mkdir dir="target/test-resources/integrationRepo/conf"/>
- <copy
file="../addressing/target/addressing-${addressing_version}.mar"
-
tofile="target/test-resources/integrationRepo/modules/addressing-${addressing_version}.mar"/>
- <copy file="conf/axis2.xml"
-
tofile="target/test-resources/integrationRepo/conf/axis2.xml"/>
-
-
- <!-- Commons transport enabled enabled Repository -->
- <mkdir
dir="target/test-resources/commons-http-enabledRepository"/>
- <mkdir
dir="target/test-resources/commons-http-enabledRepository/conf"/>
- <copy
file="test/org/apache/axis2/engine/commons-http-enabled-axis2.xml"
-
tofile="target/test-resources/commons-http-enabledRepository/conf/axis2.xml"/>
-
- <!-- MTOM enabled Repository -->
- <mkdir dir="target/test-resources/MTOM-enabledRepository"/>
- <mkdir dir="target/test-resources/MTOM-enabledRepository/conf"/>
- <mkdir
dir="target/test-resources/MTOM-enabledRepository/modules"/>
- <copy file="test-resources/mtom/MTOM-enabled-axis2.xml"
-
tofile="target/test-resources/MTOM-enabledRepository/conf/axis2.xml"/>
- <copy
file="../addressing/target/addressing-${addressing_version}.mar"
-
tofile="target/test-resources/MTOM-enabledRepository/modules/addressing-${addressing_version}.mar"/>
-
- <!-- MTOM file cache enabled Repository -->
- <mkdir
dir="target/test-resources/MTOM-fileCache-enabledRepository"/>
- <mkdir
dir="target/test-resources/MTOM-fileCache-enabledRepository/conf"/>
- <copy
file="test-resources/mtom/MTOM-fileCache-enabled-axis2.xml"
-
tofile="target/test-resources/MTOM-fileCache-enabledRepository/conf/axis2.xml"/>
- <copy
file="../addressing/target/addressing-${addressing_version}.mar"
-
tofile="target/test-resources/MTOM-fileCache-enabledRepository/modules/addressing-${addressing_version}.mar"/>
-
- <!-- SwA enabled Repository -->
- <mkdir dir="target/test-resources/SwA-enabledRepository"/>
- <mkdir dir="target/test-resources/SwA-enabledRepository/conf"/>
- <copy file="test-resources/swa/SwA-enabled-axis2.xml"
-
tofile="target/test-resources/SwA-enabledRepository/conf/axis2.xml"/>
- <copy
file="../addressing/target/addressing-${addressing_version}.mar"
-
tofile="target/test-resources/SwA-enabledRepository/modules/addressing-${addressing_version}.mar"/>
-
- <!-- SwA file cache enabled Repository -->
- <mkdir
dir="target/test-resources/SwA-fileCache-enabledRepository"/>
- <mkdir
dir="target/test-resources/SwA-fileCache-enabledRepository/conf"/>
- <copy file="test-resources/swa/SwA-fileCache-enabled-axis2.xml"
-
tofile="target/test-resources/SwA-fileCache-enabledRepository/conf/axis2.xml"/>
- <copy
file="../addressing/target/addressing-${addressing_version}.mar"
-
tofile="target/test-resources/SwA-fileCache-enabledRepository/modules/addressing-${addressing_version}.mar"/>
<!-- Spring resources -->
<mkdir dir="target/test-resources/spring"/>
@@ -270,46 +194,11 @@
tofile="target/test-classes/spring/applicationContext.xml"/>
<!-- Test with target resolver -->
- <mkdir dir="target/test-resources/deployment_repo"/>
<mkdir dir="target/test-resources/deployment"/>
- <mkdir dir="target/test-resources/deployment_repo/conf"/>
- <mkdir dir="target/test-resources/deployment_repo/services"/>
- <mkdir dir="target/test-resources/deployment_repo/modules"/>
<copy file="test-resources/deployment/server-transport.xml"
tofile="target/test-resources/deployment/server-transport.xml"/>
-<copy file="test-resources/deployment/deployment.both.axis2.xml"
-
tofile="target/test-resources/deployment_repo/conf/axis2.xml"/>
-
- <copy
file="../addressing/target/addressing-${addressing_version}.mar"
-
tofile="target/test-resources/deployment_repo/modules/addressing-${addressing_version}.mar"/>
-
- <!-- Standard repository -->
- <mkdir dir="target/Repository"/>
- <mkdir dir="target/Repository/conf"/>
- <mkdir dir="target/Repository/services"/>
- <mkdir dir="target/Repository/modules"/>
- <copy
file="../addressing/target/addressing-${addressing_version}.mar"
-
tofile="target/Repository/modules/addressing-${addressing_version}.mar"/>
- <copy file="conf/axis2.xml"
- tofile="target/Repository/conf/axis2.xml"/>
-
- <mkdir dir="target/perf2/build/repo/conf"/>
- <mkdir dir="target/perf/build/repo/conf"/>
-
- <copy file="conf/axis2.xml"
- tofile="target/perf2/build/repo/conf/axis2.xml"/>
- <copy file="conf/axis2.xml"
- tofile="target/perf/build/repo/conf/axis2.xml"/>
-
- <mkdir dir="target/perf2/build/repo/modules"/>
- <copy
file="../addressing/target/addressing-${addressing_version}.mar"
-
tofile="target/perf2/build/repo/modules/addressing-${addressing_version}.mar"/>
-
- <mkdir dir="target/perf/build/repo/modules"/>
- <copy
file="../addressing/target/addressing-${addressing_version}.mar"
-
tofile="target/perf/build/repo/modules/addressing-${addressing_version}.mar"/>
<antcall target="build-jaxrs-services"/>
</target>
<target name="build-soap12-services">
@@ -328,11 +217,5 @@
dir="test-resources/jaxrs/archiveTestModule"/>
<ant antfile="build.xml" inheritall="true" inheritrefs="true"
dir="test-resources/jaxrs/pojoTestModule"/>
- <mkdir dir="target/test-resources/jaxrs-repository/conf/"/>
- <copy file="test-resources/jaxrs/pojo-enabled-axis2.xml"
-
tofile="target/test-resources/jaxrs-repository/conf/axis2.xml"/>
- <mkdir dir="target/test-resources/jaxrs-repository/modules"/>
- <copy file="../addressing/target/addressing-SNAPSHOT.mar"
-
tofile="target/test-resources/jaxrs-repository/modules/addressing-SNAPSHOT.mar"/>
</target>
</project>
Modified: axis/axis2/java/core/trunk/modules/integration/pom.xml
URL:
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/integration/pom.xml?rev=988689&r1=988688&r2=988689&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/integration/pom.xml (original)
+++ axis/axis2/java/core/trunk/modules/integration/pom.xml Tue Aug 24 19:44:35
2010
@@ -137,6 +137,12 @@
<version>${project.version}</version>
</dependency>
<dependency>
+ <groupId>org.apache.axis2</groupId>
+ <artifactId>addressing</artifactId>
+ <version>${project.version}</version>
+ <type>mar</type>
+ </dependency>
+ <dependency>
<groupId>xmlunit</groupId>
<artifactId>xmlunit</artifactId>
<scope>test</scope>
@@ -333,6 +339,218 @@
</configuration>
</plugin>
<plugin>
+ <groupId>org.apache.axis2</groupId>
+ <artifactId>axis2-repo-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>default</id>
+ <phase>generate-test-sources</phase>
+ <goals>
+ <goal>create-test-repository</goal>
+ </goals>
+ <configuration>
+
<outputDirectory>target/test-classes</outputDirectory>
+ <modules>addressing</modules>
+ </configuration>
+ </execution>
+ <execution>
+ <id>samples</id>
+ <phase>generate-test-sources</phase>
+ <goals>
+ <goal>create-test-repository</goal>
+ </goals>
+ <configuration>
+
<outputDirectory>target/test-resources/samples</outputDirectory>
+ <axis2xml>conf/axis2.xml</axis2xml>
+ <modules>addressing</modules>
+ </configuration>
+ </execution>
+ <execution>
+ <id>repository-client</id>
+ <phase>generate-test-sources</phase>
+ <goals>
+ <goal>create-test-repository</goal>
+ </goals>
+ <configuration>
+
<outputDirectory>target/test-resources/repository-client</outputDirectory>
+ <axis2xml>conf/axis2.xml</axis2xml>
+ <modules>addressing</modules>
+ </configuration>
+ </execution>
+ <execution>
+ <id>local</id>
+ <phase>generate-test-sources</phase>
+ <goals>
+ <goal>create-test-repository</goal>
+ </goals>
+ <configuration>
+
<outputDirectory>target/test-resources/local</outputDirectory>
+ <modules>addressing</modules>
+ </configuration>
+ </execution>
+ <execution>
+ <id>chunking-enabled</id>
+ <phase>generate-test-sources</phase>
+ <goals>
+ <goal>create-test-repository</goal>
+ </goals>
+ <configuration>
+
<outputDirectory>target/test-resources/chunking-enabledRepository</outputDirectory>
+
<axis2xml>test/org/apache/axis2/engine/chunking-enabled-axis2.xml</axis2xml>
+ <includeModules>false</includeModules>
+ </configuration>
+ </execution>
+ <execution>
+ <id>chunking-disabled</id>
+ <phase>generate-test-sources</phase>
+ <goals>
+ <goal>create-test-repository</goal>
+ </goals>
+ <configuration>
+
<outputDirectory>target/test-resources/chunking-disabledRepository</outputDirectory>
+
<axis2xml>test/org/apache/axis2/engine/chunking-disabled-axis2.xml</axis2xml>
+ <includeModules>false</includeModules>
+ </configuration>
+ </execution>
+ <execution>
+ <id>integration</id>
+ <phase>generate-test-sources</phase>
+ <goals>
+ <goal>create-test-repository</goal>
+ </goals>
+ <configuration>
+
<outputDirectory>target/test-resources/integrationRepo</outputDirectory>
+ <axis2xml>conf/axis2.xml</axis2xml>
+ <modules>addressing</modules>
+ </configuration>
+ </execution>
+ <execution>
+ <id>commons-http-enabled</id>
+ <phase>generate-test-sources</phase>
+ <goals>
+ <goal>create-test-repository</goal>
+ </goals>
+ <configuration>
+
<outputDirectory>target/test-resources/commons-http-enabledRepository</outputDirectory>
+
<axis2xml>test/org/apache/axis2/engine/commons-http-enabled-axis2.xml</axis2xml>
+ <includeModules>false</includeModules>
+ </configuration>
+ </execution>
+ <execution>
+ <id>MTOM-enabled</id>
+ <phase>generate-test-sources</phase>
+ <goals>
+ <goal>create-test-repository</goal>
+ </goals>
+ <configuration>
+
<outputDirectory>target/test-resources/MTOM-enabledRepository</outputDirectory>
+
<axis2xml>test-resources/mtom/MTOM-enabled-axis2.xml</axis2xml>
+ <modules>addressing</modules>
+ </configuration>
+ </execution>
+ <execution>
+ <id>MTOM-fileCache-enabled</id>
+ <phase>generate-test-sources</phase>
+ <goals>
+ <goal>create-test-repository</goal>
+ </goals>
+ <configuration>
+
<outputDirectory>target/test-resources/MTOM-fileCache-enabledRepository</outputDirectory>
+
<axis2xml>test-resources/mtom/MTOM-fileCache-enabled-axis2.xml</axis2xml>
+ <modules>addressing</modules>
+ </configuration>
+ </execution>
+ <execution>
+ <id>SwA-enabled</id>
+ <phase>generate-test-sources</phase>
+ <goals>
+ <goal>create-test-repository</goal>
+ </goals>
+ <configuration>
+
<outputDirectory>target/test-resources/SwA-enabledRepository</outputDirectory>
+
<axis2xml>test-resources/swa/SwA-enabled-axis2.xml</axis2xml>
+ <modules>addressing</modules>
+ </configuration>
+ </execution>
+ <execution>
+ <id>SwA-fileCache-enabled</id>
+ <phase>generate-test-sources</phase>
+ <goals>
+ <goal>create-test-repository</goal>
+ </goals>
+ <configuration>
+
<outputDirectory>target/test-resources/SwA-fileCache-enabledRepository</outputDirectory>
+
<axis2xml>test-resources/swa/SwA-fileCache-enabled-axis2.xml</axis2xml>
+ <modules>addressing</modules>
+ </configuration>
+ </execution>
+ <execution>
+ <id>deployment_repo</id>
+ <phase>generate-test-sources</phase>
+ <goals>
+ <goal>create-test-repository</goal>
+ </goals>
+ <configuration>
+
<outputDirectory>target/test-resources/deployment_repo</outputDirectory>
+
<axis2xml>test-resources/deployment/deployment.both.axis2.xml</axis2xml>
+ <modules>addressing</modules>
+ </configuration>
+ </execution>
+ <execution>
+ <id>Standard</id>
+ <phase>generate-test-sources</phase>
+ <goals>
+ <goal>create-test-repository</goal>
+ </goals>
+ <configuration>
+
<outputDirectory>target/Repository</outputDirectory>
+ <axis2xml>conf/axis2.xml</axis2xml>
+ <modules>addressing</modules>
+ </configuration>
+ </execution>
+ <execution>
+ <id>perf2</id>
+ <phase>generate-test-sources</phase>
+ <goals>
+ <goal>create-test-repository</goal>
+ </goals>
+ <configuration>
+
<outputDirectory>target/perf2/build/repo</outputDirectory>
+ <axis2xml>conf/axis2.xml</axis2xml>
+ <modules>addressing</modules>
+ </configuration>
+ </execution>
+ <execution>
+ <id>perf</id>
+ <phase>generate-test-sources</phase>
+ <goals>
+ <goal>create-test-repository</goal>
+ </goals>
+ <configuration>
+
<outputDirectory>target/perf/build/repo/conf</outputDirectory>
+ <axis2xml>conf/axis2.xml</axis2xml>
+ <modules>addressing</modules>
+ </configuration>
+ </execution>
+ <execution>
+ <id>jaxrs</id>
+ <phase>generate-test-sources</phase>
+ <goals>
+ <goal>create-test-repository</goal>
+ </goals>
+ <configuration>
+
<outputDirectory>target/test-resources/jaxrs-repository</outputDirectory>
+
<axis2xml>test-resources/jaxrs/pojo-enabled-axis2.xml</axis2xml>
+ <modules>addressing</modules>
+ </configuration>
+ </execution>
+ </executions>
+ <configuration>
+ <configurationDirectory>conf</configurationDirectory>
+ <includeServices>false</includeServices>
+ </configuration>
+ </plugin>
+ <plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
Modified:
axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/AbstractCreateRepositoryMojo.java
URL:
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/AbstractCreateRepositoryMojo.java?rev=988689&r1=988688&r2=988689&view=diff
==============================================================================
---
axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/AbstractCreateRepositoryMojo.java
(original)
+++
axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/AbstractCreateRepositoryMojo.java
Tue Aug 24 19:44:35 2010
@@ -21,8 +21,11 @@ package org.apache.axis2.maven2.repo;
import java.io.File;
import java.io.IOException;
+import java.util.Arrays;
+import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -41,6 +44,7 @@ import org.apache.maven.shared.artifact.
import org.apache.maven.shared.artifact.filter.collection.ScopeFilter;
import org.apache.maven.shared.artifact.filter.collection.TypeFilter;
import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.StringUtils;
public abstract class AbstractCreateRepositoryMojo extends AbstractMojo {
/**
@@ -150,6 +154,34 @@ public abstract class AbstractCreateRepo
*/
private boolean stripModuleVersion;
+ /**
+ * Specifies whether modules should be deployed to the repository.
+ *
+ * @parameter default-value="true"
+ */
+ private boolean includeModules;
+
+ /**
+ * Comma separated list of modules (by artifactId) to include in the
repository.
+ *
+ * @parameter
+ */
+ private String modules;
+
+ /**
+ * Specifies whether services should be deployed to the repository.
+ *
+ * @parameter default-value="true"
+ */
+ private boolean includeServices;
+
+ /**
+ * Comma separated list of services (by artifactId) to include in the
repository.
+ *
+ * @parameter
+ */
+ private String services;
+
protected abstract String getScope();
protected abstract File getOutputDirectory();
@@ -165,26 +197,37 @@ public abstract class AbstractCreateRepo
artifacts.addAll(project.getAttachedArtifacts());
}
}
- FilterArtifacts filter = new FilterArtifacts();
- filter.addFilter(new ScopeFilter(getScope(), null));
- filter.addFilter(new TypeFilter("aar,mar", null));
- try {
- artifacts = filter.filter(artifacts);
- } catch (ArtifactFilterException ex) {
- throw new MojoExecutionException(ex.getMessage(), ex);
- }
- artifacts = replaceIncompleteArtifacts(artifacts);
File outputDirectory = getOutputDirectory();
- Map<String,ArchiveDeployer> deployers = new
HashMap<String,ArchiveDeployer>();
- deployers.put("aar", new ArchiveDeployer(outputDirectory,
servicesDirectory, "services.list", generateFileLists, stripServiceVersion));
- deployers.put("mar", new ArchiveDeployer(outputDirectory,
modulesDirectory, "modules.list", generateFileLists, stripModuleVersion));
- for (Artifact artifact : artifacts) {
- String type = artifact.getType();
- ArchiveDeployer deployer = deployers.get(type);
- if (deployer == null) {
- throw new MojoExecutionException("No deployer found for
artifact type " + type);
+ if (includeModules || includeServices) {
+ FilterArtifacts filter = new FilterArtifacts();
+ filter.addFilter(new ScopeFilter(getScope(), null));
+ if (includeModules && includeServices) {
+ filter.addFilter(new TypeFilter("aar,mar", null));
+ } else if (includeModules) {
+ filter.addFilter(new TypeFilter("mar", null));
+ }
+ try {
+ artifacts = filter.filter(artifacts);
+ } catch (ArtifactFilterException ex) {
+ throw new MojoExecutionException(ex.getMessage(), ex);
+ }
+ selectArtifacts(artifacts, modules, "mar");
+ selectArtifacts(artifacts, services, "aar");
+ artifacts = replaceIncompleteArtifacts(artifacts);
+ Map<String,ArchiveDeployer> deployers = new
HashMap<String,ArchiveDeployer>();
+ deployers.put("aar", new ArchiveDeployer(outputDirectory,
servicesDirectory, "services.list", generateFileLists, stripServiceVersion));
+ deployers.put("mar", new ArchiveDeployer(outputDirectory,
modulesDirectory, "modules.list", generateFileLists, stripModuleVersion));
+ for (Artifact artifact : artifacts) {
+ String type = artifact.getType();
+ ArchiveDeployer deployer = deployers.get(type);
+ if (deployer == null) {
+ throw new MojoExecutionException("No deployer found for
artifact type " + type);
+ }
+ deployer.deploy(getLog(), artifact);
+ }
+ for (ArchiveDeployer deployer : deployers.values()) {
+ deployer.finish(getLog());
}
- deployer.deploy(getLog(), artifact);
}
if (axis2xml != null) {
getLog().info("Copying axis2.xml");
@@ -196,8 +239,20 @@ public abstract class AbstractCreateRepo
throw new MojoExecutionException("Error copying axis2.xml
file: " + ex.getMessage(), ex);
}
}
- for (ArchiveDeployer deployer : deployers.values()) {
- deployer.finish(getLog());
+ }
+
+ private void selectArtifacts(Set<Artifact> artifacts, String list, String
type) throws MojoFailureException {
+ if (list != null) {
+ Set<String> set = new
HashSet<String>(Arrays.asList(StringUtils.split(list, ",")));
+ for (Iterator<Artifact> it = artifacts.iterator(); it.hasNext(); )
{
+ Artifact artifact = it.next();
+ if (artifact.getType().equals(type) &&
!set.remove(artifact.getArtifactId())) {
+ it.remove();
+ }
+ }
+ if (!set.isEmpty()) {
+ throw new MojoFailureException("The following " + type + "
artifacts have not been found: " + set);
+ }
}
}