| <?xml version="1.0"?> |
| <project name="axis2" default="quick" |
| |
| > |
| |
| <!-- |
| This is an ant build file to |
| -invoke maven to build the distribution |
| -copy the created files into the local Maven2 cache |
| -maybe deploy to a local cache, though that is NPE'ing right now. |
| --> |
| |
| |
| <!-- |
| not putting this at the top level as it breaks idea's ant-awareness |
| xmlns:m2="antlib:org.apache.maven.artifact.ant" |
| --> |
| |
| <!--any personal overrides; not read by maven--> |
| <property file="build.properties"/> |
| |
| <!--any personal overrides; also read by maven--> |
| <property file="project.properties"/> |
| <!--read in project properties, including library versions--> |
| <property file="etc/project.properties"/> |
| |
| |
| |
| <target name="default"> |
| |
| </target> |
| |
| <target name="init" > |
| <!--macro for maven --> |
| <property name="maven.commoncmd" value="--emacs" /> |
| <condition property="maven.line" |
| value="--offline ${maven.commoncmd}"> |
| <istrue value="${offline}"/> |
| </condition> |
| |
| <condition property="maven.executable" value="maven.bat"> |
| <os family="windows" /> |
| </condition> |
| <property name="maven.executable" value="maven" /> |
| |
| <property name="maven.line" value="${maven.commoncmd}" /> |
| <presetdef name="maven"> |
| <exec failonerror="true" executable="${maven.executable}"> |
| <arg line="${maven.line}" /> |
| </exec> |
| </presetdef> |
| |
| <!-- location of m2 repository (with new layout) --> |
| <property name="m2.repository" location="${user.home}/.m2/repository"/> |
| <!-- original m1 repository --> |
| <property name="m1.repository" location="${user.home}/.maven/repository"/> |
| |
| <property name="project.xml" location="etc/project.xml" /> |
| <!-- pull out the value of the project version from the maven1 file--> |
| <xmlproperty file="${project.xml}" |
| keeproot="true" semanticAttributes="true" /> |
| |
| <property name="target.dir" location="target"/> |
| <property name="project.version" value="${axis2_version}" /> |
| <property name="artifact.title" value="${project.id}-${project.version}" /> |
| <property name="target.jar" location="${target.dir}/${artifact.title}.jar"/> |
| <property name="target.pom" location="${target.dir}/${artifact.title}.pom"/> |
| <!-- use a proper m2 hierarchy --> |
| <property name="maven2.groupId" value="org.apache.ws.${project.groupId}"/> |
| |
| <available file="${basedir}/target/lib/wsdl4j-${wsdl4j.version}.jar" property="jars.present"/> |
| |
| </target> |
| |
| <target name="clean" depends="init" |
| description="clean everything"> |
| <maven> |
| <arg value="multiproject:clean"/> |
| </maven> |
| </target> |
| |
| <target name="dist" depends="init" |
| description="make a distribution"> |
| <maven> |
| </maven> |
| </target> |
| |
| <target name="dist-lite" depends="init" |
| description="make a distribution, skip testing"> |
| <maven> |
| <arg value="-Dmaven.test.skip=true" /> |
| </maven> |
| </target> |
| |
| <target name="create-lib" unless="jars.present" depends="init" |
| description="creates the libraries"> |
| <maven> |
| <arg value="create-lib" /> |
| </maven> |
| </target> |
| |
| <!-- inline creation of a very minimal pom |
| Only libraries that absolutely must be present should be listed. |
| This POM omits a choice of StAX parser, because there are so many. |
| --> |
| <target name="m2-pom" depends="init" xmlns:m2="antlib:org.apache.maven.artifact.ant"> |
| <echo message="Creating Pom ${target.pom}" level="verbose"/> |
| <!--ant1.7's echoxml makes this easier --> |
| |
| |
| <echo file="${target.pom}"><![CDATA[<project> |
| <modelVersion>4.0.0</modelVersion> |
| <groupId>${maven2.groupId}</groupId> |
| <artifactId>${project.id}</artifactId> |
| <packaging>jar</packaging> |
| <version>${project.version}</version> |
| <dependencies> |
| <dependency> |
| <groupId>annogen</groupId> |
| <artifactId>annogen</artifactId> |
| <version>${annogen.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>axis</groupId> |
| <artifactId>axis-wsdl4j</artifactId> |
| <version>${axis.wsdl4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>backport-util-concurrent</groupId> |
| <artifactId>backport-util-concurrent</artifactId> |
| <version>${backport_util_concurrent.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-logging</groupId> |
| <artifactId>commons-logging</artifactId> |
| <version>${commons.logging.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>log4j</groupId> |
| <artifactId>log4j</artifactId> |
| <version>${log4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>ws-commons</groupId> |
| <artifactId>neethi</artifactId> |
| <version>${policy.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.ws.commons</groupId> |
| <artifactId>XmlSchema</artifactId> |
| <version>${XmlSchema.m2.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>ws-commons</groupId> |
| <artifactId>axiom</artifactId> |
| <version>${axiom.version}</version> |
| </dependency> |
| </dependencies> |
| </project> |
| ]]></echo> |
| <m2:pom id="m2.pom" file="${target.pom}"/> |
| </target> |
| |
| |
| <target name="m2-wagons" depends="init" |
| xmlns:m2="antlib:org.apache.maven.artifact.ant"> |
| <property name="wagon.version" value="1.0-alpha-5"/> |
| <m2:install-provider artifactId="wagon-ssh" |
| version="${wagon.version}"/> |
| <m2:install-provider artifactId="wagon-ssh-external" |
| version="${wagon.version}"/> |
| <m2:install-provider artifactId="wagon-file" |
| version="${wagon.version}"/> |
| <m2:install-provider artifactId="wagon-ftp" |
| version="${wagon.version}"/> |
| </target> |
| |
| <target name="ready-to-deploy" depends="m2-pom" /> |
| |
| <target name="m2-install" depends="ready-to-deploy" |
| description="install the libray into the local m2 repository" |
| xmlns:m2="antlib:org.apache.maven.artifact.ant"> |
| <m2:install file="${target.jar}"> |
| <pom refid="m2.pom"/> |
| </m2:install> |
| </target> |
| |
| <target name="m2-filesys-deploy" depends="ready-to-deploy" |
| xmlns:m2="antlib:org.apache.maven.artifact.ant"> |
| <fail unless="filesys.url"> |
| filesys.url needs to be set to a file: url of the local destination |
| for in-filesystem deployment |
| </fail> |
| <m2:deploy file="${target.jar}"> |
| <remoteRepository url="${filesys.url}"/> |
| <pom refid="m2.pom"/> |
| </m2:deploy> |
| </target> |
| |
| <target name="installed" |
| description="locally installed" |
| depends="dist-lite,m2-install" /> |
| |
| <target name="quick" depends="create-lib" |
| description="make a distribution"> |
| <mkdir dir="${basedir}/target/classes/"/> |
| <path id="classpath"> |
| <fileset dir="${basedir}/target/lib"> |
| <include name="**/*.jar"/> |
| </fileset> |
| </path> |
| |
| <javac srcdir="${basedir}/modules" |
| destdir="${basedir}/target/classes/" |
| debug="true" |
| source="1.4" |
| classpathref="classpath"> |
| <include name="addressing/src/**/*.java"/> |
| <include name="adb/src/**/*.java"/> |
| <include name="codegen/src/**/*.java"/> |
| <include name="common/src/**/*.java"/> |
| <include name="core/src/**/*.java"/> |
| <include name="integration/src/**/*.java"/> |
| <include name="java2wsdl/src/**/*.java"/> |
| <include name="jibx/src/**/*.java"/> |
| <include name="saaj/src/**/*.java"/> |
| <include name="samples/src/**/*.java"/> |
| <include name="security/src/**/*.java"/> |
| <include name="soapmonitor/src/**/*.java"/> |
| <include name="xmlbeans/src/**/*.java"/> |
| </javac> |
| <copy todir="${basedir}/target/classes/"> |
| <fileset dir="${basedir}/modules/common/src"> |
| <include name="**/*.properties"/> |
| <include name="**/*.xsl"/> |
| </fileset> |
| <fileset dir="${basedir}/modules/core/conf"> |
| <include name="**/*.properties"/> |
| </fileset> |
| <fileset dir="${basedir}/modules/core/src"> |
| <include name="**/*axis2*.xml"/> |
| </fileset> |
| <fileset dir="${basedir}/modules/codegen/src"> |
| <include name="**/*.properties"/> |
| <include name="**/*.xsl"/> |
| <include name="**/*.xsd"/> |
| </fileset> |
| </copy> |
| <mkdir dir="${basedir}/target/repo/modules"/> |
| <copy todir="${basedir}/target/repo/modules"> |
| <fileset dir="${basedir}/modules/addressing/target"> |
| <include name="**/*.mar"/> |
| </fileset> |
| <fileset dir="${basedir}/modules/security/target"> |
| <include name="**/*.mar"/> |
| </fileset> |
| <fileset dir="${basedir}/modules/soapmonitor/target"> |
| <include name="**/*.mar"/> |
| </fileset> |
| </copy> |
| <copy todir="${basedir}/target/repo"> |
| <fileset dir="${basedir}/modules/core/src/org/apache/axis2/deployment"> |
| <include name="axis2.xml"/> |
| </fileset> |
| </copy> |
| </target> |
| |
| <target name="diag" depends="init"> |
| <!-- probably ant 1.7+ only --> |
| <diagnostics/> |
| <echoproperties/> |
| </target> |
| |
| </project> |