blob: 4e28000557b52a2ada17de9ac1c08993455d2395 [file] [log] [blame]
crazybobleeefdb6f32007-02-26 02:54:11 +00001<?xml version="1.0"?>
2
3<project name="common">
4
5 <property file="build.properties"/>
kevinb9nbca22512007-04-20 14:47:05 +00006
7 <!-- can be overridden at the command line with -Dversion=
8 or in IDEA, in the ant properties dialog -->
9 <property name="version" value="snapshot"/>
limpbizkitfe579cf2008-06-08 23:21:41 +000010 <property name="api.version" value="1.0"/>
limpbizkitf716cf42008-06-03 09:19:35 +000011
crazybobleeefdb6f32007-02-26 02:54:11 +000012 <target name="compile" description="Compile Java source.">
13 <mkdir dir="${build.dir}/classes"/>
14 <javac srcdir="${src.dir}"
15 debug="on"
limpbizkit8bb742a2008-11-23 03:04:18 +000016 destdir="${build.dir}/classes"
17 source="1.5" target="1.5">
crazybobleeefdb6f32007-02-26 02:54:11 +000018 <classpath refid="compile.classpath"/>
19 </javac>
20 <copy toDir="${build.dir}/classes">
21 <fileset dir="${src.dir}" excludes="**/*.java"/>
22 </copy>
23 </target>
24
limpbizkitfe579cf2008-06-08 23:21:41 +000025 <target name="manifest" description="Generate OSGi manifest." depends="compile">
26 <dirname property="common.basedir" file="${ant.file.common}"/>
27 <taskdef resource="aQute/bnd/ant/taskdef.properties"
limpbizkitaa3cd302008-12-11 08:08:50 +000028 classpath="${common.basedir}/lib/build/bnd-0.0.305.jar"/>
limpbizkitf716cf42008-06-03 09:19:35 +000029
limpbizkitfe579cf2008-06-08 23:21:41 +000030 <fail unless="module" message="Missing 'module' property (use the primary package name in this jar)"/>
limpbizkitf716cf42008-06-03 09:19:35 +000031
limpbizkitfe579cf2008-06-08 23:21:41 +000032 <property name="Bundle-Name" value="${ant.project.name}"/>
33 <property name="Bundle-SymbolicName" value="${module}"/>
34 <property name="Bundle-Version" value="${replace;${version};^[^0-9];${api.version}.$0}"/>
limpbizkitf716cf42008-06-03 09:19:35 +000035
limpbizkitfe579cf2008-06-08 23:21:41 +000036 <property name="Bundle-Description" value="Guice is a lightweight dependency injection framework for Java 5 and above"/>
37 <property name="Bundle-DocURL" value="http://code.google.com/p/google-guice/"/>
38 <property name="Bundle-Copyright" value="Copyright (C) 2006 Google Inc."/>
39 <property name="Bundle-License" value="http://www.apache.org/licenses/LICENSE-2.0"/>
40 <property name="Bundle-Vendor" value="Google Inc."/>
41
42 <property name="exclude.imports" value=""/>
limpbizkitaa3cd302008-12-11 08:08:50 +000043 <property name="api.range" value="&quot;[${api.version},${version;+;${api.version}})&quot;"/>
44 <property name="guice.imports" value="com.google.inject.*;version=${api.range}"/>
limpbizkitfe579cf2008-06-08 23:21:41 +000045 <property name="Import-Package" value="${exclude.imports},${guice.imports},*;resolution:=optional"/>
limpbizkit869a3c02008-06-27 01:09:41 +000046 <property name="Export-Package" value="!${module}.internal.*,${module}.*;version=${api.version}"/>
limpbizkitaa3cd302008-12-11 08:08:50 +000047
limpbizkitfe579cf2008-06-08 23:21:41 +000048 <property name="-removeheaders" value="Bnd-LastModified,Ignore-Package,Include-Resource,Private-Package,Tool"/>
49
50 <bndwrap jars="${build.dir}/classes" output="${build.dir}"/>
51
52 <unjar src="${build.dir}/classes.bar" dest="${build.dir}">
53 <patternset>
54 <include name="META-INF/MANIFEST.MF"/>
55 </patternset>
56 </unjar>
limpbizkitf716cf42008-06-03 09:19:35 +000057 </target>
58
59 <target name="test.compile"
crazybobleeefdb6f32007-02-26 02:54:11 +000060 depends="compile"
61 description="Compile test source.">
62 <mkdir dir="${build.dir}/test"/>
63 <javac srcdir="${test.dir}"
64 debug="on"
limpbizkit8bb742a2008-11-23 03:04:18 +000065 destdir="${build.dir}/test"
66 source="1.5" target="1.5">
crazybobleeefdb6f32007-02-26 02:54:11 +000067 <classpath path="${build.dir}/classes"/>
68 <classpath refid="compile.classpath"/>
69 </javac>
70 <copy toDir="${build.dir}/test">
71 <fileset dir="${test.dir}" excludes="**/*.java"/>
72 </copy>
73 </target>
74
75 <target name="test"
76 depends="test.compile"
77 description="Execute JUnit tests.">
limpbizkitf716cf42008-06-03 09:19:35 +000078 <java fork="true"
crazybobleeefdb6f32007-02-26 02:54:11 +000079 classname="junit.textui.TestRunner"
80 failonerror="true"
81 taskname="junit">
82 <classpath>
83 <pathelement location="${build.dir}/test"/>
84 <pathelement location="${build.dir}/classes"/>
85 <path refid="compile.classpath"/>
86 </classpath>
limpbizkitf716cf42008-06-03 09:19:35 +000087 <arg value="${test.class}"/>
crazybobleeefdb6f32007-02-26 02:54:11 +000088 </java>
89 </target>
limpbizkitf716cf42008-06-03 09:19:35 +000090
crazybobleeefdb6f32007-02-26 02:54:11 +000091 <target name="clean"
92 description="Remove generated files.">
93 <delete dir="${build.dir}"/>
94 </target>
limpbizkitf716cf42008-06-03 09:19:35 +000095
limpbizkit28d083b2008-05-07 17:25:38 +000096 <target name="source.jar"
97 description="Create a .jar file with sources">
98 <mkdir dir="${build.dir}"/>
99 <zip destfile="${build.dir}/${ant.project.name}-${version}-src.jar">
100 <fileset dir="src"/>
101 </zip>
102 </target>
103
104 <target name="distjars"
105 depends="source.jar, jar"
106 description="Build jar files"/>
107
limpbizkit53708f02008-11-29 20:45:55 +0000108 <target name="jar.withdeps" depends="compile"
109 description="Build jar with dependencies embedded.">
110 <mkdir dir="${build.dir}/dist"/>
111 <dirname property="common.basedir" file="${ant.file.common}"/>
112 <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask"
113 classpath="${common.basedir}/lib/build/jarjar-1.0rc8.jar"/>
114 <jarjar jarfile="${build.dir}/${ant.project.name}-with-deps.jar">
115 <fileset dir="${build.dir}/classes"/>
chris.nokleberg9c65cc22009-01-11 20:12:42 +0000116 <zipfileset src="${common.basedir}/lib/build/cglib-2.2.1-snapshot.jar"/>
limpbizkit53708f02008-11-29 20:45:55 +0000117 <zipfileset src="${common.basedir}/lib/build/asm-3.1.jar"/>
limpbizkit53708f02008-11-29 20:45:55 +0000118 <rule pattern="net.sf.cglib.**" result="com.google.inject.internal.cglib.@1"/>
119 <rule pattern="org.objectweb.asm.**" result="com.google.inject.internal.asm.@1"/>
120 <keep pattern="com.google.inject.**"/>
121 </jarjar>
122 </target>
123
crazybobleeefdb6f32007-02-26 02:54:11 +0000124</project>