You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2011/03/10 19:20:14 UTC

svn commit: r1080305 - in /cxf/trunk: maven-plugins/codegen-plugin/ maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/ maven-plugins/java2ws-plugin/src/main/java/org/apache/cxf/maven_plugin/ parent/ rt/databinding/sdo/ rt/databindi...

Author: dkulp
Date: Thu Mar 10 18:20:12 2011
New Revision: 1080305

URL: http://svn.apache.org/viewvc?rev=1080305&view=rev
Log:
[CXF-3393] Add a fork mode to the codegen plugin.

Added:
    cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/ForkOnceWSDL2Java.java   (with props)
Modified:
    cxf/trunk/maven-plugins/codegen-plugin/pom.xml
    cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/ClassLoaderSwitcher.java
    cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/WSDL2JavaMojo.java
    cxf/trunk/maven-plugins/java2ws-plugin/src/main/java/org/apache/cxf/maven_plugin/ClassLoaderSwitcher.java
    cxf/trunk/parent/pom.xml
    cxf/trunk/rt/databinding/sdo/pom.xml
    cxf/trunk/rt/databinding/xmlbeans/pom.xml
    cxf/trunk/rt/javascript/pom.xml
    cxf/trunk/rt/ws/policy/pom.xml
    cxf/trunk/systests/databinding/pom.xml
    cxf/trunk/systests/jaxws/pom.xml
    cxf/trunk/systests/transports/pom.xml
    cxf/trunk/systests/uncategorized/pom.xml
    cxf/trunk/systests/ws-specs/pom.xml
    cxf/trunk/systests/wsdl_maven/codegen/pom.xml
    cxf/trunk/testutils/pom.xml
    cxf/trunk/tools/javato/ws/pom.xml

Modified: cxf/trunk/maven-plugins/codegen-plugin/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/maven-plugins/codegen-plugin/pom.xml?rev=1080305&r1=1080304&r2=1080305&view=diff
==============================================================================
--- cxf/trunk/maven-plugins/codegen-plugin/pom.xml (original)
+++ cxf/trunk/maven-plugins/codegen-plugin/pom.xml Thu Mar 10 18:20:12 2011
@@ -68,7 +68,7 @@
         <dependency>
             <groupId>org.codehaus.plexus</groupId>
             <artifactId>plexus-utils</artifactId>
-            <version>1.1</version>
+            <version>2.0.5</version>
         </dependency>
 
         <dependency>

