You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
163 lines
6.2 KiB
163 lines
6.2 KiB
<?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>
|