|
| 1 | +<?xml version="1.0" encoding="UTF-8"?> |
| 2 | +<!-- |
| 3 | + Self-contained Ant build for javaxt-core. |
| 4 | +
|
| 5 | + javaxt-core has no third-party dependencies, so a plain javac + jar is all |
| 6 | + that's needed. |
| 7 | +
|
| 8 | + Usage: |
| 9 | + ant -f ant/build.xml (clean + jar, version "dev") |
| 10 | + ant -f ant/build.xml -Dversion.num=2.3.0 (override the version) |
| 11 | +
|
| 12 | + The release workflow passes -Dversion.num=<tag>, so "dev" is only used |
| 13 | + for local/ad-hoc builds. |
| 14 | +
|
| 15 | + Produces: dist/javaxt-core.jar |
| 16 | +--> |
| 17 | +<project name="javaxt-core" default="jar" basedir="."> |
| 18 | + |
| 19 | + <property name="project.name" value="JavaXT Core"/> |
| 20 | + <property name="version.num" value="dev"/> |
| 21 | + |
| 22 | + <property name="src.dir" value="../src"/> |
| 23 | + <property name="build.dir" value="../build"/> |
| 24 | + <property name="classes.dir" value="${build.dir}/classes"/> |
| 25 | + <property name="dist.dir" value="../dist"/> |
| 26 | + <property name="dist.jar" value="${dist.dir}/javaxt-core.jar"/> |
| 27 | + |
| 28 | + <tstamp> |
| 29 | + <format property="build.date" pattern="yyyy-MM-dd HH:mm:ss z"/> |
| 30 | + </tstamp> |
| 31 | + |
| 32 | + |
| 33 | + <target name="clean" description="Delete build artifacts"> |
| 34 | + <delete dir="${build.dir}"/> |
| 35 | + <delete dir="${dist.dir}"/> |
| 36 | + </target> |
| 37 | + |
| 38 | + |
| 39 | + <target name="compile" description="Compile the source"> |
| 40 | + <mkdir dir="${classes.dir}"/> |
| 41 | + <javac srcdir="${src.dir}" |
| 42 | + destdir="${classes.dir}" |
| 43 | + source="1.8" |
| 44 | + target="1.8" |
| 45 | + encoding="UTF-8" |
| 46 | + includeantruntime="false" |
| 47 | + debug="true"> |
| 48 | + </javac> |
| 49 | + </target> |
| 50 | + |
| 51 | + |
| 52 | + <target name="copy-resources" depends="compile" |
| 53 | + description="Copy non-java resources (e.g. native dlls) into the jar root"> |
| 54 | + <copy todir="${classes.dir}"> |
| 55 | + <fileset dir="${src.dir}" excludes="**/*.java,**/*.form"/> |
| 56 | + </copy> |
| 57 | + </target> |
| 58 | + |
| 59 | + |
| 60 | + <target name="jar" depends="copy-resources" description="Build the jar"> |
| 61 | + <mkdir dir="${dist.dir}"/> |
| 62 | + <jar destfile="${dist.jar}" basedir="${classes.dir}"> |
| 63 | + <manifest> |
| 64 | + <attribute name="Bundle-Name" value="${project.name}"/> |
| 65 | + <attribute name="Bundle-Version" value="${version.num}"/> |
| 66 | + <attribute name="Bundle-Date" value="${build.date}"/> |
| 67 | + <attribute name="Implementation-Title" value="${project.name}"/> |
| 68 | + <attribute name="Implementation-Version" value="${version.num}"/> |
| 69 | + <attribute name="Implementation-URL" value="http://www.javaxt.com"/> |
| 70 | + <attribute name="Main-Class" value="javaxt.utils.Console"/> |
| 71 | + </manifest> |
| 72 | + </jar> |
| 73 | + <echo message="Built ${dist.jar} (version ${version.num})"/> |
| 74 | + </target> |
| 75 | + |
| 76 | +</project> |
0 commit comments