blob: 11024812ef41cc0afd643f02c91a6b5b7276362f [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">
limpbizkit@gmail.comf981ab52010-12-15 05:29:08 +000018 <compilerarg value="-Xlint:all,-serial"/>
crazybobleeefdb6f32007-02-26 02:54:11 +000019 <classpath refid="compile.classpath"/>
20 </javac>
21 <copy toDir="${build.dir}/classes">
22 <fileset dir="${src.dir}" excludes="**/*.java"/>
23 </copy>
24 </target>
25
limpbizkitfe579cf2008-06-08 23:21:41 +000026 <target name="manifest" description="Generate OSGi manifest." depends="compile">
27 <dirname property="common.basedir" file="${ant.file.common}"/>
28 <taskdef resource="aQute/bnd/ant/taskdef.properties"
sberlinf7ac6ea2010-05-09 12:48:24 +000029 classpath="${common.basedir}/lib/build/bnd-0.0.384.jar"/>
limpbizkitf716cf42008-06-03 09:19:35 +000030
limpbizkitfe579cf2008-06-08 23:21:41 +000031 <fail unless="module" message="Missing 'module' property (use the primary package name in this jar)"/>
sberlinf7ac6ea2010-05-09 12:48:24 +000032 <property name="imports" value=""/>
limpbizkitf716cf42008-06-03 09:19:35 +000033
limpbizkitfe579cf2008-06-08 23:21:41 +000034 <property name="Bundle-Name" value="${ant.project.name}"/>
35 <property name="Bundle-SymbolicName" value="${module}"/>
sberlinf7ac6ea2010-05-09 12:48:24 +000036 <property name="Bundle-Version" value="${replace;${version};^[^0-9];0.0.0.$0}"/>
limpbizkitf716cf42008-06-03 09:19:35 +000037
limpbizkitfe579cf2008-06-08 23:21:41 +000038 <property name="Bundle-Description" value="Guice is a lightweight dependency injection framework for Java 5 and above"/>
39 <property name="Bundle-DocURL" value="http://code.google.com/p/google-guice/"/>
40 <property name="Bundle-Copyright" value="Copyright (C) 2006 Google Inc."/>
mcculls8846db32010-11-04 02:22:00 +000041 <property name="Bundle-License" value="http://www.apache.org/licenses/LICENSE-2.0.txt"/>
42 <property name="Bundle-RequiredExecutionEnvironment" value="J2SE-1.5,JavaSE-1.6"/>
43 <property name="Bundle-Vendor" value="Google, Inc."/>
limpbizkitfe579cf2008-06-08 23:21:41 +000044
limpbizkit869a3c02008-06-27 01:09:41 +000045 <property name="Export-Package" value="!${module}.internal.*,${module}.*;version=${api.version}"/>
limpbizkitaa3cd302008-12-11 08:08:50 +000046
Sam Berlin88b6d132012-01-13 18:32:04 -050047 <condition property="Eclipse-ExtensibleAPI" value="true">
48 <equals arg1="${module}" arg2="com.google.inject"/>
49 </condition>
50
sberlinf7ac6ea2010-05-09 12:48:24 +000051 <condition property="Import-Package" value="!com.google.inject.*,*" else="!${module}.*,${imports},*">
52 <istrue value="${fragment}"/>
53 </condition>
54
55 <condition property="Fragment-Host" value="com.google.inject">
56 <istrue value="${fragment}"/>
57 </condition>
58
59 <property name="-nouses" value="true"/>
60
limpbizkitfe579cf2008-06-08 23:21:41 +000061 <property name="-removeheaders" value="Bnd-LastModified,Ignore-Package,Include-Resource,Private-Package,Tool"/>
62
63 <bndwrap jars="${build.dir}/classes" output="${build.dir}"/>
64
65 <unjar src="${build.dir}/classes.bar" dest="${build.dir}">
66 <patternset>
67 <include name="META-INF/MANIFEST.MF"/>
68 </patternset>
69 </unjar>
limpbizkitf716cf42008-06-03 09:19:35 +000070 </target>
71
72 <target name="test.compile"
crazybobleeefdb6f32007-02-26 02:54:11 +000073 depends="compile"
74 description="Compile test source.">
75 <mkdir dir="${build.dir}/test"/>
76 <javac srcdir="${test.dir}"
77 debug="on"
limpbizkit8bb742a2008-11-23 03:04:18 +000078 destdir="${build.dir}/test"
mcculls244e5902010-10-21 21:37:21 +000079 source="1.5" target="1.5" includeantruntime="false">
crazybobleeefdb6f32007-02-26 02:54:11 +000080 <classpath path="${build.dir}/classes"/>
dhanji6a8523c2009-12-30 01:05:45 +000081 <classpath path="${build.dir}/test"/>
crazybobleeefdb6f32007-02-26 02:54:11 +000082 <classpath refid="compile.classpath"/>
83 </javac>
84 <copy toDir="${build.dir}/test">
85 <fileset dir="${test.dir}" excludes="**/*.java"/>
86 </copy>
87 </target>
88
89 <target name="test"
90 depends="test.compile"
91 description="Execute JUnit tests.">
limpbizkitf716cf42008-06-03 09:19:35 +000092 <java fork="true"
crazybobleeefdb6f32007-02-26 02:54:11 +000093 classname="junit.textui.TestRunner"
94 failonerror="true"
95 taskname="junit">
96 <classpath>
97 <pathelement location="${build.dir}/test"/>
98 <pathelement location="${build.dir}/classes"/>
99 <path refid="compile.classpath"/>
100 </classpath>
limpbizkitf716cf42008-06-03 09:19:35 +0000101 <arg value="${test.class}"/>
crazybobleeefdb6f32007-02-26 02:54:11 +0000102 </java>
103 </target>
limpbizkitf716cf42008-06-03 09:19:35 +0000104
crazybobleeefdb6f32007-02-26 02:54:11 +0000105 <target name="clean"
106 description="Remove generated files.">
107 <delete dir="${build.dir}"/>
108 </target>
limpbizkitf716cf42008-06-03 09:19:35 +0000109
limpbizkit28d083b2008-05-07 17:25:38 +0000110 <target name="source.jar"
111 description="Create a .jar file with sources">
112 <mkdir dir="${build.dir}"/>
113 <zip destfile="${build.dir}/${ant.project.name}-${version}-src.jar">
mcculls74d714c2010-10-21 19:10:16 +0000114 <fileset dir="${src.dir}"/>
limpbizkit28d083b2008-05-07 17:25:38 +0000115 </zip>
116 </target>
117
118 <target name="distjars"
119 depends="source.jar, jar"
120 description="Build jar files"/>
121
sberlin6e370962010-10-27 01:48:00 +0000122 <target name="test.compile-with-deps" depends="test.compile"
Sam Berlin45ef0172012-01-13 18:22:35 -0500123 description="Build a jar of tests with internal.util refocused.">
124 <mkdir dir="${build.dir}/dist"/>
sberlin6e370962010-10-27 01:48:00 +0000125 <dirname property="common.basedir" file="${ant.file.common}"/>
126 <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask"
sberlind9c913a2011-06-26 21:02:54 +0000127 classpath="${common.basedir}/lib/build/jarjar-1.1.jar"/>
sberlin6e370962010-10-27 01:48:00 +0000128 <jarjar jarfile="${build.dir}/${ant.project.name}-${version}-tests.jar">
129 <fileset dir="${build.dir}/test"/>
sberlinbd7a14b2011-02-24 14:49:01 +0000130 <rule pattern="net.sf.cglib.*" result="com.google.inject.internal.cglib.$@1"/>
131 <rule pattern="net.sf.cglib.**.*" result="com.google.inject.internal.cglib.@1.$@2"/>
132 <rule pattern="org.objectweb.asm.*" result="com.google.inject.internal.asm.$@1"/>
133 <rule pattern="org.objectweb.asm.**.*" result="com.google.inject.internal.asm.@1.$@2"/>
sberlind9c913a2011-06-26 21:02:54 +0000134 <rule pattern="com.google.common.*" result="com.google.inject.internal.guava.$@1"/>
135 <rule pattern="com.google.common.**.*" result="com.google.inject.internal.guava.@1.$@2"/>
136 <rule pattern="javax.annotation.*.class" result="com.google.inject.internal.jsr305.$@1"/>
137 <rule pattern="javax.annotation.**.*.class" result="com.google.inject.internal.jsr305.@1.$@2"/>
sberlin6e370962010-10-27 01:48:00 +0000138 <keep pattern="com.google.inject.**"/>
sberlind523a882010-11-04 09:34:44 +0000139 <keep pattern="com.googlecode.**"/>
sberlin6e370962010-10-27 01:48:00 +0000140 </jarjar>
Sam Berlin45ef0172012-01-13 18:22:35 -0500141 </target>
sberlin6e370962010-10-27 01:48:00 +0000142
limpbizkit53708f02008-11-29 20:45:55 +0000143 <target name="jar.withdeps" depends="compile"
144 description="Build jar with dependencies embedded.">
145 <mkdir dir="${build.dir}/dist"/>
146 <dirname property="common.basedir" file="${ant.file.common}"/>
147 <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask"
sberlind9c913a2011-06-26 21:02:54 +0000148 classpath="${common.basedir}/lib/build/jarjar-1.1.jar"/>
limpbizkit53708f02008-11-29 20:45:55 +0000149 <jarjar jarfile="${build.dir}/${ant.project.name}-with-deps.jar">
150 <fileset dir="${build.dir}/classes"/>
Christian Edward Gruber23030072013-05-15 17:32:52 -0700151 <zipfileset src="${common.basedir}/lib/build/cglib-3.0.jar"/>
152 <zipfileset src="${common.basedir}/lib/build/asm-4.0.jar"/>
153 <zipfileset src="${common.basedir}/lib/build/asm-util-4.0.jar"/>
Sam Berlin45ef0172012-01-13 18:22:35 -0500154 <zipfileset src="${common.basedir}/lib/build/guava-11.0.1.jar"/>
sberlin6e370962010-10-27 01:48:00 +0000155 <rule pattern="net.sf.cglib.*" result="com.google.inject.internal.cglib.$@1"/>
156 <rule pattern="net.sf.cglib.**.*" result="com.google.inject.internal.cglib.@1.$@2"/>
157 <rule pattern="org.objectweb.asm.*" result="com.google.inject.internal.asm.$@1"/>
158 <rule pattern="org.objectweb.asm.**.*" result="com.google.inject.internal.asm.@1.$@2"/>
sberlind9c913a2011-06-26 21:02:54 +0000159 <rule pattern="com.google.common.*" result="com.google.inject.internal.guava.$@1"/>
160 <rule pattern="com.google.common.**.*" result="com.google.inject.internal.guava.@1.$@2"/>
161 <keep pattern="com.google.inject.**"/>
Sam Berlin45ef0172012-01-13 18:22:35 -0500162 <!-- the servlet extension uses this but core doesn't,
163 so we explicitly instruct the build to keep it. -->
164 <keep pattern="com.google.common.base.Throwables"/>
sberlind9c913a2011-06-26 21:02:54 +0000165 </jarjar>
166 </target>
167
168 <target name="jar.withrenameddeps" depends="compile"
Sam Berlin45ef0172012-01-13 18:22:35 -0500169 description="Build jar with dependencies embedded.">
sberlind9c913a2011-06-26 21:02:54 +0000170 <mkdir dir="${build.dir}/dist"/>
171 <dirname property="common.basedir" file="${ant.file.common}"/>
172 <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask"
173 classpath="${common.basedir}/lib/build/jarjar-1.1.jar"/>
174 <jarjar jarfile="${build.dir}/${ant.project.name}-with-deps.jar">
Christian Edward Gruber23030072013-05-15 17:32:52 -0700175 <zipfileset src="${common.basedir}/lib/build/cglib-3.0.jar">
sberlinb7a02b02011-07-08 00:34:16 +0000176 <include name="LICENSE"/>
177 <include name="NOTICE"/>
sberlind9c913a2011-06-26 21:02:54 +0000178 </zipfileset>
179 <fileset dir="${build.dir}/classes"/>
180 <rule pattern="net.sf.cglib.*" result="com.google.inject.internal.cglib.$@1"/>
181 <rule pattern="net.sf.cglib.**.*" result="com.google.inject.internal.cglib.@1.$@2"/>
182 <rule pattern="org.objectweb.asm.*" result="com.google.inject.internal.asm.$@1"/>
183 <rule pattern="org.objectweb.asm.**.*" result="com.google.inject.internal.asm.@1.$@2"/>
184 <rule pattern="com.google.common.*" result="com.google.inject.internal.guava.$@1"/>
185 <rule pattern="com.google.common.**.*" result="com.google.inject.internal.guava.@1.$@2"/>
limpbizkit53708f02008-11-29 20:45:55 +0000186 <keep pattern="com.google.inject.**"/>
187 </jarjar>
188 </target>
crazybobleeefdb6f32007-02-26 02:54:11 +0000189</project>