blob: ceaec8f1d1a8e211a13d2f17470587e019b18dbd [file] [log] [blame]
<?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 -->
<presetdef name="maven">
<exec failonerror="true" executable="maven">
</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" />
<property name="target.dir" location="target"/>
<property name="artifact.title" value="${project.id}-${project.currentVersion}" />
<property name="target.jar" location="${target.dir}/${artifact.title}.jar"/>
<property name="target.pom" location="${target.dir}/${artifact.title}.pom"/>
</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>
<!-- inline creation of a very minimal (zero dependency) pom -->
<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>${project.id}</groupId>
<artifactId>${project.id}</artifactId>
<packaging>jar</packaging>
<version>${project.currentVersion}</version>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.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,dist-lite" />
<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="quick" depends="init"
description="make a distribution">
<mkdir dir="${basedir}/target/classes/"/>
<path id="classpath">
<fileset dir="${lib.dir}">
<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="saaj/src/**/*.java"/>
<include name="samples/src/**/*.java"/>
<include name="security/src/**/*.java"/>
<include name="wsdl/src/**/*.java"/>
<include name="xml/src/**/*.java"/>
<include name="doom/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>
</copy>
<copy todir="${basedir}/target/repo">
<fileset dir="${basedir}/modules/core/src/org/apache/axis2/deployment">
<include name="axis2.xml"/>
</fileset>
</copy>
</target>
</project>