This commit is contained in:
Manuele Simi 2008-05-02 20:29:54 +00:00
parent 8a22b0a4f7
commit 2ff9b53c84
1 changed files with 0 additions and 522 deletions

View File

@ -1,522 +0,0 @@
<?xml version="1.0"?>
<!--
Ant buildfile for GCUBE Services
Version 0.2
REQUIRED INPUT PROPERTIES (NO DEFAULTS AVAILABLE)
This buildfile assumes that the following properties have been defined (using the -D
flag, or placing them in a separate "build.properties" file). Note that some of these
properties make sense _relative_ to other properties for which this buildfile
provides sensible default values (see below)
name: Unique name of the service.
wsdl.<n>: Filename of the <n>-th wsdl file associated with the service. The script assumes up to 3 wsdls (wsdl.1, wsdl.2, wsdl.3).
Further wsdls require a simple script extension (see guidelines at end of script).
package: Root package of the service implementation: includes code and configuration.
package.dir: Directory corresponding to $package, relative to $base.dir (same as $package
but with directory separators instead of dots). It must contain WSDD and JNDI files.
lib.dir: Root directory where auxiliary jar files are located. Ideally outside $base.dir as not needed for remote build and dynamic deployment.
OPTIONAL INPUT PROPERTIES (DEFAULT AVAILABLE)
base.dir: Root directory of the service. Defaults to ".").
schema.dir.name: Name of the $base.dir subdirectory which contains the wsdl/s. Defaults to "schema".
Defaults to $name.
etc.dir.name: Name of the $package.dir subdirectory which contains the configuration (other than WSSD and JNDI). Defaults to "etc".
stubs.dir.name: Name of the $package.dir subdirectory which contains auxiliary files and resources for stubs. Defaults to "stubs".
garname: Unique name of the GAR file to be generated. Defaults to $name.
-->
<project default="service" name="GCUBE Service Buildfile">
<!-- environment -->
<property environment="env" />
<!-- container -->
<property name="container.dir" location="${env.GLOBUS_LOCATION}" />
<property name="build.packages" location="${container.dir}/share/globus_wsrf_common/build-packages.xml" />
<property name="build.stubs" location="${container.dir}/share/globus_wsrf_tools/build-stubs.xml" />
<property name="container.schema.dir" location="${container.dir}/share/schema" />
<!-- property files (will override defaults).-->
<property file="build.properties" />
<property file="${user.home}/build.properties" />
<!-- building environment -->
<property name="build.location" location="${BUILD_LOCATION}" />
<!-- service defaults -->
<property name="service.dir" location="." />
<property name="schema.dir.name" value="schema" />
<property name="etc.dir.name" value="etc" />
<property name="stubs.dir.name" value="stubs" />
<property name="schema.dir" location="${service.dir}/${schema.dir.name}"/>
<property name="etc.dir" value="${service.dir}/${etc.dir.name}" />
<available file="${etc.dir}" property="etc.dir.present"/>
<mkdir dir="${etc.dir}" /><!-- no effect if already exists -->
<property name="stubs.dir" value="${service.dir}/${package.dir}/${stubs.dir.name}" />
<available file="${stubs.dir}" property="stubs.dir.present"/>
<mkdir dir="${stubs.dir}" /> <!-- no effect if already exists -->
<property name="lib.location" value="${build.location}/${lib.dir}" />
<available file="${lib.location}" property="lib.location.present"/>
<mkdir dir="${lib.location}" /> <!-- no effect if already exists -->
<property name="mappings.file" value="${service.dir}/namespace2package.mappings" />
<!-- input summary -->
<echo message="INPUTS:" level="info"/>
<echo message="Name = ${name}" level="info"/>
<echo message="Service Package = ${package}" level="info"/>
<echo message="Service Directory = ${service.dir}/${package.dir}" level="info"/>
<echo message="Schema Directory = ${schema.dir}" level="info"/>
<echo message="Stubs Aux Directory = ${stubs.dir}" level="info"/>
<echo message="Configuration Directory = ${etc.dir}" level="info"/>
<echo message="Lib Aux Directory = ${lib.location}" level="info"/>
<!-- file defaults -->
<property name="garname" value="${name}"/>
<property name="garfile" value="${package}.gar"/>
<property name="jarfile" value="${package}.jar" />
<property name="jarfile.stubs" value="${package}.stubs.jar" />
<!-- output summary -->
<echo message="OUTPUTS:" level="info"/>
<echo message="Service GAR = ${garfile}" level="info"/>
<echo message="Service JAR = ${jarfile}" level="info"/>
<echo message="Stubs' JAR = ${jarfile.stubs}" level="info"/>
<!-- Build defaults -->
<property name="build.dir" location="${service.dir}/build" />
<property name="build.class.dir" location="${build.dir}/classes" />
<property name="build.lib.dir" location="${build.dir}/lib" />
<property name="build.schema.dir" location="${build.dir}/schema" />
<property name="build.schema.service.dir" location="${build.schema.dir}/${name}" />
<property name="build.stubs.dir" location="${build.dir}/stubs-${name}" />
<property name="build.stubs.src.dir" location="${build.stubs.dir}/src" />
<property name="build.stubs.class.dir" location="${build.stubs.dir}/classes" />
<!-- build profile -->
<echo message="BUILD PROFILE:" level="info"/>
<echo message="Directory = ${build.dir}" level="info"/>
<echo message="Class Directory = ${build.class.dir}" level="info"/>
<echo message="Lib Directory = ${build.lib.dir}" level="info"/>
<echo message="Stubs Directory = ${build.stubs.dir}" level="info"/>
<echo message="Stubs Class Directory = ${build.stubs.class.dir}" level="info"/>
<echo message="Stubs Source Directory = ${build.stubs.src.dir}" level="info"/>
<!-- misc defaults -->
<property name="java.debug" value="on" />
<property name="java.deprecation" value="off" />
<!-- common filesets -->
<fileset dir="${build.lib.dir}" id="garjars" />
<property name="garjars.id" value="garjars" />
<fileset dir="${build.schema.dir}" id="garschema">
<include name="${name}/**" />
</fileset>
<property name="garschema.id" value="garschema" />
<fileset dir="${etc.dir}" id="garetc" />
<property name="garetc.id" value="garetc" />
<!-- startup tasks -->
<target name="stubs" depends="clean,deployStubs" description="generates, builds, jars and deploy stubs">
</target>
<target name="service" depends="cleanService,garService" description="generates, builds, and gars service">
</target>
<!-- initialisation tasks -->
<target name="init" description="creates build structures">
<mkdir dir="${build.dir}" />
<mkdir dir="${build.class.dir}" />
<delete dir="${build.lib.dir}" />
<mkdir dir="${build.lib.dir}" />
<mkdir dir="${build.schema.service.dir}" />
<mkdir dir="${build.stubs.dir}" />
<mkdir dir="${build.stubs.src.dir}" />
<mkdir dir="${build.stubs.class.dir}"/>
<!-- Populates schema folder -->
<copy toDir="${build.schema.dir}">
<fileset dir="${container.schema.dir}" casesensitive="yes">
<include name="wsrf/**/*" />
<include name="ws/**/*" />
<include name="gcube/**/**/**/*" />
</fileset>
</copy>
<copy toDir="${build.schema.service.dir}">
<fileset dir="${schema.dir}"/>
</copy>
<copy toDir="${build.lib.dir}">
<fileset dir="${lib.location}">
<exclude name="${jarfile.stubs}" />
</fileset>
</copy>
</target>
<!-- wsdl specific tasks. Clone for each additional wsdl, if required -->
<target name="processWSDL.1" depends="init" if="wsdl.1" description="Flattens wsdl and generate bindings">
<echo message="PROCESSING ${wsdl.1}'s WSDL:" level="debug"/>
<ant antfile="${build.stubs}" target="flatten">
<property name="source.flatten.dir" location="${build.schema.service.dir}" />
<property name="target.flatten.dir" location="${build.schema.service.dir}" />
<property name="wsdl.source" value="${wsdl.1}.wsdl" />
<property name="wsdl.target" value="${wsdl.1}_flattened.wsdl" />
<property name="wsdl.porttype" value="${wsdl.1}PortType" />
</ant>
<ant antfile="${build.stubs}" target="generateBinding">
<property name="source.binding.dir" value="${build.schema.service.dir}" />
<property name="target.binding.dir" value="${build.schema.service.dir}" />
<property name="porttype.wsdl" value="${wsdl.1}_flattened.wsdl" />
<property name="binding.root" value="${wsdl.1}" />
</ant>
</target>
<target name="processWSDL.2" depends="init" if="wsdl.2" description="Flattens wsdl and generate bindings">
<echo message="PROCESSING ${wsdl.2}'s WSDL:" level="debug"/>
<ant antfile="${build.stubs}" target="flatten">
<property name="source.flatten.dir" location="${build.schema.service.dir}" />
<property name="target.flatten.dir" location="${build.schema.service.dir}" />
<property name="wsdl.source" value="${wsdl.2}.wsdl" />
<property name="wsdl.target" value="${wsdl.2}_flattened.wsdl" />
<property name="wsdl.porttype" value="${wsdl.2}PortType" />
</ant>
<ant antfile="${build.stubs}" target="generateBinding">
<property name="source.binding.dir" value="${build.schema.service.dir}" />
<property name="target.binding.dir" value="${build.schema.service.dir}" />
<property name="porttype.wsdl" value="${wsdl.2}_flattened.wsdl" />
<property name="binding.root" value="${wsdl.2}" />
</ant>
</target>
<target name="processWSDL.3" depends="init" if="wsdl.3" description="Flattens wsdl and generate bindings">
<echo message="PROCESSING ${wsdl.3}'s WSDL:" level="debug"/>
<ant antfile="${build.stubs}" target="flatten">
<property name="source.flatten.dir" location="${build.schema.service.dir}" />
<property name="target.flatten.dir" location="${build.schema.service.dir}" />
<property name="wsdl.source" value="${wsdl.3}.wsdl" />
<property name="wsdl.target" value="${wsdl.3}_flattened.wsdl" />
<property name="wsdl.porttype" value="${wsdl.3}PortType" />
</ant>
<ant antfile="${build.stubs}" target="generateBinding">
<property name="source.binding.dir" value="${build.schema.service.dir}" />
<property name="target.binding.dir" value="${build.schema.service.dir}" />
<property name="porttype.wsdl" value="${wsdl.3}_flattened.wsdl" />
<property name="binding.root" value="${wsdl.3}" />
</ant>
</target>
<target name="processWSDL.4" depends="init" if="wsdl.4" description="Flattens wsdl and generate bindings">
<echo message="PROCESSING ${wsdl.4}'s WSDL:" level="debug"/>
<ant antfile="${build.stubs}" target="flatten">
<property name="source.flatten.dir" location="${build.schema.service.dir}" />
<property name="target.flatten.dir" location="${build.schema.service.dir}" />
<property name="wsdl.source" value="${wsdl.4}.wsdl" />
<property name="wsdl.target" value="${wsdl.4}_flattened.wsdl" />
<property name="wsdl.porttype" value="${wsdl.4}PortType" />
</ant>
<ant antfile="${build.stubs}" target="generateBinding">
<property name="source.binding.dir" value="${build.schema.service.dir}" />
<property name="target.binding.dir" value="${build.schema.service.dir}" />
<property name="porttype.wsdl" value="${wsdl.4}_flattened.wsdl" />
<property name="binding.root" value="${wsdl.4}" />
</ant>
</target>
<target name="processWSDL.5" depends="init" if="wsdl.5" description="Flattens wsdl and generate bindings">
<echo message="PROCESSING ${wsdl.5}'s WSDL:" level="debug"/>
<ant antfile="${build.stubs}" target="flatten">
<property name="source.flatten.dir" location="${build.schema.service.dir}" />
<property name="target.flatten.dir" location="${build.schema.service.dir}" />
<property name="wsdl.source" value="${wsdl.5}.wsdl" />
<property name="wsdl.target" value="${wsdl.5}_flattened.wsdl" />
<property name="wsdl.porttype" value="${wsdl.5}PortType" />
</ant>
<ant antfile="${build.stubs}" target="generateBinding">
<property name="source.binding.dir" value="${build.schema.service.dir}" />
<property name="target.binding.dir" value="${build.schema.service.dir}" />
<property name="porttype.wsdl" value="${wsdl.5}_flattened.wsdl" />
<property name="binding.root" value="${wsdl.5}" />
</ant>
</target>
<target name="processWSDL.6" depends="init" if="wsdl.6" description="Flattens wsdl and generate bindings">
<echo message="PROCESSING ${wsdl.6}'s WSDL:" level="debug"/>
<ant antfile="${build.stubs}" target="flatten">
<property name="source.flatten.dir" location="${build.schema.service.dir}" />
<property name="target.flatten.dir" location="${build.schema.service.dir}" />
<property name="wsdl.source" value="${wsdl.6}.wsdl" />
<property name="wsdl.target" value="${wsdl.6}_flattened.wsdl" />
<property name="wsdl.porttype" value="${wsdl.6}PortType" />
</ant>
<ant antfile="${build.stubs}" target="generateBinding">
<property name="source.binding.dir" value="${build.schema.service.dir}" />
<property name="target.binding.dir" value="${build.schema.service.dir}" />
<property name="porttype.wsdl" value="${wsdl.6}_flattened.wsdl" />
<property name="binding.root" value="${wsdl.6}" />
</ant>
</target>
<target name="generateStubs.1" depends="mergePackageMapping" if="wsdl.1" description="Generate wsdl stub classes">
<echo message="GENERATING ${wsdl.1}'s STUBS:" level="debug"/>
<ant antfile="${build.stubs}" target="generateStubs">
<property name="mapping.file" location="${build.dir}/namespace2package.mappings" />
<property name="source.stubs.dir" location="${build.schema.service.dir}" />
<property name="target.stubs.dir" location="${build.stubs.src.dir}" />
<property name="wsdl.file" value="${wsdl.1}_service.wsdl" />
</ant>
</target>
<target name="generateStubs.2" depends="mergePackageMapping" if="wsdl.2" description="Generate wsdl stub classes">
<echo message="GENERATING ${wsdl.2}'s STUBS:" level="debug"/>
<ant antfile="${build.stubs}" target="generateStubs">
<property name="mapping.file" location="${build.dir}/namespace2package.mappings" />
<property name="source.stubs.dir" location="${build.schema.service.dir}" />
<property name="target.stubs.dir" location="${build.stubs.src.dir}" />
<property name="wsdl.file" value="${wsdl.2}_service.wsdl" />
</ant>
</target>
<target name="generateStubs.3" depends="mergePackageMapping" if="wsdl.3" description="Generate wsdl stub classes">
<echo message="GENERATING ${wsdl.3}'s STUBS:" level="debug"/>
<ant antfile="${build.stubs}" target="generateStubs">
<property name="mapping.file" location="${build.dir}/namespace2package.mappings" />
<property name="source.stubs.dir" location="${build.schema.service.dir}" />
<property name="target.stubs.dir" location="${build.stubs.src.dir}" />
<property name="wsdl.file" value="${wsdl.3}_service.wsdl" />
</ant>
</target>
<target name="generateStubs.4" depends="mergePackageMapping" if="wsdl.4" description="Generate wsdl stub classes">
<echo message="GENERATING ${wsdl.4}'s STUBS:" level="debug"/>
<ant antfile="${build.stubs}" target="generateStubs">
<property name="mapping.file" location="${build.dir}/namespace2package.mappings" />
<property name="source.stubs.dir" location="${build.schema.service.dir}" />
<property name="target.stubs.dir" location="${build.stubs.src.dir}" />
<property name="wsdl.file" value="${wsdl.4}_service.wsdl" />
</ant>
</target>
<target name="generateStubs.5" depends="mergePackageMapping" if="wsdl.5" description="Generate wsdl stub classes">
<echo message="GENERATING ${wsdl.5}'s STUBS:" level="debug"/>
<ant antfile="${build.stubs}" target="generateStubs">
<property name="mapping.file" location="${build.dir}/namespace2package.mappings" />
<property name="source.stubs.dir" location="${build.schema.service.dir}" />
<property name="target.stubs.dir" location="${build.stubs.src.dir}" />
<property name="wsdl.file" value="${wsdl.5}_service.wsdl" />
</ant>
</target>
<target name="generateStubs.6" depends="mergePackageMapping" if="wsdl.6" description="Generate wsdl stub classes">
<echo message="GENERATING ${wsdl.6}'s STUBS:" level="debug"/>
<ant antfile="${build.stubs}" target="generateStubs">
<property name="mapping.file" location="${build.dir}/namespace2package.mappings" />
<property name="source.stubs.dir" location="${build.schema.service.dir}" />
<property name="target.stubs.dir" location="${build.stubs.src.dir}" />
<property name="wsdl.file" value="${wsdl.6}_service.wsdl" />
</ant>
</target>
<!-- Cross-wsdl tasks. Adds dependencies for each additional wsdl, if required -->
<target name="processWSDLs" depends="processWSDL.1,processWSDL.2,processWSDL.3,processWSDL.4,processWSDL.5,processWSDL.6" description="generate bindings for all porttypes" />
<target name="generateStubs" depends="generateStubs.1,generateStubs.2,generateStubs.3,generateStubs.4,generateStubs.5,generateStubs.6" description="generate stub classes for all porttypes" />
<!-- Service Build tasks -->
<target name="buildService" depends="processWSDLs" description="compiles service implementation">
<javac srcdir="${package.dir}" destdir="${build.class.dir}" debug="${java.debug}" deprecation="${java.deprecation}">
<classpath>
<fileset dir="${lib.location}">
<include name="**/*.jar" />
<exclude name="**/${jarfile}" />
</fileset>
<fileset dir="${container.dir}/lib">
<include name="*.jar" />
<exclude name="${jarfile}" />
</fileset>
</classpath>
</javac>
</target>
<target name="jarService" depends="buildService" description="jars service implementation">
<jar jarfile="${build.lib.dir}/${jarfile}" basedir="${build.class.dir}">
<include name="${package.dir}/**" />
</jar>
</target>
<target name="garService" depends="jarService" description="creates service gar">
<ant antfile="${build.packages}" target="makeGar">
<property name="garserverdeployment.file" value="${etc.dir}/deploy-server.wsdd" />
<property name="garserverdeployment_NOSEC.file" value="${etc.dir}/deploy-server.wsdd_NOSEC" />
<property name="garclientdeployment.file" value="${etc.dir}/deploy-client.wsdd" />
<property name="garclientserverdeployment.file" value="${etc.dir}/deploy-client-server.wsdd" />
<property name="garjndiconfigdeployment.file" value="${etc.dir}/deploy-jndi-config.xml" />
<property name="gar.id" value="${package}" />
<reference refid="${garjars.id}" />
<reference refid="${garschema.id}" />
<reference refid="${garetc.id}" />
</ant>
<delete dir="tmp" />
</target>
<!-- Stub Build tasks -->
<target name="mergePackageMapping" description="merge service namespace mappings file with global one">
<ant antfile="${build.stubs}" target="mergePackageMapping">
<property name="mapping.src" location="${mappings.file}" />
<property name="mapping.dst" location="${build.dir}/namespace2package.mappings" />
</ant>
</target>
<target name="buildStubs" depends="processWSDLs,generateStubs" description="build service stubs">
<echo message="BUILDING ${wsdl.1}'s STUBS:" level="debug"/>
<javac srcdir="${build.stubs.src.dir}" destdir="${build.stubs.class.dir}" debug="${java.debug}" deprecation="${java.deprecation}" description="compile stub classes">
<include name="**/*.java" />
<classpath>
<fileset dir="${container.dir}/lib">
<include name="*.jar" />
<exclude name="${jarfile.stubs}" />
<exclude name="${jarfile}" />
</fileset>
</classpath>
</javac>
<javac srcdir="${stubs.dir}" destdir="${build.stubs.class.dir}" debug="${java.debug}" deprecation="${java.deprecation}" description="compile additional stub classes and resources">
<include name="**/*.java" />
<classpath>
<pathelement path="${build.stubs.class.dir}"/>
<fileset dir="${lib.location}">
<include name="**/*.jar" />
<exclude name="**/${jarfile.stubs}" />
<exclude name="**/${jarfile}" />
</fileset>
<fileset dir="${container.dir}/lib">
<include name="*.jar" />
<exclude name="${jarfile.stubs}" />
<exclude name="${jarfile}" />
</fileset>
</classpath>
</javac>
<copy toDir="${build.stubs.class.dir}/${package.dir}/${stubs.dir.name}" overwrite="true">
<fileset dir="${stubs.dir}" casesensitive="yes">
<exclude name="**/*.java" />
<exclude name="**/*.class" />
</fileset>
</copy>
</target>
<target name="jarStubs" depends="buildStubs" description="jar stub classes">
<jar destfile="${build.lib.dir}/${jarfile.stubs}" basedir="${build.stubs.class.dir}" />
</target>
<target name="deployStubs" depends="jarStubs" description="deploy stub jar">
<copy file="${build.lib.dir}/${jarfile.stubs}" toDir="${container.dir}/lib"/>
<copy file="${build.lib.dir}/${jarfile.stubs}" toDir="${lib.location}"/>
<copy toDir="${container.dir}/lib">
<fileset dir="${lib.location}">
<include name="*.jar" />
</fileset>
</copy>
</target>
<!-- javadoc tasks -->
<target name="doc">
<javadoc access="public" author="true" sourcepath="${service.dir}" packagenames="${package}.*"
destdir="doc/api" nodeprecated="false" nodeprecatedlist="false"
noindex="false" nonavbar="false" notree="false"
source="1.5"
splitindex="true"
use="true" version="true" failonerror="false">
<classpath>
<fileset dir="${lib.location}">
<include name="**/*.jar" />
<exclude name="**/${jarfile}" />
</fileset>
<fileset dir="${container.dir}/lib">
<include name="*.jar" />
</fileset>
</classpath>
</javadoc>
</target>
<target name="docstubs">
<javadoc access="public" author="true" destdir="doc/api" nodeprecated="false"
packagenames="${package}.${stubs.dir.name}.*"
nodeprecatedlist="false" noindex="false" nonavbar="false" notree="false"
source="1.5" sourcepath="${build.stubs.src.dir}"
splitindex="true" use="true" version="true"
failonerror="false">
<classpath>
<fileset dir="${lib.location}">
<include name="**/*.jar" />
<exclude name="**/${jarfile.stubs}" />
</fileset>
<fileset dir="${container.dir}/lib">
<include name="*.jar" />
</fileset>
</classpath>
</javadoc>
</target>
<!-- cleanup tasks -->
<target name="cleanService" depends="clean">
<delete dir="${service.dir}/tmp" />
<delete file="${garfile}" />
</target>
<target name="clean">
<delete dir="${build.dir}" />
</target>
<!-- Task Templates for additional wsdls: for each one, clone, decomment, and replace <n> with wsdl number -->
<!--<target name="processWSDL.<n>" depends="init" if="wsdl.<n>" description="Flattens wsdl and generate bindings">
<echo message="PROCESSING ${wsdl.<n>}'s WSDL:" level="debug"/>
<ant antfile="${build.stubs}" target="flatten">
<property name="source.flatten.dir" location="${build.schema.service.dir}" />
<property name="target.flatten.dir" location="${build.schema.service.dir}" />
<property name="wsdl.source" value="${wsdl.<n>}.wsdl" />
<property name="wsdl.target" value="${wsdl.<n>}_flattened.wsdl" />
<property name="wsdl.porttype" value="${wsdl.<n>}PortType" />
</ant>
<ant antfile="${build.stubs}" target="generateBinding">
<property name="source.binding.dir" value="${build.schema.service.dir}" />
<property name="target.binding.dir" value="${build.schema.service.dir}" />
<property name="porttype.wsdl" value="${wsdl.<n>}_flattened.wsdl" />
<property name="binding.root" value="${wsdl.<n>}" />
</ant>
</target>
<target name="generateStubs.<n>" depends="mergePackageMapping" if="wsdl.<n>" description="Generate wsdl stub classes">
<echo message="GENERATING ${wsdl.<n>}'s STUBS:" level="debug"/>
<ant antfile="${build.stubs}" target="generateStubs">
<property name="mapping.file" location="${build.dir}/namespace2package.mappings" />
<property name="source.stubs.dir" location="${build.schema.service.dir}" />
<property name="target.stubs.dir" location="${build.stubs.src.dir}" />
<property name="wsdl.file" value="${wsdl.<n>}_service.wsdl" />
</ant>
</target>
-->
</project>