<!--
 ! ASM: a very small and fast Java bytecode manipulation framework
 ! Copyright (c) 2000-2011 INRIA, France Telecom
 ! All rights reserved.
 !
 ! Redistribution and use in source and binary forms, with or without
 ! modification, are permitted provided that the following conditions
 ! are met:
 ! 1. Redistributions of source code must retain the above copyright
 !    notice, this list of conditions and the following disclaimer.
 ! 2. Redistributions in binary form must reproduce the above copyright
 !    notice, this list of conditions and the following disclaimer in the
 !    documentation and/or other materials provided with the distribution.
 ! 3. Neither the name of the copyright holders nor the names of its
 !    contributors may be used to endorse or promote products derived from
 !    this software without specific prior written permission.
 !
 ! THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 ! AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 ! IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 ! ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
 ! LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 ! CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 ! SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 ! INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 ! CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 ! ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
 ! THE POSSIBILITY OF SUCH DAMAGE.
-->

<project name="ASM" default="compile" xmlns:m2="urn:maven-artifact-ant">

	<!-- ==================================== -->
	<!-- ======== PROPERTY DEFINITION ======= -->
	<!-- ==================================== -->

	<property file="${user.home}/asm-build.properties" />
	<property file="build.config" />
	<property file="build.properties" />

	<property name="src" value="${basedir}/src" />
	<property name="test" value="${basedir}/test" />
	<property name="doc" value="${basedir}/doc" />
	<property name="jdoc" value="${basedir}/jdoc" />
	<property name="web" value="${basedir}/web" />
	<property name="examples" value="${basedir}/examples" />
	<property name="examples.common" value="${examples}/common" />
	<property name="config" value="${basedir}/config" />
	<property name="archive" value="${basedir}/archive" />

	<property name="out" value="${basedir}/output" />
	<property name="out.build" value="${out}/build" />
	<property name="out.instr" value="${out}/instr" />
	<property name="out.dist" value="${out}/dist" />
	<property name="out.dist.lib" value="${out.dist}/lib" />
	<property name="out.dist.doc" value="${out.dist}/doc" />
	<property name="out.dist.jdoc" value="${out.dist.doc}/javadoc" />
	<property name="out.dist.examples" value="${out.dist}/examples" />
	<property name="out.dist.externals" value="${out.dist}/externals" />
	<property name="out.test" value="${out}/test" />
	<property name="out.tmp" value="${out}/tmp" />
	<property name="out.zip" value="${out}/zip" />

	<property name="maven-staging-repository-id" value="ow2.release" />
	<property name="maven-staging-repository-url" value="http://repository.ow2.org/nexus/service/local/staging/deploy/maven2" />

	<target name="properties">
		<condition property="examples.exist">
			<available file="${examples}" />
		</condition>

		<condition property="web.exist">
			<available file="${web}/build.xml" />
		</condition>

		<condition property="paths.configured">
			<and>
				<isset property="objectweb.ant.tasks.path" />
			</and>
		</condition>

		<condition property="passphrase.configured">
			<and>
				<isset property="passphrase" />
			</and>
		</condition>

		<condition property="product.shrink">
			<not>
				<isset property="product.noshrink" />
			</not>
		</condition>

		<condition property="SIGV" value="false" else="true">
			<isset property="nosignatures" />
		</condition>
		<condition property="SIG" value="-signatures" else="">
			<isset property="nosignatures" />
		</condition>
		<condition property="ANNV" value="false" else="true">
			<isset property="noannotations" />
		</condition>
		<condition property="ANN" value="-annotations" else="">
			<isset property="noannotations" />
		</condition>
		<condition property="FRAMESV" value="false" else="true">
			<isset property="noframes" />
		</condition>
		<condition property="FRAMES" value="-frames" else="">
			<isset property="noframes" />
		</condition>
		<condition property="WRITERV" value="false" else="true">
			<isset property="nowriter" />
		</condition>
		<condition property="WRITER" value="-writer" else="">
			<isset property="nowriter" />
		</condition>
		<condition property="RESIZEV" value="false" else="true">
			<isset property="noresize" />
		</condition>
		<condition property="RESIZE" value="-resize" else="">
			<isset property="noresize" />
		</condition>
	</target>

	<!-- ================================== -->
	<!-- ========  INITIALIZATION   ======= -->
	<!-- ================================== -->

	<target name="check" unless="paths.configured">
		<echo message="The 'build.properties' file must be configured" />
		<fail />
	</target>

	<target name="init" depends="properties,check">

		<path id="classpath">
			<pathelement location="${out.build}" />
		</path>

		<path id="cobertura.classpath">
			<pathelement path="${cobertura.path}" />
		</path>

		<taskdef classpathref="cobertura.classpath" resource="tasks.properties" />

		<typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="urn:maven-artifact-ant">
			<classpath>
				<pathelement location="test/lib/maven-ant-tasks-2.1.3.jar" />
			</classpath>
		</typedef>

	</target>

	<!-- =================================== -->
	<!-- ==========    COMPILE    ========== -->
	<!-- =================================== -->

	<target name="compile-init">
		<mkdir dir="${out.build}/tmp" />
		<condition property="config.uptodate">
			<uptodate srcfile="${src}/org/objectweb/asm/ClassReader.java" targetfile="${out.build}/tmp/org/objectweb/asm/ClassReader.java" />
		</condition>
		<copy todir="${out.build}/tmp">
			<fileset dir="${src}">
				<include name="**/*" />
			</fileset>
		</copy>
	</target>

	<target name="compile-config" unless="config.uptodate">
		<replace dir="${out.build}/tmp">
			<include name="**/ClassReader.java" />
			<replacefilter token="SIGNATURES = true" value="SIGNATURES = ${SIGV}" />
			<replacefilter token="ANNOTATIONS = true" value="ANNOTATIONS = ${ANNV}" />
			<replacefilter token="FRAMES = true" value="FRAMES = ${FRAMESV}" />
			<replacefilter token="WRITER = true" value="WRITER = ${SIGV}" />
			<replacefilter token="RESIZE = true" value="RESIZE = ${RESIZEV}" />
		</replace>
	</target>

	<target name="compile-debug" depends="init,compile-init,compile-config">
		<javac destdir="${out.build}/tmp" debug="on" source="1.5" target="1.5">
			<classpath>
				<pathelement location="${out.build}/tmp" />
			</classpath>
			<src path="${out.build}/tmp" />
			<include name="**/*.java" />
			<compilerarg value="-Xlint"/> 
		</javac>
	</target>

	<target name="shrink" depends="compile-debug" if="product.shrink">
		<echo message="Shrinking" />
		<java classname="org.objectweb.asm.optimizer.Shrinker">
			<classpath>
				<pathelement location="${out.build}/tmp" />
			</classpath>
			<arg value="${src}/org/objectweb/asm/optimizer/shrink.properties" />
			<arg value="${src}/org/objectweb/asm/optimizer/shrink${SIG}.properties" />
			<arg value="${src}/org/objectweb/asm/optimizer/shrink${ANN}.properties" />
			<arg value="${src}/org/objectweb/asm/optimizer/shrink${FRAMES}.properties" />
			<arg value="${src}/org/objectweb/asm/optimizer/shrink${WRITER}.properties" />
			<arg value="${src}/org/objectweb/asm/optimizer/shrink${RESIZE}.properties" />
			<arg value="${out.build}/tmp" />
			<arg value="${out.build}" />
		</java>
	</target>

	<target name="noshrink" depends="compile-debug" if="product.noshrink">
		<copy todir="${out.build}">
			<fileset dir="${out.build}/tmp" />
		</copy>
	</target>

	<target name="compile" depends="compile-debug,shrink,noshrink" />

	<!-- =================================== -->
	<!-- ==========      TEST     ========== -->
	<!-- =================================== -->

	<target name="test" depends="compile">
		<condition property="asm.test" value="${java.home}/lib/rt.jar,${out.test}/cases">
			<not>
				<isset property="asm.test" />
			</not>
		</condition>
		<ant antfile="${test}/build.xml" target="test" inheritRefs="true" />
	</target>

	<target name="test.report">
		<junitreport todir="${out.test}/reports">
			<fileset dir="${out.test}/reports">
				<include name="TEST-*.xml" />
			</fileset>
			<report todir="${out.test}/reports" />
		</junitreport>
	</target>

	<target name="coverage" depends="compile">
		<delete file="cobertura.ser" />
		<delete dir="${out.instr}" />
		<cobertura-instrument todir="${out.instr}">
			<ignore regex="java.lang.Error" />
			<fileset dir="${out.build}/tmp">
				<include name="**/*.class" />
				<exclude name="**/optimizer/*.class" />
				<exclude name="**/xml/Processor*.class" />
				<exclude name="**/*Test*.class" />
			</fileset>
		</cobertura-instrument>
		<copy todir="${out.instr}" preservelastmodified="yes">
			<fileset dir="${out.build}/tmp" />
		</copy>
		<property name="coverage" value="yes" />
		<property name="classes" value="${out.instr}" />
		<property name="asm.test.class" value="pkg" />
		<condition property="asm.test" value="${out.test}/cases">
			<not>
				<isset property="asm.test" />
			</not>
		</condition>
		<condition property="test.type" value="conform">
			<not>
				<isset property="test.type" />
			</not>
		</condition>
		<ant antfile="${test}/build.xml" target="test" inheritRefs="true" />
	</target>

	<target name="coverage.check" depends="init">
		<cobertura-check branchrate="100" linerate="100">
		</cobertura-check>
	</target>

	<target name="coverage.report" depends="init">
		<cobertura-report destdir="${out}/coverage" srcdir="${src}" format="xml" />
		<cobertura-report destdir="${out}/coverage">
			<fileset dir="${src}">
				<include name="**/*.java" />
				<exclude name="**/asm/optimizer/**/*.java" />
			</fileset>
		</cobertura-report>
	</target>

	<!-- =================================== -->
	<!-- ==========      DIST     ========== -->
	<!-- =================================== -->

	<target name="dist.init">
		<mkdir dir="${out.dist}" />
		<mkdir dir="${out.dist.doc}" />
		<mkdir dir="${out.dist.jdoc}" />
		<mkdir dir="${out.dist.lib}" />
	</target>

	<target name="dist.version">
		<tstamp>
			<format property="product.build.time" pattern="yyyyMMdd.HHmmss" />
		</tstamp>

		<condition property="product.artifact" value="${product.version}">
			<not>
				<isset property="product.snapshot" />
			</not>
		</condition>
		<condition property="product.artifact" value="${product.build.time}">
			<isset property="product.snapshot" />
		</condition>

		<condition property="plugin.artifact" value="${plugin.version}">
			<not>
				<isset property="product.snapshot" />
			</not>
		</condition>
		<condition property="plugin.artifact" value="${plugin.version}.${product.build.time}">
			<isset property="product.snapshot" />
		</condition>
	</target>

	<target name="jar" depends="dist.init,dist.version,compile,shrink">
		<ant antfile="${archive}/asm.xml" />
		<ant antfile="${archive}/asm-all.xml" />
		<ant antfile="${archive}/asm-analysis.xml" />
		<ant antfile="${archive}/asm-commons.xml" />
		<ant antfile="${archive}/asm-debug-all.xml" />
		<ant antfile="${archive}/asm-parent.xml" />
		<ant antfile="${archive}/asm-tree.xml" />
		<ant antfile="${archive}/asm-util.xml" />
		<ant antfile="${archive}/asm-xml.xml" />
		<java classname="org.objectweb.asm.optimizer.JarOptimizer">
			<classpath>
				<pathelement location="${out.build}" />
			</classpath>
			<!--arg value="${src}/org/objectweb/asm/optimizer/jdk1.2.2_017.txt.gz"/-->
			<arg value="${src}/org/objectweb/asm/optimizer/jdk1.3.1_19.txt.gz" />
			<arg value="-nodebug" />
			<arg value="${out.dist.lib}" />
		</java>
	</target>

	<target name="jdoc" depends="init,dist.init">
		<copy todir="${out.dist.doc}" preservelastmodified="yes" includeEmptyDirs="false">
			<fileset dir="${doc}">
				<include name="**/*" />
				<exclude name="**/*.fig" />
			</fileset>
		</copy>
		<ant antfile="${jdoc}/user.xml" />
	</target>

	<target name="examples" depends="init,dist.init" if="examples.exist">
		<mkdir dir="${out.dist.examples}" />
		<copy todir="${out.dist.examples}" preservelastmodified="yes" includeEmptyDirs="yes">
			<fileset dir="${examples}">
				<exclude name="common" />
				<exclude name="common/**/*" />
			</fileset>
		</copy>

		<copy file="${examples}/common/build.xml" toDir="${out.dist.examples}/adapt" preservelastmodified="yes" />
		<copy file="${examples}/common/build.xml" toDir="${out.dist.examples}/analysis" preservelastmodified="yes" />
		<copy file="${examples}/common/build.xml" toDir="${out.dist.examples}/annotations" preservelastmodified="yes" />
		<copy file="${examples}/common/build.xml" toDir="${out.dist.examples}/attributes" preservelastmodified="yes" />
		<copy file="${examples}/common/build.xml" toDir="${out.dist.examples}/compile" preservelastmodified="yes" />
		<copy file="${examples}/common/build.xml" toDir="${out.dist.examples}/compile-indy" preservelastmodified="yes" />
		<copy file="${examples}/common/build.xml" toDir="${out.dist.examples}/dependencies" preservelastmodified="yes" />
		<copy file="${examples}/common/build.xml" toDir="${out.dist.examples}/helloworld" preservelastmodified="yes" />
		<copy file="${examples}/common/build.xml" toDir="${out.dist.examples}/jasmin" preservelastmodified="yes" />
		<copy file="${examples}/common/build.xml" toDir="${out.dist.examples}/jbfc" preservelastmodified="yes" />
		<copy file="${examples}/common/build.xml" toDir="${out.dist.examples}/xml" preservelastmodified="yes" />

		<copy toDir="${out.dist.examples}" preservelastmodified="yes">
			<fileset dir="${examples.common}">
				<include name="**/*" />
				<exclude name="build.xml" />
			</fileset>
		</copy>
		<replace dir="${out.dist.examples}/etc" token="@product.version@" value="${product.version}" />

		<copy todir="${out.dist}">
			<fileset dir=".">
				<include name="externals/*.jar" />
			</fileset>
		</copy>
	</target>

	<!--
  <target name="eclipse.generate" depends="dist.version">  	
  </target>

  <target name="eclipse.plugin" depends="jar,eclipse.generate">
    <jar zipfile="${out}/org.objectweb.asm_${plugin.artifact}.jar">
      <zipfileset dir="${basedir}">
        <include name="plugin.xml"/>
        <include name="META-INF/MANIFEST.MF"/>      	
        <include name="**/asm-${product.artifact}.jar"/>
        <include name="**/asm-tree-${product.artifact}.jar"/>
        <include name="**/asm-analysis-${product.artifact}.jar"/>
        <include name="**/asm-util-${product.artifact}.jar"/>
        <include name="**/asm-commons-${product.artifact}.jar"/>
      </zipfileset>
      <manifest>
        <attribute name="Bundle-ManifestVersion" value="2"/>
        <attribute name="Bundle-Name" value="ASM Framework"/>
        <attribute name="Bundle-SymbolicName" value="org.objectweb.asm;singleton:=true"/>
        <attribute name="Bundle-Version" value="${plugin.artifact}"/>
        <attribute name="Bundle-ClassPath" value="output/dist/lib/asm-${product.artifact}.jar,
