diff options
Diffstat (limited to '')
-rw-r--r-- | sca-java-1.x/tags/travelsample-1.0/antdefs.xml | 795 |
1 files changed, 795 insertions, 0 deletions
diff --git a/sca-java-1.x/tags/travelsample-1.0/antdefs.xml b/sca-java-1.x/tags/travelsample-1.0/antdefs.xml new file mode 100644 index 0000000000..1a3c960ba6 --- /dev/null +++ b/sca-java-1.x/tags/travelsample-1.0/antdefs.xml @@ -0,0 +1,795 @@ +<!--
+ * 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.
+-->
+
+<!--
+ This file is designed to be imported by build.xml files to provide
+ definitions for a default set of build targets. The build.xml file
+ can include additional definitions to configure the behavior of these
+ default targets. The build.xml file can also define any additional
+ targets that are needed by the project.
+
+ This build file has been tested with JDK 5 update 22 and JDK 6 update 7.
+
+ When invoking a build.xml file that imports this file, the following
+ environment variable must be set:
+ TUSCANY_HOME A directory containing the Tuscany SCA binary distribution.
+ This build file has been tested with Tuscany SCA version 1.6.
+
+ When building from a svn checkout (but not when building from a downloaded
+ distribution), the following environment variables must be set:
+ JUNIT_JAR The location of the JUnit jar file. This build file has
+ been tested with JUnit version 4.5.
+ JAXWS_HOME (only if using JDK 5) A directory containing the JAX-WS
+ reference implementation. This build file has been tested with
+ the JAX-WS RI version 2.1.7.
+ OPENEJB_HOME A directory containing the OpenEJB binary distribution.
+ This build file has been tested with OpenEJB 3.1.2.
+
+ This file defines the following targets that can be used on the
+ ant command that invokes the build.xml file:
+ "compile" Compiles any Java source files that don't have an up-to-date
+ class file, and copies any files in or under the src/main/resources
+ directory. If the build.xml file contains a <path> element with the
+ id "compile-path", the contents of this path are added to the
+ compiler's classpath. Also invokes the following targets:
+ . "wsdljava" (defined in the build.xml file) if there are any
+ .wsdl files in or under the resource directory
+ . "idljava" (defined in the build.xml file) if there are any
+ .idl files in or under the resource directory
+ . "test" if there are any files in or under the src/test/java
+ directory
+ . "package" if all previous steps completed successfully
+ If the build.xml file defines the "run-update-resources" property,
+ the "update-resources" target in the build.xml file is invoked after
+ copying resources.
+ "test" Compiles any Java unit test files that don't have an
+ up-to-date class file, copies any test resources in or under the
+ src/test/resources directory, and runs the unit tests. If the
+ build.xml file contains a <path> element with the id "test-path",
+ the contents of this path are used for compiling and running
+ unit tests. In addition, the "compile-path" setting (if specified)
+ is used for running unit tests. If the build.xml file defines the
+ "run-update-test-resources" property, the "update-test-resources"
+ target in the build.xml file is invoked after copying test resources.
+ "package" Creates a jar file containing the compiled Java class
+ files (excluding unit test code) and any files in or under the
+ resource directory, unless the jar file is already up to date.
+ The contents of the jar file are taken from the target/classes
+ directory unless the target/jar-classes directory exists, in which
+ case this directory is used in preference to target/classes. If the
+ build.xml file defines a property named "package-path", a Class-Path
+ manifest entry is created and set to the value of this property.
+ "clean" Deletes all the files produced by the build.
+
+ This file also defines the following targets for invocation by <antcall>
+ from the build.xml file:
+ "wsimport" Generates Java code from a WSDL file (unless the Java code
+ is already up to date) by running the wsimport command (on JDK 6)
+ or by calling the equivalent class in the JAX-WS RI (on JDK 5).
+ Requires the following parameters:
+ . <package> the Java package to use for generated code
+ . <wsdlfile> the filename of the WSDL file
+ . <javaclass> the filename of any Java class file that will be
+ generated by running this target on the WSDL file
+ "sdojavagen" Generates Java code from a WSDL file (unless the Java
+ code is already up to date) by running the SDO XSD2JavaGenerator.
+ Requires the same parameters as <wsimport>, plus the following:
+ . <prefix> the prefix string for naming the generated factory
+ "idlj" Generates Java code from a CORBA IDL file (unless the Java
+ code is already up to date) by running the JDK idlj command.
+ Requires the following parameters:
+ . <idljopts> the options to be used on this idlj command invocation
+ . <idlfile> the filename of the IDL file
+ . <javaclass> the filename of any Java class file that will be
+ generated by running this target for this IDL file
+ "add-implementation-web" Adds implementation.web support to the
+ installed Tuscany SCA binary distribution if not already there.
+
+ This file also defines the following targets for use with the "depends"
+ attribute on targets in the build.xml file:
+ "locate-openejb" Locates the OpenEJB dependencies needed by some
+ modules and creates a path with id "openejb-path" to bring in
+ these dependencies.
+ "locate-jaxws" Locates the JAX-WS dependencies needed by some modules
+ when running on JDK 5, and creates a path with id "jaxws-path"
+ to bring in these dependencies.
+
+ All other targets defined by this file (with names starting with "#")
+ are for internal use within this file and should not be used externally.
+-->
+
+<project name="antdefs">
+ <property environment="env"/>
+ <fail unless="env.TUSCANY_HOME">
+ Error: Please set the TUSCANY_HOME environment variable.
+ </fail>
+
+ <!-- check whether there are any WSDL files in or under the resource directory -->
+ <target name="#find-wsdlfiles">
+ <fileset id="#allwsdl" dir="src/main/resources">
+ <include name="**/*.wsdl"/>
+ </fileset>
+ <condition property="#wsdlfiles">
+ <and>
+ <available file="src/main/resources" type="dir"/>
+ <resourcecount refid="#allwsdl" when="greater" count="0"/>
+ </and>
+ </condition>
+ </target>
+
+ <!-- call the wsdljava target in the build.xml file if required -->
+ <target name="#call-wsdljava" depends="#find-wsdlfiles" if="#wsdlfiles">
+ <antcall target="wsdljava"/>
+ </target>
+
+ <!-- check whether the WSDL-generated Java code is already up to date -->
+ <target name="#wsdlcheck">
+ <condition property="#wsdl-uptodate">
+ <uptodate srcfile="src/main/resources/${wsdlfile}"
+ targetfile="target/classes/${javaclass}"/>
+ </condition>
+ </target>
+
+ <!-- run the wsimport command if required -->
+ <target name="wsimport" depends="#wsdlcheck" unless="#wsdl-uptodate">
+ <antcall target="#wsimport"/>
+ </target>
+
+ <!-- check whether the wsimport command is available in the JDK -->
+ <target name="#is-jdk-wsimport">
+ <condition property="#jdk-wsimport">
+ <or>
+ <available file="${java.home}/../bin/wsimport" type="file"/>
+ <available file="${java.home}/../bin/wsimport.exe" type="file"/>
+ </or>
+ </condition>
+ </target>
+
+ <!-- run the JDK wsimport command if available, then compile the generated Java source -->
+ <target name="#wsimport-jdk" if="#jdk-wsimport">
+ <property name="#jaxws-tools-dir" value=""/>
+ <mkdir dir="target/jaxws-source"/>
+ <exec executable="${java.home}/../bin/wsimport" dir="." failonerror="true">
+ <arg line="-keep -s ./target/jaxws-source -p ${package}
+ -Xnocompile src/main/resources/${wsdlfile}"/>
+ </exec>
+ <javac destdir="target/classes" debug="true" source="1.5" target="1.5">
+ <src path="target/jaxws-source"/>
+ </javac>
+ </target>
+
+ <!-- If building a downloaded distribution, the JAX-WS jars are in lib/jaxws -->
+ <target name="#lib-jaxws-tools" unless="#jdk-wsimport">
+ <condition property="#jaxws-tools-dir" value="../../../lib/jaxws">
+ <available file="../../../lib/jaxws" type="dir"/>
+ </condition>
+ </target>
+
+ <!-- Set the path as the JAX-WS directory and the Tuscany runtime -->
+ <target name="#tuscany-jaxws-tools" if="#jaxws-tools-dir">
+ <path id="#jaxws-tools-path">
+ <fileset dir="${#jaxws-tools-dir}"/>
+ <fileset dir="${env.TUSCANY_HOME}/lib"/>
+ </path>
+ </target>
+
+ <!-- If JAX-WS jars not found in lib, try the JAXWS_HOME environment variable -->
+ <target name="#env-jaxws-tools" unless="#jaxws-tools-dir">
+ <condition property="#jaxws-tools-home" value="${env.JAXWS_HOME}/lib">
+ <available file="${env.JAXWS_HOME}/lib" type="dir"/>
+ </condition>
+ </target>
+
+ <!-- Set the path as the JAXWS_HOME directory -->
+ <target name="#home-jaxws-tools" if="#jaxws-tools-home">
+ <path id="#jaxws-tools-path">
+ <fileset dir="${#jaxws-tools-home}"/>
+ </path>
+ <property name="#jaxws-tools-dir" value="${#jaxws-tools-home}"/>
+ </target>
+
+ <!-- run the com.sun.tools.ws.WsImport class in jaxws-tools.jar if available -->
+ <target name="#wsimport-jaxws" unless="#jdk-wsimport">
+ <fail unless="#jaxws-tools-dir">
+ Error: Could not find wsimport executable or jaxws-tools.jar.
+ </fail>
+ <mkdir dir="target/jaxws-source"/>
+ <java classname="com.sun.tools.ws.WsImport" fork="true" dir="." failonerror="true">
+ <arg line="-keep -s ./target/jaxws-source -p ${package}
+ -d ./target/classes src/main/resources/${wsdlfile}"/>
+ <classpath>
+ <path refid="#jaxws-tools-path"/>
+ </classpath>
+ </java>
+ </target>
+
+ <!-- run the wsimport command in JDK 6 or use jaxws-tools.jar on JDK 5 -->
+ <target name="#wsimport" depends="#is-jdk-wsimport, #wsimport-jdk, #lib-jaxws-tools, #tuscany-jaxws-tools, #env-jaxws-tools, #home-jaxws-tools, #wsimport-jaxws"/>
+
+ <!-- run the SDO XSD2JavaGenerator if required, then compile the generated Java source -->
+ <target name="sdojavagen" depends="#wsdlcheck" unless="#wsdl-uptodate">
+ <mkdir dir="target/sdo-source"/>
+ <java classname="org.apache.tuscany.sdo.generate.XSD2JavaGenerator" fork="true" dir="." failonerror="true">
+ <arg value="-javaPackage"/>
+ <arg value="${package}"/>
+ <arg value="-prefix"/>
+ <arg value="${prefix}"/>
+ <arg value="-noNotification"/>
+ <arg value="-noContainment"/>
+ <arg value="-noUnsettable"/>
+ <arg value="-targetDirectory"/>
+ <arg value="target/sdo-source"/>
+ <arg value="src/main/resources/${wsdlfile}"/>
+ <classpath location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </java>
+ <javac destdir="target/classes" debug="true" source="1.5" target="1.5">
+ <src path="target/sdo-source"/>
+ <classpath location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </javac>
+ </target>
+
+ <!-- check whether there are any CORBA IDL files in or under the resource directory -->
+ <target name="#find-idlfiles">
+ <fileset id="#allidl" dir="src/main/resources">
+ <include name="**/*.idl"/>
+ </fileset>
+ <condition property="#idlfiles">
+ <and>
+ <available file="src/main/resources" type="dir"/>
+ <resourcecount refid="#allidl" when="greater" count="0"/>
+ </and>
+ </condition>
+ </target>
+
+ <!-- call the idljava target in the build.xml file if required -->
+ <target name="#call-idljava" depends="#find-idlfiles" if="#idlfiles">
+ <antcall target="idljava"/>
+ </target>
+
+ <!-- check whether the IDL-generated Java code is already up to date -->
+ <target name="#idlcheck">
+ <condition property="#idl-uptodate">
+ <uptodate srcfile="src/main/resources/${idlfile}"
+ targetfile="target/classes/${javaclass}"/>
+ </condition>
+ </target>
+
+ <!-- run the JDK idlj command if required, then compile the generated Java source -->
+ <target name="idlj" depends="#idlcheck" unless="#idl-uptodate">
+ <mkdir dir="target/idlj-source"/>
+ <exec executable="${java.home}/../bin/idlj" dir="." failonerror="true">
+ <arg value="${idljopts}"/>
+ <arg value="-td"/>
+ <arg value="target/idlj-source"/>
+ <arg value="src/main/resources/${idlfile}"/>
+ </exec>
+ <javac destdir="target/classes" debug="true" source="1.5" target="1.5">
+ <src path="target/idlj-source"/>
+ </javac>
+ </target>
+
+ <!-- check whether there are any Java source files to compile -->
+ <target name="#find-javafiles">
+ <fileset id="#alljava" dir="src/main/java">
+ <include name="**/*.java"/>
+ </fileset>
+ <condition property="#javafiles">
+ <and>
+ <available file="src/main/java" type="dir"/>
+ <resourcecount refid="#alljava" when="greater" count="0"/>
+ </and>
+ </condition>
+ </target>
+
+ <!-- compile the Java source files -->
+ <target name="#src-compile" depends="#find-javafiles" if="#javafiles">
+ <antcall target="#run-compile"/>
+ </target>
+
+ <!-- check whether a dependency path for the Java compiler was specified -->
+ <target name="#check-compile-path">
+ <condition property="#compile-path">
+ <isreference refid="compile-path"/>
+ </condition>
+ </target>
+
+ <!-- set classpath for Java compiler to include specified additional path -->
+ <target name="#set-compile-path" if="#compile-path">
+ <path id="#javac-classpath">
+ <path refid="compile-path"/>
+ </path>
+ </target>
+
+ <!-- set default classpath for Java compiler if no additional path specified -->
+ <target name="#default-compile-path" unless="#compile-path">
+ <path id="#javac-classpath"/>
+ </target>
+
+ <!-- set the Java compiler classpath -->
+ <target name="#set-javac-classpath" depends="#check-compile-path, #set-compile-path, #default-compile-path"/>
+
+ <!-- compile the Java source files -->
+ <target name="#run-compile" depends="#set-javac-classpath">
+ <javac destdir="target/classes" debug="true" source="1.5" target="1.5">
+ <src path="src/main/java"/>
+ <classpath>
+ <path refid="#javac-classpath"/>
+ <pathelement path="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ </classpath>
+ </javac>
+ </target>
+
+ <!-- check whether there are any resources to copy -->
+ <target name="#find-resources">
+ <fileset id="#allresources" dir="src/main/resources"/>
+ <condition property="#resources">
+ <and>
+ <available file="src/main/resources" type="dir"/>
+ <resourcecount refid="#allresources" when="greater" count="0"/>
+ </and>
+ </condition>
+ </target>
+
+ <!-- copy the contents of the resource directory -->
+ <target name="#copy-resources" depends="#find-resources" if="#resources">
+ <copy todir="target/classes">
+ <fileset dir="src/main/resources"/>
+ </copy>
+ </target>
+
+ <!-- update copied resources if required -->
+ <target name="#update-resources" if="run-update-resources">
+ <antcall target="update-resources"/>
+ </target>
+
+ <!-- check whether there are any Java files in or under the test directory -->
+ <target name="#find-testjava">
+ <fileset id="#alltestjava" dir="src/test/java">
+ <include name="**/*.java"/>
+ </fileset>
+ <condition property="#testjava">
+ <and>
+ <available file="src/test/java" type="dir"/>
+ <resourcecount refid="#alltestjava" when="greater" count="0"/>
+ </and>
+ </condition>
+ </target>
+
+ <!-- check whether there are any test resources to copy -->
+ <target name="#find-test-resources">
+ <fileset id="#alltestresources" dir="src/test/resources"/>
+ <condition property="#testresources">
+ <and>
+ <available file="src/test/resources" type="dir"/>
+ <resourcecount refid="#alltestresources" when="greater" count="0"/>
+ </and>
+ </condition>
+ </target>
+
+ <!-- copy the test resources -->
+ <target name="#copy-test-resources" depends="#find-test-resources" if="#testresources">
+ <copy todir="target/test-classes">
+ <fileset dir="src/test/resources"/>
+ </copy>
+ </target>
+
+ <!-- update copied test resources if required -->
+ <target name="#update-test-resources" if="run-update-test-resources">
+ <antcall target="update-test-resources"/>
+ </target>
+
+ <!-- check whether a dependency path for the unit tests was specified -->
+ <target name="#check-test-path">
+ <condition property="#test-path">
+ <isreference refid="test-path"/>
+ </condition>
+ </target>
+
+ <!-- set classpath for unit tests to include specified additional path -->
+ <target name="#set-test-path" if="#test-path">
+ <path id="#test-classpath">
+ <path refid="test-path"/>
+ </path>
+ </target>
+
+ <!-- set default classpath for unit tests if no additional path specified -->
+ <target name="#default-test-path" unless="#test-path">
+ <path id="#test-classpath"/>
+ </target>
+
+ <!-- set the Java compiler test classpath -->
+ <target name="#set-test-classpath" depends="#check-test-path, #set-test-path, #default-test-path"/>
+
+ <!-- If building a downloaded distribution, the JUnit jar is in lib/junit -->
+ <target name="#lib-junit">
+ <condition property="#junit-dir" value="../../../lib/junit">
+ <available file="../../../lib/junit" type="dir"/>
+ </condition>
+ </target>
+
+ <!-- If building a svn checkout, try the JUNIT_JAR environment variable -->
+ <target name="#env-junit" unless="#junit-dir">
+ <condition property="#junit-file" value="${env.JUNIT_JAR}">
+ <available file="${env.JUNIT_JAR}" type="file"/>
+ </condition>
+ <fail unless="#junit-file">
+ Error: Couldn't find JUnit jar file.
+ </fail>
+ </target>
+
+ <!-- Define JUnit fileset using a directory -->
+ <target name="#dir-junit" if="#junit-dir">
+ <fileset id="#junit-fileset" dir="${#junit-dir}"/>
+ </target>
+
+ <!-- Define JUnit fileset using a file -->
+ <target name="#file-junit" if="#junit-file">
+ <fileset id="#junit-fileset" file="${#junit-file}"/>
+ </target>
+
+ <!-- Locate the JUnit jar file -->
+ <target name="#locate-junit" depends="#lib-junit, #env-junit, #dir-junit, #file-junit"/>
+
+ <!-- compile the test classes -->
+ <target name="#test-compile" depends="#set-test-classpath, #locate-junit">
+ <javac destdir="target/test-classes" debug="true" source="1.5" target="1.5">
+ <src path="src/test/java"/>
+ <classpath>
+ <pathelement location="target/classes"/>
+ <path refid="#test-classpath"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ <fileset refid="#junit-fileset"/>
+ </classpath>
+ </javac>
+ </target>
+
+ <!-- run the junit task -->
+ <target name="#run-junit" depends="#set-test-classpath, #set-javac-classpath, #locate-junit">
+ <junit printsummary="no" dir="." fork="true" forkmode="once" haltonfailure="true">
+ <classpath>
+ <pathelement location="target/test-classes"/>
+ <path refid="#test-classpath"/>
+ <pathelement location="target/classes"/>
+ <path refid="#javac-classpath"/>
+ <pathelement location="${env.TUSCANY_HOME}/lib/tuscany-sca-manifest.jar"/>
+ <fileset refid="#junit-fileset"/>
+ </classpath>
+ <formatter type="plain" usefile="false"/>
+ <batchtest>
+ <fileset dir="src/test/java">
+ <include name="**/*TestCase.java"/>
+ </fileset>
+ </batchtest>
+ </junit>
+ </target>
+
+ <!-- check whether the Tuscany SCA version is 1.5.1 -->
+ <target name="#find-tuscany-1.5.1">
+ <fileset id="#tuscany-assembly-1.5.1" dir="${env.TUSCANY_HOME}/modules">
+ <include name="tuscany-assembly-1.5.1.jar"/>
+ </fileset>
+ <condition property="#tuscany-version" value="1.5.1">
+ <resourcecount refid="#tuscany-assembly-1.5.1" when="greater" count="0"/>
+ </condition>
+ <condition property="#tuscany-repo" value="m2-ibiblio-rsync-repository">
+ <resourcecount refid="#tuscany-assembly-1.5.1" when="greater" count="0"/>
+ </condition>
+ </target>
+
+ <!-- check whether the Tuscany SCA version is 1.6-SNAPSHOT -->
+ <target name="#find-tuscany-1.6-SNAPSHOT" unless="#tuscany-version">
+ <fileset id="#tuscany-assembly-1.6-SNAPSHOT" dir="${env.TUSCANY_HOME}/modules">
+ <include name="tuscany-assembly-1.6-SNAPSHOT.jar"/>
+ </fileset>
+ <condition property="#tuscany-version" value="1.6-SNAPSHOT">
+ <resourcecount refid="#tuscany-assembly-1.6-SNAPSHOT" when="greater" count="0"/>
+ </condition>
+ <condition property="#tuscany-baseversion" value="1.6">
+ <resourcecount refid="#tuscany-assembly-1.6-SNAPSHOT" when="greater" count="0"/>
+ </condition>
+ <condition property="#tuscany-repo" value="m2-snapshot-repository">
+ <resourcecount refid="#tuscany-assembly-1.6-SNAPSHOT" when="greater" count="0"/>
+ </condition>
+ </target>
+
+ <!-- check whether the Tuscany SCA version is 1.6 -->
+ <target name="#find-tuscany-1.6" unless="#tuscany-version">
+ <fileset id="#tuscany-assembly-1.6" dir="${env.TUSCANY_HOME}/modules">
+ <include name="tuscany-assembly-1.6.jar"/>
+ </fileset>
+ <condition property="#tuscany-version" value="1.6">
+ <resourcecount refid="#tuscany-assembly-1.6" when="greater" count="0"/>
+ </condition>
+ <condition property="#tuscany-repo" value="m2-ibiblio-rsync-repository">
+ <resourcecount refid="#tuscany-assembly-1.6" when="greater" count="0"/>
+ </condition>
+ </target>
+
+ <!-- find the Tuscany SCA version that matches the TUSCANY_HOME environment variable -->
+ <target name="#find-tuscany-version" depends="#find-tuscany-1.5.1, #find-tuscany-1.6-SNAPSHOT, #find-tuscany-1.6">
+ <fail unless="#tuscany-version">
+ Error: Unable to copy implementation.web jars for this Tuscany version.
+ </fail>
+ </target>
+
+ <!-- check whether the installed Tuscany SCA binary distribution includes implementation.web support -->
+ <target name="#check-implementation-web">
+ <fileset id="#implweb-before-copy" dir="${env.TUSCANY_HOME}/modules">
+ <include name="tuscany-implementation-web-${#tuscany-version}.jar"/>
+ <include name="tuscany-implementation-web-runtime-${#tuscany-version}.jar"/>
+ </fileset>
+ <condition property="#has-implementation-web">
+ <resourcecount refid="#implweb-before-copy" when="equal" count="2"/>
+ </condition>
+ </target>
+
+ <!-- check whether the installed Tuscany SCA binary distribution is a snapshot -->
+ <target name="#check-tuscany-snapshot">
+ <condition property="#tuscany-snapshot">
+ <equals arg1="${#tuscany-repo}" arg2="m2-snapshot-repository"/>
+ </condition>
+ </target>
+
+ <!-- copy implementation.web support to the installed Tuscany SCA snapshot binary distribution -->
+ <target name="#copy-impl-web-snapshot" if="#tuscany-snapshot">
+ <xmlproperty>
+ <url url="http://people.apache.org/repo/${#tuscany-repo}/org/apache/tuscany/sca/tuscany-implementation-web/${#tuscany-version}/maven-metadata.xml"/>
+ </xmlproperty>
+ <copy todir="${env.TUSCANY_HOME}/modules" flatten="true">
+ <url url="http://people.apache.org/repo/${#tuscany-repo}/org/apache/tuscany/sca/tuscany-implementation-web/${#tuscany-version}/tuscany-implementation-web-${#tuscany-baseversion}-${metadata.versioning.snapshot.timestamp}-${metadata.versioning.snapshot.buildNumber}.jar"/>
+ <url url="http://people.apache.org/repo/${#tuscany-repo}/org/apache/tuscany/sca/tuscany-implementation-web-runtime/${#tuscany-version}/tuscany-implementation-web-runtime-${#tuscany-baseversion}-${metadata.versioning.snapshot.timestamp}-${metadata.versioning.snapshot.buildNumber}.jar"/>
+ </copy>
+ <!-- need to copy and move because of ant 1.7.1 bug when copying with tofile and url -->
+ <move file="${env.TUSCANY_HOME}/modules/tuscany-implementation-web-${#tuscany-baseversion}-${metadata.versioning.snapshot.timestamp}-${metadata.versioning.snapshot.buildNumber}.jar" tofile="${env.TUSCANY_HOME}/modules/tuscany-implementation-web-${#tuscany-version}.jar"/>
+ <move file="${env.TUSCANY_HOME}/modules/tuscany-implementation-web-runtime-${#tuscany-baseversion}-${metadata.versioning.snapshot.timestamp}-${metadata.versioning.snapshot.buildNumber}.jar" tofile="${env.TUSCANY_HOME}/modules/tuscany-implementation-web-runtime-${#tuscany-version}.jar"/>
+ </target>
+
+ <!-- copy implementation.web support to the installed Tuscany SCA non-snapshot binary distribution -->
+ <target name="#copy-impl-web-nonsnapshot" unless="#tuscany-snapshot">
+ <copy todir="${env.TUSCANY_HOME}/modules" flatten="true">
+ <url url="http://people.apache.org/repo/${#tuscany-repo}/org/apache/tuscany/sca/tuscany-implementation-web/${#tuscany-version}/tuscany-implementation-web-${#tuscany-version}.jar"/>
+ <url url="http://people.apache.org/repo/${#tuscany-repo}/org/apache/tuscany/sca/tuscany-implementation-web-runtime/${#tuscany-version}/tuscany-implementation-web-runtime-${#tuscany-version}.jar"/>
+ </copy>
+ </target>
+
+ <!-- copy implementation.web support to the installed Tuscany SCA binary distribution -->
+ <target name="#copy-implementation-web" depends="#check-tuscany-snapshot, #copy-impl-web-snapshot, #copy-impl-web-nonsnapshot"/>
+
+ <!-- add implementation.web support to the installed Tuscany SCA binary distribution if not already there -->
+ <target name="add-implementation-web" depends="#find-tuscany-version, #check-implementation-web" unless="#has-implementation-web">
+ <antcall target="#copy-implementation-web"/>
+ <fileset id="#implweb-after-copy" dir="${env.TUSCANY_HOME}/modules">
+ <include name="tuscany-implementation-web-${#tuscany-version}.jar"/>
+ <include name="tuscany-implementation-web-runtime-${#tuscany-version}.jar"/>
+ </fileset>
+ <condition property="#implementation-web-copied">
+ <resourcecount refid="#implweb-after-copy" when="equal" count="2"/>
+ </condition>
+ <fail unless="#implementation-web-copied">
+ Error: Unable to download tuscany-implementation-web and tuscany-implementation-web-runtime jars.
+ </fail>
+ </target>
+
+ <!-- check whether the target/jar-classes directory exists -->
+ <target name="#check-jar-classes">
+ <condition property="#jar-classes" value="target/jar-classes">
+ <available file="target/jar-classes" type="dir"/>
+ </condition>
+ <condition property="#jar-classes" value="target/classes">
+ <not>
+ <available file="target/jar-classes" type="dir"/>
+ </not>
+ </condition>
+ </target>
+
+ <!-- check whether there are any files in the webapp directory -->
+ <target name="#check-webapp">
+ <fileset id="#webappfiles" dir="src/main/webapp"/>
+ <condition property="#webapp">
+ <and>
+ <available file="src/main/webapp" type="dir"/>
+ <resourcecount refid="#webappfiles" when="greater" count="0"/>
+ </and>
+ </condition>
+ </target>
+
+ <!-- build a war file if there are files in the webapp directory -->
+ <target name="#package-war" if="#webapp">
+ <mkdir dir="target/lib"/>
+ <antcall target="copy-lib"/>
+ <war destfile="target/${ant.project.name}.war" webxml="src/main/webapp/WEB-INF/web.xml"
+ excludes="**/*.cbp">
+ <fileset dir="src/main/webapp"/>
+ <lib dir="target/lib"/>
+ <classes dir="${#jar-classes}"/>
+ </war>
+ </target>
+
+ <!-- create a jar file with a Class-Path attribute -->
+ <target name="#package-jar-path" unless="#webapp" if="package-path">
+ <jar destfile="target/${ant.project.name}.jar" basedir="${#jar-classes}"
+ excludes="**/*.cbp">
+ <manifest>
+ <attribute name="Class-Path" value="${package-path}"/>
+ </manifest>
+ </jar>
+ </target>
+
+ <target name="#not-package-path" unless="package-path">
+ <property name="#no-package-path" value=""/>
+ </target>
+
+ <!-- create a jar file without a Class-Path attribute -->
+ <target name="#package-jar-nopath" unless="#webapp" if="#no-package-path">
+ <jar destfile="target/${ant.project.name}.jar" basedir="${#jar-classes}"
+ excludes="**/*.cbp"/>
+ </target>
+
+ <!-- build a packaged jar file or war file -->
+ <target name="#build-package" depends="#check-jar-classes, #check-webapp, #package-war,
+ #package-jar-path, #not-package-path, #package-jar-nopath"/>
+
+ <!-- If running from a downloaded distribution, the OpenEJB jars are in lib/openejb -->
+ <target name="#lib-openejb">
+ <condition property="#openejb-dir" value="../../../lib/openejb">
+ <available file="../../../lib/openejb" type="dir"/>
+ </condition>
+ </target>
+
+ <!-- If running from a complete build, the OpenEJB jars are in binaries/target/openejb -->
+ <target name="#binaries-openejb" unless="#openejb-dir">
+ <condition property="#openejb-dir" value="../../binaries/target/openejb">
+ <available file="../../binaries/target/openejb" type="dir"/>
+ </condition>
+ </target>
+
+ <!-- Set the path as the OpenEJB directory and the Tuscany runtime -->
+ <target name="#tuscany-openejb" if="#openejb-dir">
+ <path id="openejb-path">
+ <fileset dir="${#openejb-dir}"/>
+ <!-- The openejb directory doesn't include all dependencies, so bring these in from Tuscany -->
+ <fileset dir="${env.TUSCANY_HOME}/lib">
+ <!-- exclude some jars to prevent them being loaded by OpenEJB -->
+ <exclude name="tuscany-sca-manifest.jar"/>
+ <exclude name="ode-*.jar"/>
+ <exclude name="jaxb-xjc-*.jar"/>
+ <exclude name="jython-*.jar"/>
+ <exclude name="activemq-all-*.jar"/>
+ <exclude name="js-*.jar"/>
+ <exclude name="org.apache.felix.main-*.jar"/>
+ <exclude name="saxon-*.jar"/>
+ </fileset>
+ </path>
+ </target>
+
+ <!-- If OpenEJB jars not found in lib or binaries, try the OPENEJB_HOME environment variable -->
+ <target name="#env-openejb" unless="#openejb-dir">
+ <condition property="#openejb-home" value="${env.OPENEJB_HOME}/lib">
+ <available file="${env.OPENEJB_HOME}/lib" type="dir"/>
+ </condition>
+ </target>
+
+ <!-- Set the path as the OPENEJB_HOME directory -->
+ <target name="#home-openejb" if="#openejb-home">
+ <path id="openejb-path">
+ <fileset dir="${#openejb-home}"/>
+ </path>
+ <property name="#openejb-dir" value="${#openejb-home}"/>
+ </target>
+
+ <!-- For use as a dependency of "run" targets that need OpenEJB -->
+ <target name="locate-openejb" depends="#lib-openejb, #binaries-openejb, #tuscany-openejb, #env-openejb, #home-openejb">
+ <fail unless="#openejb-dir">
+ Error: Couldn't find OpenEJB dependencies.
+ </fail>
+ </target>
+
+ <!-- check to see if we are running on JDK 6 -->
+ <target name="#is-jdk6">
+ <condition property="#jdk6">
+ <available classname="javax.xml.ws.Endpoint"/>
+ </condition>
+ </target>
+
+ <!-- JDK 6 contains JAX-WS so we don't need it on the classpath -->
+ <target name="#jaxws-jdk6" if="#jdk6">
+ <path id="jaxws-path"/>
+ <property name="#jaxws-dir" value=""/>
+ </target>
+
+ <!-- If running from a downloaded distribution, the JAX-WS jars are in lib/jaxws -->
+ <target name="#lib-jaxws" unless="#jaxws-dir">
+ <condition property="#jaxws-dir" value="../../../lib/jaxws">
+ <available file="../../../lib/jaxws" type="dir"/>
+ </condition>
+ </target>
+
+ <!-- If running from a complete build, the JAX-WS jars are in binaries/target/jaxws -->
+ <target name="#binaries-jaxws" unless="#jaxws-dir">
+ <condition property="#jaxws-dir" value="../../binaries/target/jaxws">
+ <available file="../../binaries/target/jaxws" type="dir"/>
+ </condition>
+ </target>
+
+ <!-- Set the path as the JAX-WS directory and the Tuscany runtime -->
+ <target name="#tuscany-jaxws" if="#jaxws-dir">
+ <path id="jaxws-path">
+ <fileset dir="${#jaxws-dir}"/>
+ <fileset dir="${env.TUSCANY_HOME}/lib"/>
+ </path>
+ </target>
+
+ <!-- If JAX-WS jars not found in lib or binaries, try the JAXWS_HOME environment variable -->
+ <target name="#env-jaxws" unless="#jaxws-dir">
+ <condition property="#jaxws-home" value="${env.JAXWS_HOME}/lib">
+ <available file="${env.JAXWS_HOME}/lib" type="dir"/>
+ </condition>
+ </target>
+
+ <!-- Set the path as the JAXWS_HOME directory -->
+ <target name="#home-jaxws" if="#jaxws-home">
+ <path id="jaxws-path">
+ <fileset dir="${#jaxws-home}"/>
+ </path>
+ <property name="#jaxws-dir" value="${#jaxws-home}"/>
+ </target>
+
+ <!-- For use as a dependency of "run" targets that need JAX-WS -->
+ <target name="locate-jaxws" depends="#is-jdk6, #jaxws-jdk6, #lib-jaxws, #binaries-jaxws, #tuscany-jaxws, #env-jaxws, #home-jaxws">
+ <fail unless="#jaxws-dir">
+ Error: Couldn't find JAX-WS dependencies.
+ </fail>
+ </target>
+
+ <!-- for external use on the ant command line -->
+ <target name="compile">
+ <echo message="Compiling project ${ant.project.name}"/>
+ <mkdir dir="target/classes"/>
+ <antcall target="#call-wsdljava"/>
+ <antcall target="#call-idljava"/>
+ <antcall target="#src-compile"/>
+ <antcall target="#copy-resources"/>
+ <antcall target="#update-resources"/>
+ <antcall target="test"/>
+ <antcall target="package"/>
+ </target>
+
+ <!-- for external use on the ant command line -->
+ <target name="test" depends="#find-testjava" if="#testjava">
+ <echo message="Testing project ${ant.project.name}"/>
+ <mkdir dir="target/test-classes"/>
+ <antcall target="#test-compile"/>
+ <antcall target="#copy-test-resources"/>
+ <antcall target="#update-test-resources"/>
+ <antcall target="#run-junit"/>
+ </target>
+
+ <!-- for external use on the ant command line -->
+ <target name="package">
+ <echo message="Packaging project ${ant.project.name}"/>
+ <antcall target="#build-package"/>
+ </target>
+
+ <!-- for external use on the ant command line -->
+ <target name="clean">
+ <echo message="Cleaning project ${ant.project.name}"/>
+ <delete dir="target" includeemptydirs="true"/>
+ </target>
+
+</project>
|