Modified: cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/ClassLoaderSwitcher.java
URL: http://svn.apache.org/viewvc/cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/ClassLoaderSwitcher.java?rev=1080305&r1=1080304&r2=1080305&view=diff
==============================================================================
--- cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/ClassLoaderSwitcher.java (original)
+++ cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/ClassLoaderSwitcher.java Thu Mar 10 18:20:12 2011
@@ -55,10 +55,13 @@ public class ClassLoaderSwitcher {
      * @param useCompileClasspath
      * @param classesDir
      */
-    public void switchClassLoader(MavenProject project, boolean useCompileClasspath, File classesDir) {
+    public String switchClassLoader(MavenProject project,
+                                     boolean useCompileClasspath,
+                                     File classesDir) {
         List<URL> urlList = new ArrayList<URL>();
         StringBuilder buf = new StringBuilder();
 
+        
         try {
             urlList.add(classesDir.toURI().toURL());
             if (!useCompileClasspath) {
@@ -102,6 +105,7 @@ public class ClassLoaderSwitcher {
 
         Thread.currentThread().setContextClassLoader(loader);
         System.setProperty("java.class.path", newCp);
+        return newCp;
     }
 
     /**

Added: cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/ForkOnceWSDL2Java.java
URL: http://svn.apache.org/viewvc/cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/ForkOnceWSDL2Java.java?rev=1080305&view=auto
==============================================================================
--- cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/ForkOnceWSDL2Java.java (added)
+++ cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/ForkOnceWSDL2Java.java Thu Mar 10 18:20:12 2011
@@ -0,0 +1,55 @@
+/**
+ * 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.cxf.maven_plugin;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+
+import org.apache.cxf.tools.common.ToolContext;
+import org.apache.cxf.tools.wsdlto.WSDLToJava;
+
+/**
+ * 
+ */
+public final class ForkOnceWSDL2Java {
+    private ForkOnceWSDL2Java() {
+        //utility
+    }
+    public static void main(String args[]) throws Exception {
+        File file = new File(args[0]);
+        BufferedReader reader = new BufferedReader(new FileReader(file));
+        String line = reader.readLine();
+        while (line != null) {
+            int i = Integer.parseInt(line);
+            if (i == -1) {
+                return;
+            }
+            String wargs[] = new String[i];
+            for (int x = 0; x < i; x++) {
+                wargs[x] = reader.readLine();
+            }
+            
+            new WSDLToJava(wargs).run(new ToolContext());
+            
+            line = reader.readLine();
+        }
+    }
+}

Propchange: cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/ForkOnceWSDL2Java.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/ForkOnceWSDL2Java.java
------------------------------------------------------------------------------
    svn:keywords = Rev Date

Modified: cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/WSDL2JavaMojo.java
URL: http://svn.apache.org/viewvc/cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/WSDL2JavaMojo.java?rev=1080305&r1=1080304&r2=1080305&view=diff
==============================================================================
--- cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/WSDL2JavaMojo.java (original)
+++ cxf/trunk/maven-plugins/codegen-plugin/src/main/java/org/apache/cxf/maven_plugin/WSDL2JavaMojo.java Thu Mar 10 18:20:12 2011
@@ -20,14 +20,20 @@
 package org.apache.cxf.maven_plugin;
 
 import java.io.File;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.PrintWriter;
 import java.net.URI;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.LinkedList;
 import java.util.List;
 import java.util.Set;
 
+import org.apache.commons.lang.SystemUtils;
 import org.apache.cxf.Bus;
 import org.apache.cxf.BusFactory;
+import org.apache.cxf.helpers.FileUtils;
 import org.apache.cxf.tools.common.ToolContext;
 import org.apache.cxf.tools.wsdlto.WSDLToJava;
 import org.apache.maven.artifact.Artifact;
@@ -43,6 +49,10 @@ import org.apache.maven.plugin.AbstractM
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.ProjectUtils;
+import org.codehaus.plexus.util.StringUtils;
+import org.codehaus.plexus.util.cli.CommandLineException;
+import org.codehaus.plexus.util.cli.CommandLineUtils;
+import org.codehaus.plexus.util.cli.Commandline;
 
 /**
  * @goal wsdl2java
@@ -201,9 +211,41 @@ public class WSDL2JavaMojo extends Abstr
      */
     private ArtifactResolver artifactResolver;
 
+    /**
+     * The plugin dependencies, needed for the fork mode.
+     *
+     * @parameter expression="${plugin.artifacts}"
+     * @required
+     * @readonly
+     */
+    private List<Artifact> pluginArtifacts;
+    /**
+     * Allows running the JavaToWs in a separate process.
+     * Valid values are "false", "always", and "once"
+     * The value of "true" is equal to "once"
+     *
+     * @parameter default-value="false"
+     * @since 2.4
+     */
+    private String fork;
 
+    /**
+     * Sets the Java executable to use when fork parameter is <code>true</code>.
+     *
+     * @parameter default-value="${java.home}/bin/java"
+     * @since 2.4
+     */
+    private String javaExecutable;
 
     /**
+     * Sets the JVM arguments (i.e. <code>-Xms128m -Xmx128m</code>) if fork is set to <code>true</code>.
+     *
+     * @parameter
+     * @since 2.4
+     */
+    private String additionalJvmArgs;
+    
+    /**
      * Merge WsdlOptions that point to the same file by adding the extraargs to the first option and deleting
      * the second from the options list
      * 
@@ -356,15 +398,19 @@ public class WSDL2JavaMojo extends Abstr
 
         Bus bus = null;
         try {
-            classLoaderSwitcher.switchClassLoader(project, useCompileClasspath, classesDir);
-
-            for (WsdlOption o : effectiveWsdlOptions) {
-                bus = callWsdl2Java(o, bus);
+            String cp = classLoaderSwitcher.switchClassLoader(project, useCompileClasspath, classesDir);
 
-                File dirs[] = o.getDeleteDirs();
-                if (dirs != null) {
-                    for (int idx = 0; idx < dirs.length; ++idx) {
-                        result = result && deleteDir(dirs[idx]);
+            if ("once".equals(fork) || "true".equals(fork)) {
+                forkOnce(cp, effectiveWsdlOptions);
+            } else {
+                for (WsdlOption o : effectiveWsdlOptions) {
+                    bus = callWsdl2Java(o, bus, cp);
+    
+                    File dirs[] = o.getDeleteDirs();
+                    if (dirs != null) {
+                        for (int idx = 0; idx < dirs.length; ++idx) {
+                            result = result && deleteDir(dirs[idx]);
+                        }
                     }
                 }
             }
@@ -385,7 +431,87 @@ public class WSDL2JavaMojo extends Abstr
         System.gc();
     }
 
-    private Bus callWsdl2Java(WsdlOption wsdlOption, Bus bus) throws MojoExecutionException {
+    private void forkOnce(String classPath, List<WsdlOption> effectiveWsdlOptions) 
+        throws MojoExecutionException {
+        List<WsdlOption> toDo = new LinkedList<WsdlOption>();
+        List<List<String>> wargs = new LinkedList<List<String>>();
+        for (WsdlOption wsdlOption : effectiveWsdlOptions) {
+            File outputDirFile = wsdlOption.getOutputDir();
+            outputDirFile.mkdirs();
+            URI basedir = project.getBasedir().toURI();
+            URI wsdlURI = wsdlOption.getWsdlURI(basedir);
+            File doneFile = getDoneFile(basedir, wsdlURI);
+
+            if (!shouldRun(wsdlOption, doneFile, wsdlURI)) {
+                continue;
+            }
+            doneFile.delete();
+            
+            toDo.add(wsdlOption);
+            
+            wargs.add(wsdlOption.generateCommandLine(outputDirFile, basedir, wsdlURI, getLog()
+                                                               .isDebugEnabled()));
+        }
+        if (wargs.isEmpty()) {
+            return;
+        }
+        
+        List<String> artifactsPath = new ArrayList<String>(pluginArtifacts.size());
+        for (Artifact a : pluginArtifacts) {
+            File file = a.getFile();
+            if (file == null) {
+                throw new MojoExecutionException("Unable to find " + file + " for artifact "
+                                                 + a.getGroupId() + ":" + a.getArtifactId()
+                                                 + ":" + a.getVersion());
+            }
+            artifactsPath.add(file.getPath());
+        }
+        classPath = StringUtils.join(artifactsPath.iterator(), File.pathSeparator) 
+            + File.pathSeparator + classPath;
+        
+        String args[] = createForkOnceArgs(wargs);
+        runForked(classPath, ForkOnceWSDL2Java.class, args);
+        
+        for (WsdlOption wsdlOption : toDo) {
+            File dirs[] = wsdlOption.getDeleteDirs();
+            if (dirs != null) {
+                for (int idx = 0; idx < dirs.length; ++idx) {
+                    deleteDir(dirs[idx]);
+                }
+            }
+            URI basedir = project.getBasedir().toURI();
+            URI wsdlURI = wsdlOption.getWsdlURI(basedir);
+            File doneFile = getDoneFile(basedir, wsdlURI);
+            try {
+                doneFile.createNewFile();
+            } catch (Throwable e) {
+                getLog().warn("Could not create marker file " + doneFile.getAbsolutePath());
+                getLog().debug(e);
+            }
+        }
+    }
+
+    private String[] createForkOnceArgs(List<List<String>> wargs) throws MojoExecutionException {
+        try {
+            File f = FileUtils.createTempFile("cxf-w2j", "args");
+            PrintWriter fw = new PrintWriter(new FileWriter(f));
+            for (List<String> args : wargs) {
+                fw.println(Integer.toString(args.size()));
+                for (String s : args) {
+                    fw.println(s);
+                }
+            }
+            fw.println("-1");
+            fw.close();
+            return new String[] {f.getAbsolutePath()};
+        } catch (IOException ex) {
+            throw new MojoExecutionException("Could not create argument file", ex);
+        }
+    }
+
+    private Bus callWsdl2Java(WsdlOption wsdlOption, 
+                              Bus bus,
+                              String classPath) throws MojoExecutionException {
         File outputDirFile = wsdlOption.getOutputDir();
         outputDirFile.mkdirs();
         URI basedir = project.getBasedir().toURI();
@@ -395,23 +521,43 @@ public class WSDL2JavaMojo extends Abstr
         if (!shouldRun(wsdlOption, doneFile, wsdlURI)) {
             return bus;
         }
-
-        if (bus == null) {
-            bus = BusFactory.newInstance().createBus();
-            BusFactory.setThreadDefaultBus(bus);
-        }
-
         doneFile.delete();
+
         List<String> list = wsdlOption.generateCommandLine(outputDirFile, basedir, wsdlURI, getLog()
-            .isDebugEnabled());
+                                                           .isDebugEnabled());
         String[] args = (String[])list.toArray(new String[list.size()]);
         getLog().debug("Calling wsdl2java with args: " + Arrays.toString(args));
-        try {
-            new WSDLToJava(args).run(new ToolContext());
-        } catch (Throwable e) {
-            getLog().debug(e);
-            throw new MojoExecutionException(e.getMessage(), e);
+        
+        if (!"false".equals(fork)) {
+            List<String> artifactsPath = new ArrayList<String>(pluginArtifacts.size());
+            for (Artifact a : pluginArtifacts) {
+                File file = a.getFile();
+                if (file == null) {
+                    throw new MojoExecutionException("Unable to find " + file + " for artifact "
+                                                     + a.getGroupId() + ":" + a.getArtifactId()
+                                                     + ":" + a.getVersion());
+                }
+                artifactsPath.add(file.getPath());
+            }
+            classPath = StringUtils.join(artifactsPath.iterator(), File.pathSeparator) 
+                + File.pathSeparator + classPath;
+            
+            runForked(classPath, WSDLToJava.class, args);
+
+        } else {
+            if (bus == null) {
+                bus = BusFactory.newInstance().createBus();
+                BusFactory.setThreadDefaultBus(bus);
+            }
+            try {
+                new WSDLToJava(args).run(new ToolContext());
+            } catch (Throwable e) {
+                getLog().debug(e);
+                throw new MojoExecutionException(e.getMessage(), e);
+            }  
         }
+        
+
         try {
             doneFile.createNewFile();
         } catch (Throwable e) {
@@ -420,6 +566,76 @@ public class WSDL2JavaMojo extends Abstr
         }
         return bus;
     }
+    private File getJavaExecutable() throws IOException {
+        String exe = (SystemUtils.IS_OS_WINDOWS && !javaExecutable.endsWith(".exe")) ? ".exe" : "";
+        File javaExe = new File(javaExecutable + exe);
+
+        if (!javaExe.isFile()) {
+            throw new IOException("The java executable '" + javaExe
+                + "' doesn't exist or is not a file. Verify the <javaExecutable/> parameter.");
+        }
+
+        return javaExe;
+    }
+
+    private void runForked(String classPath, Class cls, String[] args) throws MojoExecutionException {
+        getLog().info("Running wsdl2java in fork mode...");
+
+        Commandline cmd = new Commandline();
+        cmd.getShell().setQuotedArgumentsEnabled(false); // for JVM args
+        cmd.setWorkingDirectory(project.getBuild().getDirectory());
+        try {
+            cmd.setExecutable(getJavaExecutable().getAbsolutePath());
+        } catch (IOException e) {
+            getLog().debug(e);
+            throw new MojoExecutionException(e.getMessage(), e);
+        }
+        cmd.createArg().setValue("-cp");
+        cmd.createArg().setValue(classPath);
+        cmd.createArg().setLine(additionalJvmArgs);
+        cmd.createArg().setValue(cls.getName());
+        cmd.addArguments(args);
+
+        CommandLineUtils.StringStreamConsumer err = new CommandLineUtils.StringStreamConsumer();
+        CommandLineUtils.StringStreamConsumer out = new CommandLineUtils.StringStreamConsumer();
+
+        int exitCode;
+        try {
+            exitCode = CommandLineUtils.executeCommandLine(cmd, out, err);
+        } catch (CommandLineException e) {
+            getLog().debug(e);
+            throw new MojoExecutionException(e.getMessage(), e);
+        }
+
+        String output = StringUtils.isEmpty(out.getOutput()) ? null : '\n' + out.getOutput().trim();
+
+        String cmdLine = CommandLineUtils.toString(cmd.getCommandline());
+
+        if (exitCode != 0) {
+            if (StringUtils.isNotEmpty(output)) {
+                getLog().info(output);
+            }
+
+            StringBuffer msg = new StringBuffer("\nExit code: ");
+            msg.append(exitCode);
+            if (StringUtils.isNotEmpty(err.getOutput())) {
+                msg.append(" - ").append(err.getOutput());
+            }
+            msg.append('\n');
+            msg.append("Command line was: ").append(cmdLine).append('\n').append('\n');
+
+            throw new MojoExecutionException(msg.toString());
+        }
+
+        if (StringUtils.isNotEmpty(err.getOutput()) && err.getOutput().contains("WSDL2Java Error")) {
+            StringBuffer msg = new StringBuffer();
+            msg.append(err.getOutput());
+            msg.append('\n');
+            msg.append("Command line was: ").append(cmdLine).append('\n').append('\n');
+            throw new MojoExecutionException(msg.toString());
+        }
+
+    }
 
     private File getDoneFile(URI basedir, URI wsdlURI) {
         String doneFileName = wsdlURI.toString();

Modified: cxf/trunk/maven-plugins/java2ws-plugin/src/main/java/org/apache/cxf/maven_plugin/ClassLoaderSwitcher.java
URL: http://svn.apache.org/viewvc/cxf/trunk/maven-plugins/java2ws-plugin/src/main/java/org/apache/cxf/maven_plugin/ClassLoaderSwitcher.java?rev=1080305&r1=1080304&r2=1080305&view=diff
==============================================================================
--- cxf/trunk/maven-plugins/java2ws-plugin/src/main/java/org/apache/cxf/maven_plugin/ClassLoaderSwitcher.java (original)
+++ cxf/trunk/maven-plugins/java2ws-plugin/src/main/java/org/apache/cxf/maven_plugin/ClassLoaderSwitcher.java Thu Mar 10 18:20:12 2011
@@ -121,5 +121,6 @@ public class ClassLoaderSwitcher {
             }
         }
         System.getProperties().putAll(origProps);
+        origContextClassloader = null; // don't hold a reference.
     }
 }

Modified: cxf/trunk/parent/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/parent/pom.xml?rev=1080305&r1=1080304&r2=1080305&view=diff
==============================================================================
--- cxf/trunk/parent/pom.xml (original)
+++ cxf/trunk/parent/pom.xml Thu Mar 10 18:20:12 2011
@@ -41,6 +41,7 @@
         <cxf.server.launcher.vmargs>-ea</cxf.server.launcher.vmargs>
         <cxf.compile.flags>-Xlint:unchecked,deprecation,fallthrough,finally</cxf.compile.flags>
         <cxf.compile.show.deprecation>true</cxf.compile.show.deprecation>
+        <cxf.codegenplugin.forkmode>once</cxf.codegenplugin.forkmode>
 
         <cxf.eclipse.outputDirectory>${basedir}/target/classes</cxf.eclipse.outputDirectory>
         <cxf.saaj.impl.groupId>com.sun.xml.messaging.saaj</cxf.saaj.impl.groupId>

Modified: cxf/trunk/rt/databinding/sdo/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/sdo/pom.xml?rev=1080305&r1=1080304&r2=1080305&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/sdo/pom.xml (original)
+++ cxf/trunk/rt/databinding/sdo/pom.xml Thu Mar 10 18:20:12 2011
@@ -154,6 +154,7 @@
                          <id>generate-test-sources-static</id>
                          <phase>generate-test-sources</phase>
                          <configuration>
+                             <fork>${cxf.codegenplugin.forkmode}</fork>
                              <testSourceRoot>${basedir}/target/generated/src/test/java</testSourceRoot>
                              <testWsdlRoot>${basedir}/src/test/resources/wsdl_sdo</testWsdlRoot>
                              <wsdlOptions>

Modified: cxf/trunk/rt/databinding/xmlbeans/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/databinding/xmlbeans/pom.xml?rev=1080305&r1=1080304&r2=1080305&view=diff
==============================================================================
--- cxf/trunk/rt/databinding/xmlbeans/pom.xml (original)
+++ cxf/trunk/rt/databinding/xmlbeans/pom.xml Thu Mar 10 18:20:12 2011
@@ -146,6 +146,7 @@
                         <id>generate-test-sources</id>
                         <phase>generate-test-sources</phase>
                         <configuration>
+                            <fork>${cxf.codegenplugin.forkmode}</fork>
                             <testSourceRoot>target/generated/src/test/java</testSourceRoot>
                             <testWsdlRoot>src/test/resources/wsdl</testWsdlRoot>
                             <wsdlOptions>

Modified: cxf/trunk/rt/javascript/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/javascript/pom.xml?rev=1080305&r1=1080304&r2=1080305&view=diff
==============================================================================
--- cxf/trunk/rt/javascript/pom.xml (original)
+++ cxf/trunk/rt/javascript/pom.xml Thu Mar 10 18:20:12 2011
@@ -116,6 +116,7 @@
                         <id>generate-test-sources</id>
                         <phase>generate-test-sources</phase>
                         <configuration>
+                            <fork>${cxf.codegenplugin.forkmode}</fork>
                             <testSourceRoot>${basedir}/target/generated/src/test/java</testSourceRoot>
                             <testWsdlRoot>${basedir}/src/test/resources/wsdl_javascript</testWsdlRoot>
                         </configuration>

Modified: cxf/trunk/rt/ws/policy/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/policy/pom.xml?rev=1080305&r1=1080304&r2=1080305&view=diff
==============================================================================
--- cxf/trunk/rt/ws/policy/pom.xml (original)
+++ cxf/trunk/rt/ws/policy/pom.xml Thu Mar 10 18:20:12 2011
@@ -154,6 +154,7 @@
                         <id>generate-test-sources</id>
                         <phase>generate-test-sources</phase>
                         <configuration>
+                            <fork>${cxf.codegenplugin.forkmode}</fork>
                             <testSourceRoot>${basedir}/target/generated/src/test/java</testSourceRoot>
                             <wsdlOptions>
                                 <wsdlOption>

Modified: cxf/trunk/systests/databinding/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/databinding/pom.xml?rev=1080305&r1=1080304&r2=1080305&view=diff
==============================================================================
--- cxf/trunk/systests/databinding/pom.xml (original)
+++ cxf/trunk/systests/databinding/pom.xml Thu Mar 10 18:20:12 2011
@@ -95,6 +95,7 @@
                         <id>generate-test-sources</id>
                         <phase>generate-test-sources</phase>
                         <configuration>
+                            <fork>${cxf.codegenplugin.forkmode}</fork>
                             <testSourceRoot>${basedir}/target/generated/src/test/java</testSourceRoot>
                             <testWsdlRoot>${basedir}/src/test/resources/wsdl_systest_databinding</testWsdlRoot>
                             <wsdlOptions>

Modified: cxf/trunk/systests/jaxws/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/jaxws/pom.xml?rev=1080305&r1=1080304&r2=1080305&view=diff
==============================================================================
--- cxf/trunk/systests/jaxws/pom.xml (original)
+++ cxf/trunk/systests/jaxws/pom.xml Thu Mar 10 18:20:12 2011
@@ -42,6 +42,7 @@
                         <id>generate-test-sources</id>
                         <phase>generate-test-sources</phase>
                         <configuration>
+                            <fork>${cxf.codegenplugin.forkmode}</fork>
                             <testSourceRoot>${basedir}/target/generated/src/test/java</testSourceRoot>
                             <testWsdlRoot>${basedir}/src/test/resources/wsdl_systest_jaxws</testWsdlRoot>
                         </configuration>

Modified: cxf/trunk/systests/transports/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/transports/pom.xml?rev=1080305&r1=1080304&r2=1080305&view=diff
==============================================================================
--- cxf/trunk/systests/transports/pom.xml (original)
+++ cxf/trunk/systests/transports/pom.xml Thu Mar 10 18:20:12 2011
@@ -41,6 +41,7 @@
                         <id>generate-test-sources</id>
                         <phase>generate-test-sources</phase>
                         <configuration>
+                            <fork>${cxf.codegenplugin.forkmode}</fork>
                             <testSourceRoot>${basedir}/target/generated/src/test/java</testSourceRoot>
                             <testWsdlRoot>${basedir}/src/test/resources/wsdl_systest_transport</testWsdlRoot>
                         </configuration>

Modified: cxf/trunk/systests/uncategorized/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/uncategorized/pom.xml?rev=1080305&r1=1080304&r2=1080305&view=diff
==============================================================================
--- cxf/trunk/systests/uncategorized/pom.xml (original)
+++ cxf/trunk/systests/uncategorized/pom.xml Thu Mar 10 18:20:12 2011
@@ -41,6 +41,7 @@
                         <id>generate-test-sources</id>
                         <phase>generate-test-sources</phase>
                         <configuration>
+                            <fork>${cxf.codegenplugin.forkmode}</fork>
                             <testSourceRoot>${basedir}/target/generated/src/test/java</testSourceRoot>
                             <testWsdlRoot>${basedir}/src/test/resources/wsdl_systest</testWsdlRoot>
                             <wsdlOptions>

Modified: cxf/trunk/systests/ws-specs/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/ws-specs/pom.xml?rev=1080305&r1=1080304&r2=1080305&view=diff
==============================================================================
--- cxf/trunk/systests/ws-specs/pom.xml (original)
+++ cxf/trunk/systests/ws-specs/pom.xml Thu Mar 10 18:20:12 2011
@@ -41,6 +41,7 @@
                         <id>generate-test-sources</id>
                         <phase>generate-test-sources</phase>
                         <configuration>
+                            <fork>${cxf.codegenplugin.forkmode}</fork>
                             <testSourceRoot>${basedir}/target/generated/src/test/java</testSourceRoot>
                             <testWsdlRoot>${basedir}/src/test/resources/wsdl_systest_wsspec</testWsdlRoot>
                             <wsdlOptions>

Modified: cxf/trunk/systests/wsdl_maven/codegen/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/systests/wsdl_maven/codegen/pom.xml?rev=1080305&r1=1080304&r2=1080305&view=diff
==============================================================================
--- cxf/trunk/systests/wsdl_maven/codegen/pom.xml (original)
+++ cxf/trunk/systests/wsdl_maven/codegen/pom.xml Thu Mar 10 18:20:12 2011
@@ -50,6 +50,7 @@
                             <goal>wsdl2java</goal>
                         </goals>
                         <configuration>
+                            <fork>${cxf.codegenplugin.forkmode}</fork>
                             <defaultOptions>
                                 <markGenerated>true</markGenerated>
                             </defaultOptions>

Modified: cxf/trunk/testutils/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/testutils/pom.xml?rev=1080305&r1=1080304&r2=1080305&view=diff
==============================================================================
--- cxf/trunk/testutils/pom.xml (original)
+++ cxf/trunk/testutils/pom.xml Thu Mar 10 18:20:12 2011
@@ -156,6 +156,7 @@
                         <id>generate-sources</id>
                         <phase>generate-sources</phase>
                         <configuration>
+                            <fork>${cxf.codegenplugin.forkmode}</fork>
                             <sourceRoot>target/generated/src/main/java</sourceRoot>
                             <wsdlRoot>src/main/resources/wsdl</wsdlRoot>
                             <wsdlOptions>

Modified: cxf/trunk/tools/javato/ws/pom.xml
URL: http://svn.apache.org/viewvc/cxf/trunk/tools/javato/ws/pom.xml?rev=1080305&r1=1080304&r2=1080305&view=diff
==============================================================================
--- cxf/trunk/tools/javato/ws/pom.xml (original)
+++ cxf/trunk/tools/javato/ws/pom.xml Thu Mar 10 18:20:12 2011
@@ -165,6 +165,7 @@
                         <id>generate-test-sources</id>
                         <phase>generate-test-sources</phase>
                         <configuration>
+                            <fork>${cxf.codegenplugin.forkmode}</fork>
                             <testSourceRoot>${basedir}/target/generated/src/test/java</testSourceRoot>
                             <testWsdlRoot>${basedir}/src/test/resources/java2wsdl_wsdl</testWsdlRoot>
                         </configuration>