| <?xml version="1.0" encoding="UTF-8"?> |
| |
| <!-- |
| build.xml |
| |
| Author: Lasse Collin <lasse.collin@tukaani.org> |
| |
| This file has been put into the public domain. |
| You can do whatever you want with this file. |
| --> |
| |
| <project name="XZ" default="jar"> |
| |
| <property file="build.properties"/> |
| |
| <target name="clean" |
| description="Deletes generated files except 'extdoc/package-list'"> |
| <delete dir="${build_dir}"/> |
| </target> |
| |
| <target name="distclean" depends="clean" |
| description="Deletes all generated files"> |
| <delete dir="extdoc"/> |
| </target> |
| |
| <target name="dist" description="Creates a source package (.zip)"> |
| <mkdir dir="${dist_dir}"/> |
| <zip destfile="${dist_file}"> |
| <fileset dir="." includesfile="fileset-misc.txt"/> |
| <fileset dir="." includesfile="fileset-src.txt"/> |
| </zip> |
| </target> |
| |
| <target name="doc" |
| description="Generates HTML documentation with javadoc"> |
| <mkdir dir="${doc_dir}"/> |
| <mkdir dir="${extdoc_dir}"/> |
| <get src="${extdoc_url}/package-list" |
| dest="${extdoc_dir}/package-list" skipexisting="true"/> |
| <javadoc sourcepath="${src_dir}" destdir="${doc_dir}" |
| source="${sourcever}" packagenames="org.tukaani.xz" |
| windowtitle="XZ data compression" |
| linkoffline="${extdoc_url} ${extdoc_dir}"/> |
| </target> |
| |
| <target name="compile" description="Compiles the classes"> |
| <mkdir dir="${classes_dir}"/> |
| <javac srcdir="." sourcepath="${src_dir}" destdir="${classes_dir}" |
| includeAntRuntime="false" debug="${debug}" |
| source="${sourcever}" includesfile="fileset-src.txt" |
| excludes="**/package-info.java"> |
| <compilerarg compiler="modern" value="-Xlint"/> |
| </javac> |
| </target> |
| |
| <target name="jar" depends="compile" |
| description="Creates JAR packages"> |
| <mkdir dir="${jar_dir}"/> |
| |
| <jar destfile="${jar_dir}/xz.jar" basedir="${classes_dir}" |
| includes="org/tukaani/xz/**"> |
| <manifest> |
| <attribute name="Implementation-Title" value="${title}"/> |
| <attribute name="Implementation-Version" value="${version}"/> |
| <attribute name="Implementation-URL" value="${homepage}"/> |
| <attribute name="Sealed" value="true"/> |
| <!-- Attributes required for OSGi bundles. --> |
| <attribute name="Bundle-ManifestVersion" value="2"/> |
| <attribute name="Bundle-SymbolicName" value="org.tukaani.xz"/> |
| <attribute name="Bundle-Version" value="${version}"/> |
| <attribute name="Export-Package" value="org.tukaani.xz"/> |
| <attribute name="Bundle-Name" value="${title}"/> |
| <attribute name="Bundle-DocURL" value="${homepage}"/> |
| </manifest> |
| </jar> |
| |
| <jar destfile="${jar_dir}/XZEncDemo.jar" basedir="${classes_dir}" |
| includes="XZEncDemo.class"> |
| <manifest> |
| <attribute name="Main-Class" value="XZEncDemo"/> |
| <attribute name="Class-Path" value="xz.jar"/> |
| </manifest> |
| </jar> |
| |
| <jar destfile="${jar_dir}/XZDecDemo.jar" basedir="${classes_dir}" |
| includes="XZDecDemo.class"> |
| <manifest> |
| <attribute name="Main-Class" value="XZDecDemo"/> |
| <attribute name="Class-Path" value="xz.jar"/> |
| </manifest> |
| </jar> |
| |
| <jar destfile="${jar_dir}/XZSeekEncDemo.jar" basedir="${classes_dir}" |
| includes="XZSeekEncDemo.class"> |
| <manifest> |
| <attribute name="Main-Class" value="XZSeekEncDemo"/> |
| <attribute name="Class-Path" value="xz.jar"/> |
| </manifest> |
| </jar> |
| |
| <jar destfile="${jar_dir}/XZSeekDecDemo.jar" basedir="${classes_dir}" |
| includes="XZSeekDecDemo.class"> |
| <manifest> |
| <attribute name="Main-Class" value="XZSeekDecDemo"/> |
| <attribute name="Class-Path" value="xz.jar"/> |
| </manifest> |
| </jar> |
| |
| <jar destfile="${jar_dir}/LZMAEncDemo.jar" basedir="${classes_dir}" |
| includes="LZMAEncDemo.class"> |
| <manifest> |
| <attribute name="Main-Class" value="LZMAEncDemo"/> |
| <attribute name="Class-Path" value="xz.jar"/> |
| </manifest> |
| </jar> |
| |
| <jar destfile="${jar_dir}/LZMADecDemo.jar" basedir="${classes_dir}" |
| includes="LZMADecDemo.class"> |
| <manifest> |
| <attribute name="Main-Class" value="LZMADecDemo"/> |
| <attribute name="Class-Path" value="xz.jar"/> |
| </manifest> |
| </jar> |
| </target> |
| |
| <!-- It's an ugly quick hack. Maybe some day there will be a cleaner |
| version (e.g. by using Maven). --> |
| <target name="maven" depends="dist, doc, jar" |
| description="Creates the files for a Maven repository"> |
| <mkdir dir="${maven_dir}"/> |
| |
| <copy file="${pom_template}" tofile="${maven_dir}/xz-${version}.pom" |
| overwrite="true"> |
| <filterset> |
| <filter token="VERSION" value="${version}"/> |
| <filter token="TITLE" value="${title}"/> |
| <filter token="HOMEPAGE" value="${homepage}"/> |
| </filterset> |
| </copy> |
| |
| <copy file="${jar_dir}/xz.jar" tofile="${maven_dir}/xz-${version}.jar" |
| preservelastmodified="true" overwrite="true"/> |
| |
| <jar destfile="${maven_dir}/xz-${version}-javadoc.jar" |
| basedir="${doc_dir}"/> |
| |
| <jar destfile="${maven_dir}/xz-${version}-sources.jar" |
| basedir="${src_dir}" includes="org/tukaani/xz/**"/> |
| </target> |
| |
| </project> |