| <project name="simplebundle" default="all" basedir="."> |
| |
| <!-- Set global properties. --> |
| <property name="bundle.name" value="simple"/> |
| <property name="src.dir" value="src"/> |
| <property name="lib.dir" value="lib"/> |
| <property name="output.dir" value="classes"/> |
| <property name="bundle.dir" value="."/> |
| <property name="doc.dir" value="doc"/> |
| <property name="apidoc.dir" value="${doc.dir}/api"/> |
| <property name="dist.dir" value="."/> |
| <property name="native.dir" value="native"/> |
| <property name="debug.flag" value="on"/> |
| |
| <!-- Create class path from lib and output directories. --> |
| <path id="classpath"> |
| <pathelement location="${output.dir}"/> |
| <fileset dir="${lib.dir}"> |
| <include name="*.jar"/> |
| </fileset> |
| </path> |
| |
| <!-- Create output directory. --> |
| <target name="init"> |
| <mkdir dir="${output.dir}"/> |
| </target> |
| |
| <!-- Compile and JAR everything --> |
| <target name="all" depends="init"> |
| <antcall target="compile"/> |
| <antcall target="jar"/> |
| </target> |
| |
| <!-- Compile everything. --> |
| <target name="compile" depends="init"> |
| <javac srcdir="${src.dir}" destdir="${output.dir}" |
| debug="${debug.flag}" verbose="no" deprecation="no"> |
| <classpath refid="classpath"/> |
| <include name="**/*.java"/> |
| </javac> |
| </target> |
| |
| <!-- JAR the bundle. --> |
| <target name="jar" depends="compile"> |
| <jar jarfile="${output.dir}/org/apache/felix/${bundle.name}/embedded.jar" |
| basedir="${output.dir}"> |
| <include name="org/apache/felix/${bundle.name}/embedded/**"/> |
| </jar> |
| |
| <copy todir="${output.dir}"> |
| <fileset dir="${native.dir}"> |
| <include name="libfoo.so"/> |
| </fileset> |
| </copy> |
| |
| <jar manifest="${src.dir}/org/apache/felix/${bundle.name}/manifest.mf" |
| jarfile="${bundle.dir}/${bundle.name}.jar" |
| basedir="${output.dir}"> |
| <include name="org/apache/felix/${bundle.name}/**"/> |
| <include name="libfoo.so"/> |
| <exclude name="org/apache/felix/${bundle.name}/embedded/"/> |
| </jar> |
| </target> |
| |
| <!-- Create the source distribution JAR file. --> |
| <target name="dist"> |
| <!-- Create API doc directory. --> |
| <mkdir dir="${apidoc.dir}"/> |
| <!-- Generate API documentation. --> |
| <javadoc sourcepath="${src.dir}" |
| packagenames="*" |
| destdir="${apidoc.dir}" |
| author="true" |
| windowtitle="${bundle.name} API Documentation"/> |
| <!-- JAR the source and doc trees. --> |
| <jar jarfile="${dist.dir}/${bundle.name}-src.jar" |
| basedir=".."> |
| <include name="${bundle.name}/LICENSE.txt"/> |
| <include name="${bundle.name}/build.xml"/> |
| <include name="${bundle.name}/${lib.dir}/**"/> |
| <include name="${bundle.name}/${doc.dir}/**"/> |
| <include name="${bundle.name}/${src.dir}/**"/> |
| </jar> |
| </target> |
| |
| <!-- Clean up everything. --> |
| <target name="clean"> |
| <delete dir="${output.dir}"/> |
| <delete dir="${apidoc.dir}"/> |
| <delete file="${bundle.dir}/${bundle.name}.jar"/> |
| <delete file="${dist.dir}/${bundle.name}-src.jar"/> |
| </target> |
| |
| </project> |