You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2016/04/17 14:03:49 UTC
svn commit: r1739590 - in /axis/axis2/java/core/trunk: ./ modules/adb-tests/
modules/jaxws-integration/
modules/jaxws-integration/test/org/apache/axis2/jaxws/xmlhttp/provider/message/datasource/META-INF/
modules/jaxws-integration/test/org/apache/axis2/...
Author: veithen
Date: Sun Apr 17 12:03:49 2016
New Revision: 1739590
URL: http://svn.apache.org/viewvc?rev=1739590&view=rev
Log:
Simplify creation of JAX-WS service JARs for unit tests.
Added:
axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/JAXWSService.java (with props)
Removed:
axis/axis2/java/core/trunk/modules/jaxws-integration/test/org/apache/axis2/jaxws/xmlhttp/provider/message/datasource/META-INF/
axis/axis2/java/core/trunk/modules/jaxws-integration/test/org/apache/axis2/jaxws/xmlhttp/provider/message/source/META-INF/
axis/axis2/java/core/trunk/modules/jaxws-integration/test/org/apache/axis2/jaxws/xmlhttp/provider/message/string/META-INF/
axis/axis2/java/core/trunk/modules/jaxws-integration/test/org/apache/axis2/jaxws/xmlhttp/provider/payload/source/META-INF/
axis/axis2/java/core/trunk/modules/jaxws-integration/test/org/apache/axis2/jaxws/xmlhttp/provider/payload/string/META-INF/
Modified:
axis/axis2/java/core/trunk/modules/adb-tests/pom.xml
axis/axis2/java/core/trunk/modules/jaxws-integration/pom.xml
axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/pom.xml
axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/AbstractCreateRepositoryMojo.java
axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/CreateRepositoryMojo.java
axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/CreateTestRepositoryMojo.java
axis/axis2/java/core/trunk/pom.xml
Modified: axis/axis2/java/core/trunk/modules/adb-tests/pom.xml
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/adb-tests/pom.xml?rev=1739590&r1=1739589&r2=1739590&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/adb-tests/pom.xml (original)
+++ axis/axis2/java/core/trunk/modules/adb-tests/pom.xml Sun Apr 17 12:03:49 2016
@@ -194,7 +194,6 @@
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
- <version>2.4.1</version>
<executions>
<execution>
<id>wsimport-mtom</id>
Modified: axis/axis2/java/core/trunk/modules/jaxws-integration/pom.xml
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/jaxws-integration/pom.xml?rev=1739590&r1=1739589&r2=1739590&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/jaxws-integration/pom.xml (original)
+++ axis/axis2/java/core/trunk/modules/jaxws-integration/pom.xml Sun Apr 17 12:03:49 2016
@@ -207,7 +207,6 @@
<executions>
<execution>
<id>build-repo</id>
- <phase>generate-test-resources</phase>
<goals>
<goal>create-test-repository</goal>
</goals>
@@ -215,6 +214,38 @@
<outputDirectory>${project.build.directory}/repo</outputDirectory>
<modules>addressing</modules>
<axis2xml>test-resources/axis2.xml</axis2xml>
+ <jaxwsServices>
+ <jaxwsService>
+ <name>XPayloadStringProvider</name>
+ <packages>
+ <package>org.apache.axis2.jaxws.xmlhttp.provider.payload.string</package>
+ </packages>
+ </jaxwsService>
+ <jaxwsService>
+ <name>XMessageStringProvider</name>
+ <packages>
+ <package>org.apache.axis2.jaxws.xmlhttp.provider.message.string</package>
+ </packages>
+ </jaxwsService>
+ <jaxwsService>
+ <name>XPayloadSourceProvider</name>
+ <packages>
+ <package>org.apache.axis2.jaxws.xmlhttp.provider.payload.source</package>
+ </packages>
+ </jaxwsService>
+ <jaxwsService>
+ <name>XMessageSourceProvider</name>
+ <packages>
+ <package>org.apache.axis2.jaxws.xmlhttp.provider.message.source</package>
+ </packages>
+ </jaxwsService>
+ <jaxwsService>
+ <name>XMessageDataSourceProvider</name>
+ <packages>
+ <package>org.apache.axis2.jaxws.xmlhttp.provider.message.datasource</package>
+ </packages>
+ </jaxwsService>
+ </jaxwsServices>
</configuration>
</execution>
<execution>
@@ -985,69 +1016,6 @@
<delete dir="${servicejars.dir}/gorilla_dlw" />
<!-- ================================================================ -->
- <!-- XML HTTP Tests -->
- <!-- ================================================================ -->
- <copy toDir="${servicejars.dir}/XPayloadStringProvider/">
- <fileset dir="target/test-classes">
- <include name="org/apache/axis2/jaxws/xmlhttp/provider/payload/string/*.class" />
- </fileset>
- <fileset dir="test/org/apache/axis2/jaxws/xmlhttp/provider/payload/string">
- <include name="META-INF/**" />
- </fileset>
- </copy>
-
- <jar destfile="${servicejars.dir}/XPayloadStringProvider.jar" basedir="${servicejars.dir}/XPayloadStringProvider" />
- <delete dir="${servicejars.dir}/XPayloadStringProvider" />
-
- <copy toDir="${servicejars.dir}/XMessageStringProvider/">
- <fileset dir="target/test-classes">
- <include name="org/apache/axis2/jaxws/xmlhttp/provider/message/string/*.class" />
- </fileset>
- <fileset dir="test/org/apache/axis2/jaxws/xmlhttp/provider/message/string">
- <include name="META-INF/**" />
- </fileset>
- </copy>
-
- <jar destfile="${servicejars.dir}/XMessageStringProvider.jar" basedir="${servicejars.dir}/XMessageStringProvider" />
- <delete dir="${servicejars.dir}/XMessageStringProvider" />
-
- <copy toDir="${servicejars.dir}/XPayloadSourceProvider/">
- <fileset dir="target/test-classes">
- <include name="org/apache/axis2/jaxws/xmlhttp/provider/payload/source/*.class" />
- </fileset>
- <fileset dir="test/org/apache/axis2/jaxws/xmlhttp/provider/payload/source">
- <include name="META-INF/**" />
- </fileset>
- </copy>
-
- <jar destfile="${servicejars.dir}/XPayloadSourceProvider.jar" basedir="${servicejars.dir}/XPayloadSourceProvider" />
- <delete dir="${servicejars.dir}/XPayloadSourceProvider" />
-
- <copy toDir="${servicejars.dir}/XMessageSourceProvider/">
- <fileset dir="target/test-classes">
- <include name="org/apache/axis2/jaxws/xmlhttp/provider/message/source/*.class" />
- </fileset>
- <fileset dir="test/org/apache/axis2/jaxws/xmlhttp/provider/message/source">
- <include name="META-INF/**" />
- </fileset>
- </copy>
-
- <jar destfile="${servicejars.dir}/XMessageSourceProvider.jar" basedir="${servicejars.dir}/XMessageSourceProvider" />
- <delete dir="${servicejars.dir}/XMessageSourceProvider" />
-
- <copy toDir="${servicejars.dir}/XMessageDataSourceProvider/">
- <fileset dir="target/test-classes">
- <include name="org/apache/axis2/jaxws/xmlhttp/provider/message/datasource/*.class" />
- </fileset>
- <fileset dir="test/org/apache/axis2/jaxws/xmlhttp/provider/message/datasource">
- <include name="META-INF/**" />
- </fileset>
- </copy>
-
- <jar destfile="${servicejars.dir}/XMessageDataSourceProvider.jar" basedir="${servicejars.dir}/XMessageDataSourceProvider" />
- <delete dir="${servicejars.dir}/XMessageDataSourceProvider" />
-
- <!-- ================================================================ -->
<!-- Java Bean Endpoint Samples -->
<!-- ================================================================ -->
<copy toDir="${servicejars.dir}/AddressBookService/">
Modified: axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/pom.xml
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/pom.xml?rev=1739590&r1=1739589&r2=1739590&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/pom.xml (original)
+++ axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/pom.xml Sun Apr 17 12:03:49 2016
@@ -42,6 +42,10 @@
<artifactId>maven-project</artifactId>
</dependency>
<dependency>
+ <groupId>org.apache.maven</groupId>
+ <artifactId>maven-archiver</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.apache.maven.shared</groupId>
<artifactId>maven-common-artifact-filters</artifactId>
<version>1.2</version>
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=1739590&r1=1739589&r2=1739590&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 Sun Apr 17 12:03:49 2016
@@ -39,6 +39,8 @@ import org.apache.maven.shared.artifact.
import org.apache.maven.shared.artifact.filter.collection.FilterArtifacts;
import org.apache.maven.shared.artifact.filter.collection.ScopeFilter;
import org.apache.maven.shared.artifact.filter.collection.TypeFilter;
+import org.codehaus.plexus.archiver.ArchiverException;
+import org.codehaus.plexus.archiver.jar.JarArchiver;
import org.codehaus.plexus.util.DirectoryScanner;
import org.codehaus.plexus.util.FileUtils;
import org.codehaus.plexus.util.StringUtils;
@@ -75,6 +77,13 @@ public abstract class AbstractCreateRepo
private String modulesDirectory;
/**
+ * The directory (relative to the repository root) where JAX-WS service JARs will be deployed.
+ *
+ * @parameter default-value="servicejars"
+ */
+ private String jaxwsServicesDirectory;
+
+ /**
* The <tt>axis2.xml</tt> file to be copied into the repository.
*
* @parameter
@@ -155,11 +164,21 @@ public abstract class AbstractCreateRepo
*/
private String services;
+ /**
+ * A list of JAX-WS service JARs to be generated (by packaging class files from the current
+ * project).
+ *
+ * @parameter
+ */
+ private JAXWSService[] jaxwsServices;
+
protected abstract String getScope();
protected abstract File getInputDirectory();
protected abstract File getOutputDirectory();
+
+ protected abstract File[] getClassDirectories();
public void execute() throws MojoExecutionException, MojoFailureException {
Log log = getLog();
@@ -226,6 +245,29 @@ public abstract class AbstractCreateRepo
deployer.finish(log);
}
}
+ if (jaxwsServices != null) {
+ File targetDirectory = new File(outputDirectory, jaxwsServicesDirectory);
+ for (JAXWSService service : jaxwsServices) {
+ String jarName = service.getName() + ".jar";
+ try {
+ JarArchiver archiver = new JarArchiver();
+ archiver.setDestFile(new File(targetDirectory, jarName));
+ String[] packages = service.getPackages();
+ String[] includes = new String[packages.length];
+ for (int i=0; i<packages.length; i++) {
+ includes[i] = packages[i].replace('.', '/') + "/**/*.class";
+ }
+ for (File classDirectory : getClassDirectories()) {
+ archiver.addDirectory(classDirectory, includes, new String[0]);
+ }
+ archiver.createArchive();
+ } catch (ArchiverException ex) {
+ throw new MojoExecutionException("Failed to build " + jarName, ex);
+ } catch (IOException ex) {
+ throw new MojoExecutionException("Failed to build " + jarName, ex);
+ }
+ }
+ }
if (axis2xml != null) {
log.info("Copying axis2.xml");
File targetDirectory = configurationDirectory == null
Modified: axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/CreateRepositoryMojo.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/CreateRepositoryMojo.java?rev=1739590&r1=1739589&r2=1739590&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/CreateRepositoryMojo.java (original)
+++ axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/CreateRepositoryMojo.java Sun Apr 17 12:03:49 2016
@@ -46,6 +46,12 @@ public class CreateRepositoryMojo extend
*/
private File outputDirectory;
+ /**
+ * @parameter expression="${project.build.outputDirectory}"
+ * @readonly
+ */
+ private File buildOutputDirectory;
+
@Override
protected String getScope() {
return Artifact.SCOPE_RUNTIME;
@@ -60,4 +66,9 @@ public class CreateRepositoryMojo extend
protected File getOutputDirectory() {
return outputDirectory;
}
+
+ @Override
+ protected File[] getClassDirectories() {
+ return new File[] { buildOutputDirectory };
+ }
}
Modified: axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/CreateTestRepositoryMojo.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/CreateTestRepositoryMojo.java?rev=1739590&r1=1739589&r2=1739590&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/CreateTestRepositoryMojo.java (original)
+++ axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/CreateTestRepositoryMojo.java Sun Apr 17 12:03:49 2016
@@ -31,7 +31,7 @@ import org.apache.maven.plugin.MojoFailu
* is skipped if the <code>maven.test.skip</code> property is set to <code>true</code>.
*
* @goal create-test-repository
- * @phase generate-test-resources
+ * @phase process-test-classes
* @requiresDependencyResolution test
*/
public class CreateTestRepositoryMojo extends AbstractCreateRepositoryMojo {
@@ -55,6 +55,18 @@ public class CreateTestRepositoryMojo ex
*/
private boolean skip;
+ /**
+ * @parameter expression="${project.build.outputDirectory}"
+ * @readonly
+ */
+ private File buildOutputDirectory;
+
+ /**
+ * @parameter expression="${project.build.testOutputDirectory}"
+ * @readonly
+ */
+ private File buildTestOutputDirectory;
+
@Override
protected String getScope() {
return Artifact.SCOPE_TEST;
@@ -71,6 +83,11 @@ public class CreateTestRepositoryMojo ex
}
@Override
+ protected File[] getClassDirectories() {
+ return new File[] { buildOutputDirectory, buildTestOutputDirectory };
+ }
+
+ @Override
public void execute() throws MojoExecutionException, MojoFailureException {
if (skip) {
getLog().info("Tests are skipped");
Added: axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/JAXWSService.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/JAXWSService.java?rev=1739590&view=auto
==============================================================================
--- axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/JAXWSService.java (added)
+++ axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/JAXWSService.java Sun Apr 17 12:03:49 2016
@@ -0,0 +1,40 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axis2.maven2.repo;
+
+public final class JAXWSService {
+ private String name;
+ private String[] packages;
+
+ public String getName() {
+ return name;
+
+ }
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String[] getPackages() {
+ return packages;
+ }
+
+ public void setPackages(String[] packages) {
+ this.packages = packages;
+ }
+}
Propchange: axis/axis2/java/core/trunk/modules/tool/axis2-repo-maven-plugin/src/main/java/org/apache/axis2/maven2/repo/JAXWSService.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: axis/axis2/java/core/trunk/pom.xml
URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/pom.xml?rev=1739590&r1=1739589&r2=1739590&view=diff
==============================================================================
--- axis/axis2/java/core/trunk/pom.xml (original)
+++ axis/axis2/java/core/trunk/pom.xml Sun Apr 17 12:03:49 2016
@@ -1213,6 +1213,11 @@
<artifactId>jaxb2-maven-plugin</artifactId>
<version>2.2</version>
</plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>jaxws-maven-plugin</artifactId>
+ <version>2.4.1</version>
+ </plugin>
<!-- Use 1.5.2 versions of the aar and mar plugins in order to avoid
the chicken and egg problem. -->