Merge r1030643 TUSCANY-3765: Ensure all classes produced by the build are compatible with JDK 5

git-svn-id: https://svn.apache.org/repos/asf/tuscany/sca-java-1.x/trunk@1030647 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/distribution/src/main/release/CHANGES b/distribution/src/main/release/CHANGES
index 3b1cb53..9b21abb 100644
--- a/distribution/src/main/release/CHANGES
+++ b/distribution/src/main/release/CHANGES
@@ -2,6 +2,7 @@
 ===================================================

 

 Fix the following JIRA issues (http://issues.apache.org/jira/browse/TUSCANY):

+TUSCANY-3765 itest/wsdlgen creates classes that don't run on JDK 5

 TUSCANY-3764 Some LICENSE/NOTICE files in individual module jars aren't consistent with the LICENSE/NOTICE files in the binary distribution

 TUSCANY-3762 Tuscany SCA Eclipse plugin doesn't install correctly

 TUSCANY-3761 Using node-launcher to launch the domain manager doesn't work

diff --git a/itest/wsdlgen/pom.xml b/itest/wsdlgen/pom.xml
index 9360f79..4fd168c 100644
--- a/itest/wsdlgen/pom.xml
+++ b/itest/wsdlgen/pom.xml
@@ -205,8 +205,74 @@
                     <sei>helloworld.HelloWorldImpl</sei>
                     <genWsdl>true</genWsdl>           
                     <keep>true</keep>
+                    <!-- TUSCANY-3765: avoid using class files that run only on JDK 6 -->
+                    <destDir>${basedir}/target/unused-wsgen-classes</destDir>
+                    <sourceDestDir>${basedir}/target/jaxws-source</sourceDestDir>
                 </configuration>
-            </plugin>           
+            </plugin>
+            <!-- TUSCANY-3765: produce JDK 5-compatible JAX-WS class files -->
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>build-helper-maven-plugin</artifactId>
+                <version>1.0</version>
+                <executions>
+                    <execution>
+                        <id>add-test-source</id>
+                        <phase>generate-test-sources</phase>
+                        <goals>
+                            <goal>add-test-source</goal>
+                        </goals>
+                        <configuration>
+                            <sources>
+                                <source>${basedir}/target/jaxws-source</source>
+                            </sources>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <!-- TUSCANY-3765: copy JDK 5-compatible JAX-WS class files to the correct location -->
+            <plugin>
+                <artifactId>maven-resources-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>copy-jaxws-classes</id>
+                        <phase>process-test-classes</phase>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>${basedir}/target/classes/helloworld</outputDirectory>
+                            <resources>          
+                                <resource>
+                                    <directory>${basedir}/target/test-classes/helloworld</directory>
+                                    <includes>
+                                        <include>jaxws/**</include>
+                                    </includes>
+                                </resource>
+                            </resources>              
+                        </configuration>            
+                    </execution>
+                </executions>
+            </plugin>
+            <!-- TUSCANY-3765: delete directories containing unused class files -->
+            <plugin>
+                <artifactId>maven-antrun-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>cleanup-jaxws-classes</id>
+                        <phase>process-test-classes</phase>
+                        <goals>
+                            <goal>run</goal>
+                        </goals>
+                        <configuration>
+                            <tasks>
+                                <delete dir="${basedir}/target/unused-wsgen-classes" includeemptydirs="true"/>
+                                <delete dir="${basedir}/target/test-classes/helloworld/jaxws" includeemptydirs="true"/>
+                            </tasks>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
         </plugins>
     </build>