
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@948750 13f79535-47bb-0310-9956-ffa450edef68
621 lines
29 KiB
XML
621 lines
29 KiB
XML
<!--
|
|
* 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 variables 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.
|
|
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.
|
|
|
|
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 resource 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
|
|
"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 the
|
|
unit tests. In addition, the "compile-path" setting (if specified)
|
|
is used for running unit tests. If the build.xml file defines the
|
|
"test-setup" property, the "testsetup" target in the build.xml
|
|
file is invoked after copying the 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.
|
|
If the build.xml file defines a path with id "package-path", this
|
|
path is used for the Class-Path manifest entry.
|
|
"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.
|
|
|
|
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>
|
|
<fail unless="env.JUNIT_JAR">
|
|
Error: Please set the JUNIT_JAR 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 -->
|
|
<target name="#wsimport-jdk" if="#jdk-wsimport">
|
|
<mkdir dir="target/jaxws-source"/>
|
|
<exec executable="${java.home}/../bin/wsimport" dir="." failonerror="true">
|
|
<arg line="-keep -s ./target/jaxws-source -p ${package}
|
|
-d ./target/classes src/main/resources/${wsdlfile}"/>
|
|
</exec>
|
|
</target>
|
|
|
|
<!-- run the com.sun.tools.ws.WsImport class in jaxws-tools.jar if available -->
|
|
<target name="#wsimport-jaxws" unless="#jdk-wsimport">
|
|
<condition property="#jaxws-tools">
|
|
<available file="${env.JAXWS_HOME}/lib/jaxws-tools.jar" type="file"/>
|
|
</condition>
|
|
<fail unless="#jaxws-tools">
|
|
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 location="${env.JAXWS_HOME}/lib/jaxws-tools.jar"/>
|
|
</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, #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>
|
|
|
|
<!-- 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>
|
|
|
|
<!-- call the test target if required -->
|
|
<target name="#call-test" depends="#find-testjava" if="#testjava">
|
|
<antcall target="test"/>
|
|
</target>
|
|
|
|
<!-- check whether there are any test resources to copy -->
|
|
<target name="#find-testresources">
|
|
<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-testresources" depends="#find-testresources" if="#testresources">
|
|
<copy todir="target/test-classes">
|
|
<fileset dir="src/test/resources"/>
|
|
</copy>
|
|
</target>
|
|
|
|
<!-- perform additional test setup if required -->
|
|
<target name="#test-setup" if="test-setup">
|
|
<antcall target="testsetup"/>
|
|
</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"/>
|
|
|
|
<!-- compile the test classes -->
|
|
<target name="#test-compile" depends="#set-test-classpath">
|
|
<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"/>
|
|
<pathelement location="${env.JUNIT_JAR}"/>
|
|
</classpath>
|
|
</javac>
|
|
</target>
|
|
|
|
<!-- run the junit task -->
|
|
<target name="#run-junit" depends="#set-test-classpath, #set-javac-classpath">
|
|
<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"/>
|
|
<pathelement location="${env.JUNIT_JAR}"/>
|
|
</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>
|
|
|
|
<!-- check whether the Tuscany SCA version is 1.7-SNAPSHOT -->
|
|
<target name="#find-tuscany-1.7-SNAPSHOT" unless="#tuscany-version">
|
|
<fileset id="#tuscany-assembly-1.7-SNAPSHOT" dir="${env.TUSCANY_HOME}/modules">
|
|
<include name="tuscany-assembly-1.7-SNAPSHOT.jar"/>
|
|
</fileset>
|
|
<condition property="#tuscany-version" value="1.7-SNAPSHOT">
|
|
<resourcecount refid="#tuscany-assembly-1.7-SNAPSHOT" when="greater" count="0"/>
|
|
</condition>
|
|
<condition property="#tuscany-baseversion" value="1.7">
|
|
<resourcecount refid="#tuscany-assembly-1.7-SNAPSHOT" when="greater" count="0"/>
|
|
</condition>
|
|
<condition property="#tuscany-repo" value="m2-snapshot-repository">
|
|
<resourcecount refid="#tuscany-assembly-1.7-SNAPSHOT" when="greater" count="0"/>
|
|
</condition>
|
|
</target>
|
|
|
|
<!-- find the Tuscany SCA version that matches the JAVA_HOME environment variable -->
|
|
<target name="#find-tuscany-version" depends="#find-tuscany-1.5.1, #find-tuscany-1.6-SNAPSHOT,
|
|
#find-tuscany-1.6, #find-tuscany-1.7-SNAPSHOT">
|
|
<fail unless="#tuscany-version">
|
|
Error: Unknown Tuscany version for JAVA_HOME environment variable.
|
|
</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 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="target/classes"/>
|
|
</war>
|
|
</target>
|
|
|
|
<!-- build a jar file if there are no files in the webapp directory -->
|
|
<target name="#package-jar" unless="#webapp">
|
|
<antcall target="#create-jar"/>
|
|
</target>
|
|
|
|
<!-- build a packaged jar file or war file -->
|
|
<target name="#build-package" depends="#check-webapp, #package-war, #package-jar"/>
|
|
|
|
<!-- check whether a dependency path for the package target was specified -->
|
|
<target name="#check-package-path">
|
|
<condition property="#package-path">
|
|
<isreference refid="package-path"/>
|
|
</condition>
|
|
</target>
|
|
|
|
<!-- create a jar file with a Class-Path attribute -->
|
|
<target name="#create-jar-path" if="#package-path">
|
|
<property name="#parentdir" location=".."/>
|
|
<pathconvert property="#package-classpath" refid="package-path" pathsep=" " dirsep="/">
|
|
<map from="${#parentdir}" to="../.."/>
|
|
</pathconvert>
|
|
<jar destfile="target/${ant.project.name}.jar" basedir="target/classes"
|
|
excludes="**/*.cbp">
|
|
<manifest>
|
|
<attribute name="Class-Path" value="${#package-classpath}"/>
|
|
</manifest>
|
|
</jar>
|
|
</target>
|
|
|
|
<!-- create a jar file without a Class-Path attribute -->
|
|
<target name="#create-jar-nopath" unless="#package-path">
|
|
<jar destfile="target/${ant.project.name}.jar" basedir="target/classes"
|
|
excludes="**/*.cbp"/>
|
|
</target>
|
|
|
|
<!-- create a jar file with or without a Class-Path attribute -->
|
|
<target name="#create-jar" depends="#check-package-path, #create-jar-path, #create-jar-nopath"/>
|
|
|
|
<!-- 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="#call-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-testresources"/>
|
|
<antcall target="#test-setup"/>
|
|
<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>
|