| <?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}" target="${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"/> | |
| <attribute name="Automatic-Module-Name" | |
| value="org.tukaani.xz"/> | |
| <!-- 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}/TestAllocSpeed.jar" basedir="${classes_dir}" | |
| includes="TestAllocSpeed.class"> | |
| <manifest> | |
| <attribute name="Main-Class" value="TestAllocSpeed"/> | |
| <attribute name="Class-Path" value="xz.jar"/> | |
| </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> |