You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
157 lines
6.2 KiB
157 lines
6.2 KiB
<?xml version="1.0"?>
|
|
|
|
<project name="common">
|
|
|
|
<property file="build.properties"/>
|
|
|
|
<!-- can be overridden at the command line with -Dversion=
|
|
or in IDEA, in the ant properties dialog -->
|
|
<property name="version" value="snapshot"/>
|
|
<property name="api.version" value="1.4"/>
|
|
|
|
<target name="compile" description="Compile Java source.">
|
|
<mkdir dir="${build.dir}/classes"/>
|
|
<javac srcdir="${src.dir}"
|
|
debug="on"
|
|
destdir="${build.dir}/classes"
|
|
source="1.7" target="1.7" includeantruntime="false">
|
|
<compilerarg value="-Xlint:all,-serial"/>
|
|
<classpath refid="compile.classpath"/>
|
|
</javac>
|
|
<copy toDir="${build.dir}/classes">
|
|
<fileset dir="${src.dir}" excludes="**/*.java"/>
|
|
</copy>
|
|
</target>
|
|
|
|
<target name="manifest" description="Generate OSGi manifest." depends="compile">
|
|
<dirname property="common.basedir" file="${ant.file.common}"/>
|
|
<taskdef resource="aQute/bnd/ant/taskdef.properties"
|
|
classpath="${common.basedir}/lib/build/bnd-0.0.384.jar"/>
|
|
|
|
<fail unless="module" message="Missing 'module' property (use the primary package name in this jar)"/>
|
|
<property name="imports" value=""/>
|
|
|
|
<property name="Bundle-Name" value="${ant.project.name}"/>
|
|
<property name="Bundle-SymbolicName" value="${module}"/>
|
|
<property name="Bundle-Version" value="${replace;${version};^[^0-9];0.0.0.$0}"/>
|
|
|
|
<property name="Bundle-Description" value="Guice is a lightweight dependency injection framework for Java 6 and above"/>
|
|
<property name="Bundle-DocURL" value="https://github.com/google/guice"/>
|
|
<property name="Bundle-Copyright" value="Copyright (C) 2006 Google Inc."/>
|
|
<property name="Bundle-License" value="http://www.apache.org/licenses/LICENSE-2.0.txt"/>
|
|
<property name="Bundle-RequiredExecutionEnvironment" value="JavaSE-1.7"/>
|
|
<property name="Bundle-Vendor" value="Google, Inc."/>
|
|
|
|
<property name="Export-Package" value="!${module}.internal.*,${module}.*;version=${api.version}"/>
|
|
|
|
<condition property="Eclipse-ExtensibleAPI" value="true">
|
|
<equals arg1="${module}" arg2="com.google.inject"/>
|
|
</condition>
|
|
|
|
<condition property="Import-Package" value="!com.google.inject.*,*" else="!${module}.*,${imports},*">
|
|
<istrue value="${fragment}"/>
|
|
</condition>
|
|
|
|
<condition property="Fragment-Host" value="com.google.inject">
|
|
<istrue value="${fragment}"/>
|
|
</condition>
|
|
|
|
<property name="-nouses" value="true"/>
|
|
|
|
<property name="-removeheaders" value="Bnd-LastModified,Ignore-Package,Include-Resource,Private-Package,Tool"/>
|
|
|
|
<bndwrap jars="${build.dir}/classes" output="${build.dir}"/>
|
|
|
|
<unjar src="${build.dir}/classes.bar" dest="${build.dir}">
|
|
<patternset>
|
|
<include name="META-INF/MANIFEST.MF"/>
|
|
</patternset>
|
|
</unjar>
|
|
</target>
|
|
|
|
<target name="test.compile"
|
|
depends="compile"
|
|
description="Compile test source.">
|
|
<mkdir dir="${build.dir}/test"/>
|
|
<javac srcdir="${test.dir}"
|
|
debug="on"
|
|
destdir="${build.dir}/test"
|
|
source="1.7" target="1.7" includeantruntime="false">
|
|
<classpath path="${build.dir}/classes"/>
|
|
<classpath path="${build.dir}/test"/>
|
|
<classpath refid="compile.classpath"/>
|
|
</javac>
|
|
<copy toDir="${build.dir}/test">
|
|
<fileset dir="${test.dir}" excludes="**/*.java"/>
|
|
</copy>
|
|
</target>
|
|
|
|
<target name="test"
|
|
depends="test.compile"
|
|
description="Execute JUnit tests.">
|
|
<java fork="true"
|
|
classname="junit.textui.TestRunner"
|
|
failonerror="true"
|
|
taskname="junit">
|
|
<classpath>
|
|
<pathelement location="${build.dir}/test"/>
|
|
<pathelement location="${build.dir}/classes"/>
|
|
<path refid="compile.classpath"/>
|
|
</classpath>
|
|
<arg value="${test.class}"/>
|
|
</java>
|
|
</target>
|
|
|
|
<target name="clean"
|
|
description="Remove generated files.">
|
|
<delete dir="${build.dir}"/>
|
|
</target>
|
|
|
|
<target name="source.jar"
|
|
description="Create a .jar file with sources">
|
|
<mkdir dir="${build.dir}"/>
|
|
<zip destfile="${build.dir}/${ant.project.name}-${version}-src.jar">
|
|
<fileset dir="${src.dir}"/>
|
|
</zip>
|
|
</target>
|
|
|
|
<target name="distjars"
|
|
depends="source.jar, jar"
|
|
description="Build jar files"/>
|
|
|
|
<target name="test.withdeps" depends="test.compile"
|
|
description="Build a jar of tests with internal.util refocused.">
|
|
<mkdir dir="${build.dir}/dist"/>
|
|
<dirname property="common.basedir" file="${ant.file.common}"/>
|
|
<taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask"
|
|
classpath="${common.basedir}/lib/build/jarjar-1.1.jar"/>
|
|
<jarjar jarfile="${build.dir}/${ant.project.name}-${version}-tests.jar">
|
|
<fileset dir="${build.dir}/test"/>
|
|
<rule pattern="net.sf.cglib.*" result="com.google.inject.internal.cglib.$@1"/>
|
|
<rule pattern="net.sf.cglib.**.*" result="com.google.inject.internal.cglib.@1.$@2"/>
|
|
<rule pattern="org.objectweb.asm.*" result="com.google.inject.internal.asm.$@1"/>
|
|
<rule pattern="org.objectweb.asm.**.*" result="com.google.inject.internal.asm.@1.$@2"/>
|
|
<keep pattern="com.google.inject.**"/>
|
|
<keep pattern="com.googlecode.**"/>
|
|
</jarjar>
|
|
</target>
|
|
|
|
<target name="jar.withdeps" depends="compile"
|
|
description="Build jar with dependencies embedded.">
|
|
<mkdir dir="${build.dir}/dist"/>
|
|
<dirname property="common.basedir" file="${ant.file.common}"/>
|
|
<taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask"
|
|
classpath="${common.basedir}/lib/build/jarjar-1.1.jar"/>
|
|
<jarjar jarfile="${build.dir}/${ant.project.name}-with-deps.jar">
|
|
<fileset dir="${build.dir}/classes"/>
|
|
<zipfileset src="${common.basedir}/lib/build/cglib-3.2.6.jar"/>
|
|
<zipfileset src="${common.basedir}/lib/build/asm-6.0.jar"/>
|
|
<rule pattern="net.sf.cglib.*" result="com.google.inject.internal.cglib.$@1"/>
|
|
<rule pattern="net.sf.cglib.**.*" result="com.google.inject.internal.cglib.@1.$@2"/>
|
|
<rule pattern="org.objectweb.asm.*" result="com.google.inject.internal.asm.$@1"/>
|
|
<rule pattern="org.objectweb.asm.**.*" result="com.google.inject.internal.asm.@1.$@2"/>
|
|
<keep pattern="com.google.inject.**"/>
|
|
</jarjar>
|
|
</target>
|
|
</project>
|