output/dist/lib/asm-tree-${product.artifact}.jar,
output/dist/lib/asm-analysis-${product.artifact}.jar,
output/dist/lib/asm-commons-${product.artifact}.jar,
output/dist/lib/asm-util-${product.artifact}.jar"/>
        <attribute name="Bundle-Vendor" value="ObjectWeb.org"/>
        <attribute name="Bundle-Localization" value="plugin"/>
        <attribute name="Export-Package" value="org.objectweb.asm,
org.objectweb.asm.commons,
org.objectweb.asm.signature,
org.objectweb.asm.tree,
org.objectweb.asm.tree.analysis,
org.objectweb.asm.util,
org.objectweb.asm.xml"/>
        <attribute name="Eclipse-AutoStart" value="true"/>
      </manifest>
    </jar>
  </target>

  <target name="eclipse.feature" depends="eclipse.plugin">
    <echo file="${out}/feature.xml"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<feature id="org.objectweb.asm.feature" label="ASM Framework"
      version="${plugin.artifact}" provider-name="ObjectWeb.org">

   <description url="http://asm.objectweb.org/eclipse/asm/index.html">
Feature contains ASM Java bytecode manipulation framework runtime.
   </description>

   <copyright>
Copyright (c) 2000-2011 INRIA, France Telecom.
All rights reserved.
   </copyright>

   <license>
