xref: /aosp_15_r20/external/guice/common.xml (revision dc5640d1ceac12a29404866b9a53df952a7a6c47)
1*dc5640d1SHerbert Xue<?xml version="1.0"?>
2*dc5640d1SHerbert Xue
3*dc5640d1SHerbert Xue<project name="common">
4*dc5640d1SHerbert Xue
5*dc5640d1SHerbert Xue  <property file="build.properties"/>
6*dc5640d1SHerbert Xue
7*dc5640d1SHerbert Xue  <!-- can be overridden at the command line with -Dversion=
8*dc5640d1SHerbert Xue       or in IDEA, in the ant properties dialog -->
9*dc5640d1SHerbert Xue  <property name="version" value="snapshot"/>
10*dc5640d1SHerbert Xue  <property name="api.version" value="1.4"/>
11*dc5640d1SHerbert Xue
12*dc5640d1SHerbert Xue  <target name="compile" description="Compile Java source.">
13*dc5640d1SHerbert Xue    <mkdir dir="${build.dir}/classes"/>
14*dc5640d1SHerbert Xue    <javac srcdir="${src.dir}"
15*dc5640d1SHerbert Xue         debug="on"
16*dc5640d1SHerbert Xue         destdir="${build.dir}/classes"
17*dc5640d1SHerbert Xue         source="1.7" target="1.7" includeantruntime="false">
18*dc5640d1SHerbert Xue      <compilerarg value="-Xlint:all,-serial"/>
19*dc5640d1SHerbert Xue      <classpath refid="compile.classpath"/>
20*dc5640d1SHerbert Xue    </javac>
21*dc5640d1SHerbert Xue    <copy toDir="${build.dir}/classes">
22*dc5640d1SHerbert Xue      <fileset dir="${src.dir}" excludes="**/*.java"/>
23*dc5640d1SHerbert Xue    </copy>
24*dc5640d1SHerbert Xue  </target>
25*dc5640d1SHerbert Xue
26*dc5640d1SHerbert Xue  <target name="manifest" description="Generate OSGi manifest." depends="compile">
27*dc5640d1SHerbert Xue    <dirname property="common.basedir" file="${ant.file.common}"/>
28*dc5640d1SHerbert Xue    <taskdef resource="aQute/bnd/ant/taskdef.properties"
29*dc5640d1SHerbert Xue      classpath="${common.basedir}/lib/build/bnd-0.0.384.jar"/>
30*dc5640d1SHerbert Xue
31*dc5640d1SHerbert Xue    <fail unless="module" message="Missing 'module' property (use the primary package name in this jar)"/>
32*dc5640d1SHerbert Xue    <property name="imports" value=""/>
33*dc5640d1SHerbert Xue
34*dc5640d1SHerbert Xue    <property name="Bundle-Name" value="${ant.project.name}"/>
35*dc5640d1SHerbert Xue    <property name="Bundle-SymbolicName" value="${module}"/>
36*dc5640d1SHerbert Xue    <property name="Bundle-Version" value="${replace;${version};^[^0-9];0.0.0.$0}"/>
37*dc5640d1SHerbert Xue
38*dc5640d1SHerbert Xue    <property name="Bundle-Description" value="Guice is a lightweight dependency injection framework for Java 6 and above"/>
39*dc5640d1SHerbert Xue    <property name="Bundle-DocURL" value="https://github.com/google/guice"/>
40*dc5640d1SHerbert Xue    <property name="Bundle-Copyright" value="Copyright (C) 2006 Google Inc."/>
41*dc5640d1SHerbert Xue    <property name="Bundle-License" value="http://www.apache.org/licenses/LICENSE-2.0.txt"/>
42*dc5640d1SHerbert Xue    <property name="Bundle-RequiredExecutionEnvironment" value="JavaSE-1.7"/>
43*dc5640d1SHerbert Xue    <property name="Bundle-Vendor" value="Google, Inc."/>
44*dc5640d1SHerbert Xue
45*dc5640d1SHerbert Xue    <property name="Export-Package" value="!${module}.internal.*,${module}.*;version=${api.version}"/>
46*dc5640d1SHerbert Xue
47*dc5640d1SHerbert Xue    <condition property="Eclipse-ExtensibleAPI" value="true">
48*dc5640d1SHerbert Xue      <equals arg1="${module}" arg2="com.google.inject"/>
49*dc5640d1SHerbert Xue    </condition>
50*dc5640d1SHerbert Xue
51*dc5640d1SHerbert Xue    <condition property="Import-Package" value="!com.google.inject.*,*" else="!${module}.*,${imports},*">
52*dc5640d1SHerbert Xue      <istrue value="${fragment}"/>
53*dc5640d1SHerbert Xue    </condition>
54*dc5640d1SHerbert Xue
55*dc5640d1SHerbert Xue    <condition property="Fragment-Host" value="com.google.inject">
56*dc5640d1SHerbert Xue      <istrue value="${fragment}"/>
57*dc5640d1SHerbert Xue    </condition>
58*dc5640d1SHerbert Xue
59*dc5640d1SHerbert Xue    <property name="-nouses" value="true"/>
60*dc5640d1SHerbert Xue
61*dc5640d1SHerbert Xue    <property name="-removeheaders" value="Bnd-LastModified,Ignore-Package,Include-Resource,Private-Package,Tool"/>
62*dc5640d1SHerbert Xue
63*dc5640d1SHerbert Xue    <bndwrap jars="${build.dir}/classes" output="${build.dir}"/>
64*dc5640d1SHerbert Xue
65*dc5640d1SHerbert Xue    <unjar src="${build.dir}/classes.bar" dest="${build.dir}">
66*dc5640d1SHerbert Xue      <patternset>
67*dc5640d1SHerbert Xue        <include name="META-INF/MANIFEST.MF"/>
68*dc5640d1SHerbert Xue      </patternset>
69*dc5640d1SHerbert Xue    </unjar>
70*dc5640d1SHerbert Xue  </target>
71*dc5640d1SHerbert Xue
72*dc5640d1SHerbert Xue  <target name="test.compile"
73*dc5640d1SHerbert Xue      depends="compile"
74*dc5640d1SHerbert Xue      description="Compile test source.">
75*dc5640d1SHerbert Xue    <mkdir dir="${build.dir}/test"/>
76*dc5640d1SHerbert Xue    <javac srcdir="${test.dir}"
77*dc5640d1SHerbert Xue         debug="on"
78*dc5640d1SHerbert Xue         destdir="${build.dir}/test"
79*dc5640d1SHerbert Xue         source="1.7" target="1.7" includeantruntime="false">
80*dc5640d1SHerbert Xue      <classpath path="${build.dir}/classes"/>
81*dc5640d1SHerbert Xue      <classpath path="${build.dir}/test"/>
82*dc5640d1SHerbert Xue      <classpath refid="compile.classpath"/>
83*dc5640d1SHerbert Xue    </javac>
84*dc5640d1SHerbert Xue    <copy toDir="${build.dir}/test">
85*dc5640d1SHerbert Xue      <fileset dir="${test.dir}" excludes="**/*.java"/>
86*dc5640d1SHerbert Xue    </copy>
87*dc5640d1SHerbert Xue  </target>
88*dc5640d1SHerbert Xue
89*dc5640d1SHerbert Xue  <target name="test"
90*dc5640d1SHerbert Xue      depends="test.compile"
91*dc5640d1SHerbert Xue      description="Execute JUnit tests.">
92*dc5640d1SHerbert Xue    <java fork="true"
93*dc5640d1SHerbert Xue        classname="junit.textui.TestRunner"
94*dc5640d1SHerbert Xue        failonerror="true"
95*dc5640d1SHerbert Xue        taskname="junit">
96*dc5640d1SHerbert Xue      <classpath>
97*dc5640d1SHerbert Xue        <pathelement location="${build.dir}/test"/>
98*dc5640d1SHerbert Xue        <pathelement location="${build.dir}/classes"/>
99*dc5640d1SHerbert Xue        <path refid="compile.classpath"/>
100*dc5640d1SHerbert Xue      </classpath>
101*dc5640d1SHerbert Xue      <arg value="${test.class}"/>
102*dc5640d1SHerbert Xue    </java>
103*dc5640d1SHerbert Xue  </target>
104*dc5640d1SHerbert Xue
105*dc5640d1SHerbert Xue  <target name="clean"
106*dc5640d1SHerbert Xue      description="Remove generated files.">
107*dc5640d1SHerbert Xue    <delete dir="${build.dir}"/>
108*dc5640d1SHerbert Xue  </target>
109*dc5640d1SHerbert Xue
110*dc5640d1SHerbert Xue  <target name="source.jar"
111*dc5640d1SHerbert Xue      description="Create a .jar file with sources">
112*dc5640d1SHerbert Xue    <mkdir dir="${build.dir}"/>
113*dc5640d1SHerbert Xue    <zip destfile="${build.dir}/${ant.project.name}-${version}-src.jar">
114*dc5640d1SHerbert Xue      <fileset dir="${src.dir}"/>
115*dc5640d1SHerbert Xue    </zip>
116*dc5640d1SHerbert Xue  </target>
117*dc5640d1SHerbert Xue
118*dc5640d1SHerbert Xue  <target name="distjars"
119*dc5640d1SHerbert Xue      depends="source.jar, jar"
120*dc5640d1SHerbert Xue      description="Build jar files"/>
121*dc5640d1SHerbert Xue
122*dc5640d1SHerbert Xue  <target name="test.withdeps" depends="test.compile"
123*dc5640d1SHerbert Xue      description="Build a jar of tests with internal.util refocused.">
124*dc5640d1SHerbert Xue    <mkdir dir="${build.dir}/dist"/>
125*dc5640d1SHerbert Xue    <dirname property="common.basedir" file="${ant.file.common}"/>
126*dc5640d1SHerbert Xue    <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask"
127*dc5640d1SHerbert Xue        classpath="${common.basedir}/lib/build/jarjar-1.1.jar"/>
128*dc5640d1SHerbert Xue    <jarjar jarfile="${build.dir}/${ant.project.name}-${version}-tests.jar">
129*dc5640d1SHerbert Xue      <fileset dir="${build.dir}/test"/>
130*dc5640d1SHerbert Xue      <rule pattern="net.sf.cglib.*" result="com.google.inject.internal.cglib.$@1"/>
131*dc5640d1SHerbert Xue      <rule pattern="net.sf.cglib.**.*" result="com.google.inject.internal.cglib.@1.$@2"/>
132*dc5640d1SHerbert Xue      <rule pattern="org.objectweb.asm.*" result="com.google.inject.internal.asm.$@1"/>
133*dc5640d1SHerbert Xue      <rule pattern="org.objectweb.asm.**.*" result="com.google.inject.internal.asm.@1.$@2"/>
134*dc5640d1SHerbert Xue      <keep pattern="com.google.inject.**"/>
135*dc5640d1SHerbert Xue      <keep pattern="com.googlecode.**"/>
136*dc5640d1SHerbert Xue    </jarjar>
137*dc5640d1SHerbert Xue  </target>
138*dc5640d1SHerbert Xue
139*dc5640d1SHerbert Xue  <target name="jar.withdeps" depends="compile"
140*dc5640d1SHerbert Xue      description="Build jar with dependencies embedded.">
141*dc5640d1SHerbert Xue    <mkdir dir="${build.dir}/dist"/>
142*dc5640d1SHerbert Xue    <dirname property="common.basedir" file="${ant.file.common}"/>
143*dc5640d1SHerbert Xue    <taskdef name="jarjar" classname="com.tonicsystems.jarjar.JarJarTask"
144*dc5640d1SHerbert Xue        classpath="${common.basedir}/lib/build/jarjar-1.1.jar"/>
145*dc5640d1SHerbert Xue    <jarjar jarfile="${build.dir}/${ant.project.name}-with-deps.jar">
146*dc5640d1SHerbert Xue      <fileset dir="${build.dir}/classes"/>
147*dc5640d1SHerbert Xue      <zipfileset src="${common.basedir}/lib/build/cglib-3.2.6.jar"/>
148*dc5640d1SHerbert Xue      <zipfileset src="${common.basedir}/lib/build/asm-6.0.jar"/>
149*dc5640d1SHerbert Xue      <rule pattern="net.sf.cglib.*" result="com.google.inject.internal.cglib.$@1"/>
150*dc5640d1SHerbert Xue      <rule pattern="net.sf.cglib.**.*" result="com.google.inject.internal.cglib.@1.$@2"/>
151*dc5640d1SHerbert Xue      <rule pattern="org.objectweb.asm.*" result="com.google.inject.internal.asm.$@1"/>
152*dc5640d1SHerbert Xue      <rule pattern="org.objectweb.asm.**.*" result="com.google.inject.internal.asm.@1.$@2"/>
153*dc5640d1SHerbert Xue      <keep pattern="com.google.inject.**"/>
154*dc5640d1SHerbert Xue    </jarjar>
155*dc5640d1SHerbert Xue  </target>
156*dc5640d1SHerbert Xue</project>
157