blob: ae4de63870e2fdf1fdb185e555eb9bf1a9c68317 [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 -->
limpbizkit2acabce2009-09-28 02:51:24 +00009 <property name="version" value="snapshot"/>
sberlinf7ac6ea2010-05-09 12:48:24 +000010 <property name="api.version" value="1.3"/>
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"
mcculls244e5902010-10-21 21:37:21 +000017 source="1.5" target="1.5" includeantruntime="false">
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"
sberlinf7ac6ea2010-05-09 12:48:24 +000028 classpath="${common.basedir}/lib/build/bnd-0.0.384.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)"/>
sberlinf7ac6ea2010-05-09 12:48:24 +000031 <property name="imports" value=""/>
limpbizkitf716cf42008-06-03 09:19:35 +000032
limpbizkitfe579cf2008-06-08 23:21:41 +000033 <property name="Bundle-Name" value="${ant.project.name}"/>
34 <property name="Bundle-SymbolicName" value="${module}"/>
sberlinf7ac6ea2010-05-09 12:48:24 +000035 <property name="Bundle-Version" value="${replace;${version};^[^0-9];0.0.0.$0}"/>
limpbizkitf716cf42008-06-03 09:19:35 +000036
limpbizkitfe579cf2008-06-08 23:21:41 +000037 <property name="Bundle-Description" value="Guice is a lightweight dependency injection framework for Java 5 and above"/>
38 <property name="Bundle-DocURL" value="http://code.google.com/p/google-guice/"/>
39 <property name="Bundle-Copyright" value="Copyright (C) 2006 Google Inc."/>
mcculls8846db32010-11-04 02:22:00 +000040 <property name="Bundle-License" value="http://www.apache.org/licenses/LICENSE-2.0.txt"/>
41 <property name="Bundle-RequiredExecutionEnvironment" value="J2SE-1.5,JavaSE-1.6"/>
42 <property name="Bundle-Vendor" value="Google, Inc."/>
limpbizkitfe579cf2008-06-08 23:21:41 +000043
limpbizkit869a3c02008-06-27 01:09:41 +000044 <property name="Export-Package" value="!${module}.internal.*,${module}.*;version=${api.version}"/>
limpbizkitaa3cd302008-12-11 08:08:50 +000045
sberlinf7ac6ea2010-05-09 12:48:24 +000046 <condition property="Import-Package" value="!com.google.inject.*,*" else="!${module}.*,${imports},*">
47 <istrue value="${fragment}"/>
48 </condition>
49
50 <condition property="Fragment-Host" value="com.google.inject">
51 <istrue value="${fragment}"/>
52 </condition>
53
54 <property name="-nouses" value="true"/>
55
limpbizkitfe579cf2008-06-08 23:21:41 +000056 <property name="-removeheaders" value="Bnd-LastModified,Ignore-Package,Include-Resource,Private-Package,Tool"/>
57
58 <bndwrap jars="${build.dir}/classes" output="${build.dir}"/>
59
60 <unjar src="${build.dir}/classes.bar" dest="${build.dir}">
61 <patternset>
62 <include name="META-INF/MANIFEST.MF"/>
63 </patternset>
64 </unjar>
limpbizkitf716cf42008-06-03 09:19:35 +000065 </target>
66
67 <target name="test.compile"
crazybobleeefdb6f32007-02-26 02:54:11 +000068 depends="compile"
69 description="Compile test source.">
70 <mkdir dir="${build.dir}/test"/>
71 <javac srcdir="${test.dir}"
72 debug="on"
limpbizkit8bb742a2008-11-23 03:04:18 +000073 destdir="${build.dir}/test"
mcculls244e5902010-10-21 21:37:21 +000074 source="1.5" target="1.5" includeantruntime="false">
crazybobleeefdb6f32007-02-26 02:54:11 +000075 <classpath path="${build.dir}/classes"/>
dhanji6a8523c2009-12-30 01:05:45 +000076 <classpath path="${build.dir}/test"/>
crazybobleeefdb6f32007-02-26 02:54:11 +000077 <classpath refid="compile.classpath"/>
78 </javac>
79 <copy toDir="${build.dir}/test">
80 <fileset dir="${test.dir}" excludes="**/*.java"/>
81 </copy>
82 </target>
83
84 <target name="test"
85 depends="test.compile"
86 description="Execute JUnit tests.">
limpbizkitf716cf42008-06-03 09:19:35 +000087 <java fork="true"
crazybobleeefdb6f32007-02-26 02:54:11 +000088 classname="junit.textui.TestRunner"
89 failonerror="true"
90 taskname="junit">
91 <classpath>
92 <pathelement location="${build.dir}/test"/>
93 <pathelement location="${build.dir}/classes"/>
94 <path refid="compile.classpath"/>
95 </classpath>
limpbizkitf716cf42008-06-03 09:19:35 +000096 <arg value="${test.class}"/>
crazybobleeefdb6f32007-02-26 02:54:11 +000097 </java>
98 </target>
limpbizkitf716cf42008-06-03 09:19:35 +000099
crazybobleeefdb6f32007-02-26 02:54:11 +0000100 <target name="clean"
101 description="Remove generated files.">
102 <delete dir="${build.dir}"/>
103 </target>
limpbizkitf716cf42008-06-03 09:19:35 +0000104
limpbizkit28d083b2008-05-07 17:25:38 +0000105 <target name="source.jar"
106 description="Create a .jar file with sources">
107 <mkdir dir="${build.dir}"/>
108 <zip destfile="${build.dir}/${ant.project.name}-${version}-src.jar">
mcculls74d714c2010-10-21 19:10:16 +0000109 <fileset dir="${src.dir}"/>
limpbizkit28d083b2008-05-07 17:25:38 +0000110 </zip>
111 </target>
112
113 <target name="distjars"
114 depends="source.jar, jar"
115 description="Build jar files"/>
116
sberlin6e370962010-10-27 01:48:00 +0000117 <target name="test.compile-with-deps" depends="test.compile"
118 description="Build a jar of tests with internal.util refocused.">
119 <mkdir dir="${build.dir}/dist"/>
120 <dirname property="common.basedir" file="${ant.file.common}"/>
121 <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask"
sberlin982f83e2010-10-27 02:40:07 +0000122 classpath="${common.basedir}/lib/build/jarjar-snapshot.jar"/>
sberlin6e370962010-10-27 01:48:00 +0000123 <jarjar jarfile="${build.dir}/${ant.project.name}-${version}-tests.jar">
124 <fileset dir="${build.dir}/test"/>
125 <rule pattern="com.google.inject.internal.util.*" result="com.google.inject.internal.util.$@1"/>
126 <rule pattern="com.google.inject.internal.util.**.*" result="com.google.inject.internal.util.@1.$@2"/>
127 <keep pattern="com.google.inject.**"/>
128 <keep pattern="com.googlecode.inject.**"/>
129 </jarjar>
130 </target>
131
limpbizkit53708f02008-11-29 20:45:55 +0000132 <target name="jar.withdeps" depends="compile"
133 description="Build jar with dependencies embedded.">
134 <mkdir dir="${build.dir}/dist"/>
135 <dirname property="common.basedir" file="${ant.file.common}"/>
136 <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask"
sberlin982f83e2010-10-27 02:40:07 +0000137 classpath="${common.basedir}/lib/build/jarjar-snapshot.jar"/>
limpbizkit53708f02008-11-29 20:45:55 +0000138 <jarjar jarfile="${build.dir}/${ant.project.name}-with-deps.jar">
139 <fileset dir="${build.dir}/classes"/>
chris.nokleberg9c65cc22009-01-11 20:12:42 +0000140 <zipfileset src="${common.basedir}/lib/build/cglib-2.2.1-snapshot.jar"/>
limpbizkit53708f02008-11-29 20:45:55 +0000141 <zipfileset src="${common.basedir}/lib/build/asm-3.1.jar"/>
sberlin6e370962010-10-27 01:48:00 +0000142 <rule pattern="net.sf.cglib.*" result="com.google.inject.internal.cglib.$@1"/>
143 <rule pattern="net.sf.cglib.**.*" result="com.google.inject.internal.cglib.@1.$@2"/>
144 <rule pattern="org.objectweb.asm.*" result="com.google.inject.internal.asm.$@1"/>
145 <rule pattern="org.objectweb.asm.**.*" result="com.google.inject.internal.asm.@1.$@2"/>
146 <rule pattern="com.google.inject.internal.util.*" result="com.google.inject.internal.util.$@1"/>
147 <rule pattern="com.google.inject.internal.util.**.*" result="com.google.inject.internal.util.@1.$@2"/>
limpbizkit53708f02008-11-29 20:45:55 +0000148 <keep pattern="com.google.inject.**"/>
149 </jarjar>
150 </target>
crazybobleeefdb6f32007-02-26 02:54:11 +0000151</project>