aboutsummaryrefslogtreecommitdiffstats
path: root/build.xml
blob: e436ef2e71c850cb0351c071f17551036e4c0ba6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<project name="JSynProject" default="dist" basedir=".">
    <description>
        Build JSyn Java Synthesizer
    </description>
  <!-- set global properties for this build -->
  <property name="src.dir"   location="src"/>
  <property name="doc.dir"   location="doc"/>
  <property name="build.dir" location="build"/>
  <property name="dist"  location="dist"/>
  <property name="main-class"  value="com.jsyn.apps.AboutJSyn"/>
  <property name="jarname"  value="jsyn"/>
  <property name="java-version" value="1.8"/>

  <target name="init">
    <!-- Create the time stamp -->
    <tstamp/>
    <!-- Create the necessary directories. -->
    <mkdir dir="${build.dir}"/>
    <mkdir dir="${doc.dir}"/>
  </target>

  <target name="compile" depends="init"
        description="compile the source " >
    <!-- Compile the java code from ${src} into ${build} -->
    <javac target="${java-version}" source="${java-version}"
        srcdir="${src.dir}" destdir="${build.dir}">
      <classpath>
        <pathelement path="libs/jportaudio.jar"/>
      </classpath>
    </javac>
  </target>

  <target name="dist" depends="compile"
        description="generate the distribution" >
    <!-- Create the distribution directory -->
    <mkdir dir="${dist}/lib"/>

    <!-- Put everything in ${build} into the jsyn-${DSTAMP}.jar file -->
    <jar jarfile="${dist}/lib/${jarname}-${DSTAMP}.jar" basedir="${build.dir}">
        <manifest>
            <attribute name="Main-Class" value="${main-class}"/>
        </manifest>
    </jar>
  </target>

  <!-- Generate javadocs for current project into ${doc.dir} -->
  <target name="doc" depends="init" description="generate documentation">
    <javadoc
        sourcepath="${src.dir}"
        destdir="${doc.dir}"
        packagenames="com.jsyn.*"
        excludepackagenames="com.portaudio,com.jsyn.devices.jportaudio"
    />
    <echo message = "=================================================================" />
    <echo message = "Javadocs have been generated and placed in the ${doc.dir} folder!" />
    <echo message = "=================================================================" />
  </target>

  <target name="clean"
        description="clean up" >
    <!-- Delete the directories created by ant. -->
    <delete dir="${build.dir}"/>
    <delete dir="${doc.dir}"/>
    <delete dir="${dist}"/>
  </target>
</project>