Copyright (c) 2000-2011 INRIA, France Telecom
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 

2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

3. Neither the name of the copyright holders nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   </license>

   <url>
      <update label="ASM Framework" url="http://download.forge.objectweb.org/eclipse-update/site.xml"/>
   </url>

   <plugin id="org.objectweb.asm" download-size="0" install-size="0" version="${plugin.artifact}"/>

</feature>]]></echo>

    <jar jarfile="${out}/org.objectweb.asm.feature_${plugin.artifact}.jar">
      <fileset file="${out}/feature.xml"/>
    </jar>
  </target>
  
  <target name="eclipse.site" depends="eclipse.feature">
    <echo file="${out}/site.xml"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<site>
   <description url="http://asm.objectweb.org/eclipse/asm/index.html">
      ASM Framework
   </description>
   
   <feature url="features/org.objectweb.asm.feature_${plugin.artifact}.jar" id="org.objectweb.asm.feature" version="${plugin.artifact}">
      <category name="asm"/>
   </feature>

   <category-def name="asm" label="ASM Framework"/>
      
   <archive path="plugins/org.objectweb.asm_${plugin.artifact}.jar" url="http://download.forge.objectweb.org/asm/org.objectweb.asm_${plugin.artifact}.jar"/>
</site>]]></echo>
    
    <zip zipfile="${out}/org.objectweb.asm.update_${plugin.artifact}.zip">
      <zipfileset dir="${out}" includes="site.xml"/>
      <zipfileset dir="${out}" includes="org.objectweb.asm.feature_${plugin.artifact}.jar" prefix="features"/>
      <zipfileset dir="${out}" includes="org.objectweb.asm_${plugin.artifact}.jar"  prefix="plugins"/>
    </zip>
  </target>
  -->

	<target name="dist" depends="jar,sigtest,jdoc,examples">
		<zip zipFile="${out.dist}/src.zip" basedir="${src}" excludes="**/optimizer/**/*" />
	</target>

	<!-- =================================== -->
	<!-- ==========    EXAMPLES   ========== -->
	<!-- =================================== -->

	<target name="example" depends="jar,examples">
		<ant inheritAll="false" dir="${out.dist.examples}/${example.name}" target="execute" />
	</target>

	<!-- =================================== -->
	<!-- ==========     ZIP       ========== -->
	<!-- =================================== -->

	<!-- creates zip files of the different distribution (source, binaries) -->

	<target name="zip" depends="dist">
		<mkdir dir="${out.zip}" />
		<tar destfile="${out.zip}/${product.name}-${product.version}.tar.gz" compression="gzip">
			<tarfileset dir="${basedir}" prefix="${product.name}-${product.version}">
				<exclude name="build.config" />
				<exclude name="config/**" />
				<exclude name="config" />
				<exclude name="**/externals/**" />
				<exclude name="**/externals" />
				<exclude name="**/lib/**" />
				<exclude name="**/lib" />
				<exclude name="eclipse/**" />
				<exclude name="eclipse" />
				<exclude name="web/**" />
				<exclude name="web" />
				<exclude name="**/output/**" />
				<exclude name="**/output" />
				<exclude name="CVSROOT/**" />
				<exclude name="CVSROOT" />
			</tarfileset>
		</tar>
		<zip zipFile="${out.zip}/${product.name}-${product.version}-bin.zip">
			<zipfileset dir="${out.dist}" prefix="${product.name}-${product.version}" />
		</zip>
		<jar jarfile="${out.zip}/${product.name}-${product.version}-javadoc.jar" basedir="${out.dist}/doc/javadoc/user">
			<fileset dir="${out.dist}/doc/javadoc/user" />
		</jar>
		<jar jarfile="${out.zip}/${product.name}-${product.version}-sources.jar" basedir="${src}">
			<fileset dir="${src}" excludes="**/optimizer/**/*" />
		</jar>
	</target>
	
	<!-- ================================== -->
	<!-- =====  BINARY COMPATIBILITY   ==== -->
	<!-- ================================== -->

	<target name="sigtest-setup" depends="jar">
		<ant antfile="${test}/build.xml" target="sigtest-setup" inheritRefs="true" />
	</target>

	<target name="sigtest" depends="jar">
		<ant antfile="${test}/build.xml" target="sigtest" inheritRefs="true" />
	</target>

	<!-- =================================== -->
	<!-- ==========     CLEAN     ========== -->
	<!-- =================================== -->

	<!-- remove all directories -->

	<target name="clean.web" if="web.exist">
		<ant dir="${web}" target="clean" />
	</target>

	<target name="clean" depends="properties,clean.web">
		<delete dir="${out.build}" />
		<delete dir="${out.dist}" />
		<delete dir="${out.tmp}" />
		<delete dir="${out.zip}" />
		<delete dir="${out.test}" />
		<delete dir="${out.instr}" />
	</target>

	<!-- ==================================== -->
	<!-- ==========     HELP       ========== -->
	<!-- ==================================== -->

	<target name="help">
		<echo message="The available targets are the following:" />
		<echo message="  compile: compiles the product into ${out.build}" />
		<echo message="  dist: creates the product's distributions into ${out.dist}" />
		<echo message="  zip: creates the product's distributions zip files into ${out.zip}" />
		<echo message="  clean: removes all generated files." />
		<echo message="  jar: creates all jars in ${out.dist.lib}" />
		<echo message="  test: run all tests" />
		<echo message="" />
		<echo message="There are some options to run tests:" />
		<echo message="  -Dtest.group=&lt;group name&gt;  Only a group of test: The default target of" />
		<echo message="    the xml file is called the test.group contains the xml file name with" />
		<echo message="    directory ex: ant -Dtest.group=conform/toto test =&gt; calls the default" />
		<echo message="    target of the file ${test}/conform/toto.xml" />
		<echo message="  -Dtest.type=&lt;type name&gt;  Only a type of test: conform, deviance, stress," />
		<echo message="    thread or perf. The test.type properties contains the directory name of" />
		<echo message="    the test type ex: ant -Dtest.type=conform test" />
		<echo message="  -Dtest.name=&lt;test name&gt;  Only a single test. The target &lt;test name&gt; is called" />
	</target>

	<target name="maven.deploy.check" unless="passphrase.configured">
		<echo message="The 'passphrase' property must be configured" />
		<fail />
	</target>

	<target name="maven.deploy" depends="init,dist.version,maven.deploy.check">
		<m2:mvn>
			<arg value="org.apache.maven.plugins:maven-gpg-plugin:1.4:sign-and-deploy-file" />
			<arg value="-Durl=${maven-staging-repository-url}" />
			<arg value="-DrepositoryId=${maven-staging-repository-id}" />
			<arg value="-DpomFile=${out.dist.lib}/asm-parent-${product.artifact}.pom" />
			<arg value="-Dfile=${out.dist.lib}/asm-parent-${product.artifact}.pom" />
			<arg value="-Djavadoc=${out.zip}/${product.name}-${product.version}-javadoc.jar" />
			<arg value="-Dsources=${out.zip}/${product.name}-${product.version}-sources.jar" />
			<arg value="-Pow2-release" />
			<arg value="-Dgpg.passphrase=${passphrase}" />
		</m2:mvn>
		
		<m2:mvn>
			<arg value="org.apache.maven.plugins:maven-gpg-plugin:1.4:sign-and-deploy-file" />
			<arg value="-Durl=${maven-staging-repository-url}" />
			<arg value="-DrepositoryId=${maven-staging-repository-id}" />
			<arg value="-DpomFile=${out.dist.lib}/asm-${product.artifact}.pom" />
			<arg value="-Dfile=${out.dist.lib}/asm-${product.artifact}.jar" />
			<arg value="-Djavadoc=${out.zip}/${product.name}-${product.version}-javadoc.jar" />
			<arg value="-Dsources=${out.zip}/${product.name}-${product.version}-sources.jar" />
			<arg value="-Pow2-release" />
			<arg value="-Dgpg.passphrase=${passphrase}" />
		</m2:mvn>

		<m2:mvn>
			<arg value="org.apache.maven.plugins:maven-gpg-plugin:1.4:sign-and-deploy-file" />
			<arg value="-Durl=${maven-staging-repository-url}" />
			<arg value="-DrepositoryId=${maven-staging-repository-id}" />
			<arg value="-DpomFile=${out.dist.lib}/asm-analysis-${product.artifact}.pom" />
			<arg value="-Dfile=${out.dist.lib}/asm-analysis-${product.artifact}.jar" />
			<arg value="-Djavadoc=${out.zip}/${product.name}-${product.version}-javadoc.jar" />
			<arg value="-Dsources=${out.zip}/${product.name}-${product.version}-sources.jar" />
			<arg value="-Pow2-release" />
			<arg value="-Dgpg.passphrase=${passphrase}" />
		</m2:mvn>

		<m2:mvn>
			<arg value="org.apache.maven.plugins:maven-gpg-plugin:1.4:sign-and-deploy-file" />
			<arg value="-Durl=${maven-staging-repository-url}" />
			<arg value="-DrepositoryId=${maven-staging-repository-id}" />
			<arg value="-DpomFile=${out.dist.lib}/asm-commons-${product.artifact}.pom" />
			<arg value="-Dfile=${out.dist.lib}/asm-commons-${product.artifact}.jar" />
			<arg value="-Djavadoc=${out.zip}/${product.name}-${product.version}-javadoc.jar" />
			<arg value="-Dsources=${out.zip}/${product.name}-${product.version}-sources.jar" />
			<arg value="-Pow2-release" />
			<arg value="-Dgpg.passphrase=${passphrase}" />
		</m2:mvn>

		<m2:mvn>
			<arg value="org.apache.maven.plugins:maven-gpg-plugin:1.4:sign-and-deploy-file" />
			<arg value="-Durl=${maven-staging-repository-url}" />
			<arg value="-DrepositoryId=${maven-staging-repository-id}" />
			<arg value="-DpomFile=${out.dist.lib}/asm-tree-${product.artifact}.pom" />
			<arg value="-Dfile=${out.dist.lib}/asm-tree-${product.artifact}.jar" />
			<arg value="-Djavadoc=${out.zip}/${product.name}-${product.version}-javadoc.jar" />
			<arg value="-Dsources=${out.zip}/${product.name}-${product.version}-sources.jar" />
			<arg value="-Pow2-release" />
			<arg value="-Dgpg.passphrase=${passphrase}" />
		</m2:mvn>

		<m2:mvn>
			<arg value="org.apache.maven.plugins:maven-gpg-plugin:1.4:sign-and-deploy-file" />
			<arg value="-Durl=${maven-staging-repository-url}" />
			<arg value="-DrepositoryId=${maven-staging-repository-id}" />
			<arg value="-DpomFile=${out.dist.lib}/asm-util-${product.artifact}.pom" />
			<arg value="-Dfile=${out.dist.lib}/asm-util-${product.artifact}.jar" />
			<arg value="-Djavadoc=${out.zip}/${product.name}-${product.version}-javadoc.jar" />
			<arg value="-Dsources=${out.zip}/${product.name}-${product.version}-sources.jar" />
			<arg value="-Pow2-release" />
			<arg value="-Dgpg.passphrase=${passphrase}" />
		</m2:mvn>

		<m2:mvn>
			<arg value="org.apache.maven.plugins:maven-gpg-plugin:1.4:sign-and-deploy-file" />
			<arg value="-Durl=${maven-staging-repository-url}" />
			<arg value="-DrepositoryId=${maven-staging-repository-id}" />
			<arg value="-DpomFile=${out.dist.lib}/asm-xml-${product.artifact}.pom" />
			<arg value="-Dfile=${out.dist.lib}/asm-xml-${product.artifact}.jar" />
			<arg value="-Djavadoc=${out.zip}/${product.name}-${product.version}-javadoc.jar" />
			<arg value="-Dsources=${out.zip}/${product.name}-${product.version}-sources.jar" />
			<arg value="-Pow2-release" />
			<arg value="-Dgpg.passphrase=${passphrase}" />
		</m2:mvn>

		<m2:mvn>
			<arg value="org.apache.maven.plugins:maven-gpg-plugin:1.4:sign-and-deploy-file" />
			<arg value="-Durl=${maven-staging-repository-url}" />
			<arg value="-DrepositoryId=${maven-staging-repository-id}" />
			<arg value="-DpomFile=${out.dist.lib}/all/asm-all-${product.artifact}.pom" />
			<arg value="-Dfile=${out.dist.lib}/all/asm-all-${product.artifact}.jar" />
			<arg value="-Djavadoc=${out.zip}/${product.name}-${product.version}-javadoc.jar" />
			<arg value="-Dsources=${out.zip}/${product.name}-${product.version}-sources.jar" />
			<arg value="-Pow2-release" />
			<arg value="-Dgpg.passphrase=${passphrase}" />
		</m2:mvn>

		<m2:mvn>
			<arg value="org.apache.maven.plugins:maven-gpg-plugin:1.4:sign-and-deploy-file" />
			<arg value="-Durl=${maven-staging-repository-url}" />
			<arg value="-DrepositoryId=${maven-staging-repository-id}" />
			<arg value="-DpomFile=${out.dist.lib}/all/asm-debug-all-${product.artifact}.pom" />
			<arg value="-Dfile=${out.dist.lib}/all/asm-debug-all-${product.artifact}.jar" />
			<arg value="-Djavadoc=${out.zip}/${product.name}-${product.version}-javadoc.jar" />
			<arg value="-Dsources=${out.zip}/${product.name}-${product.version}-sources.jar" />
			<arg value="-Pow2-release" />
			<arg value="-Dgpg.passphrase=${passphrase}" />
		</m2:mvn>
	</target>

</project>
