summaryrefslogtreecommitdiffstats
path: root/make/build.xml
blob: 7e51feffb538d29f3ce8d87679c2e131d45a1097 (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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<?xml version="1.0" encoding="UTF-8"?>
<!--
   - Ant build for the JOGL utilities.
   -
   - In order for this build to succeed the resulting jar file from this build
   - (joglutils.jar) must not be on the CLASSPATH.
   -
   - This build requires that the jogl project has been checked out into a sibling
   - directory to the joglutils top-level directory and that the jogl.jar has been
   - built into its build directory.
   -->
<project name="joglutils" basedir="." default="all">
    <condition property="rootrel.build" value="build">
      <not>
          <isset property="rootrel.build"/>
      </not>
    </condition>

    <property name="top.dir"             value=".." />
    <property name="src.dir"             value="${top.dir}/src" />
    <property name="demos.src.dir"       value="${top.dir}/demos/src" />
    <property name="output.dir"          value="${top.dir}/${rootrel.build}" />
    <property name="output.tmp.dir"      value="${top.dir}/${rootrel.build}/classes" />
    <property name="output.jar"          value="${output.dir}/joglutils.jar" />
    <property name="demos.jar"           value="${output.dir}/joglutils-demos.jar" />
    <property name="gluegen-rt.jar"      value="${top.dir}/../gluegen/${rootrel.build}/gluegen-rt.jar" />
    <property name="jogl.jar"            value="${top.dir}/../jogl/${rootrel.build}/jar/jogl-all.jar" />
    <property name="jogl-demos-util.jar" value="${top.dir}/../jogl-demos/${rootrel.build}/jogl-demos-util.jar" />
    <property name="swinglayout.jar"     value="lib/swing-layout-1.0.jar" />
    <path id="build.classpath">
        <pathelement location="${gluegen-rt.jar}" />
        <pathelement location="${jogl.jar}" />
        <pathelement location="${jogl-demos-util.jar}" />
        <pathelement location="${swinglayout.jar}" />
    </path>
    <path id="demos.build.classpath">
        <pathelement location="${gluegen-rt.jar}" />
        <pathelement location="${jogl.jar}" />
        <pathelement location="${jogl-demos-util.jar}" />
        <pathelement location="${swinglayout.jar}" />
        <pathelement location="${output.jar}" />
    </path>

    <property name="javadoc.link" value="http://java.sun.com/j2se/1.5.0/docs/api/" />

    <property name="javadoc.dir" value="${output.dir}/javadoc" />
    <property name="javadoc.packagenames" value="net.java.joglutils,net.java.joglutils.demos,net.java.joglutils.jogltext,net.java.joglutils.lighting,net.java.joglutils.test3ds,net.java.joglutils.ThreeDS" />
    <target name="javadoc">
        <javadoc packagenames="${javadoc.packagenames}"
                 sourcepath="${src.dir}"
                 destdir="${javadoc.dir}"
                 source="1.8"
                 linkoffline="${javadoc.link} 5-packages" >
        </javadoc>
    </target>

    <property name="msg.javadoc.dir" value="${output.dir}/msg_javadoc" />
    <property name="msg.javadoc.packagenames" value="net.java.joglutils.msg.actions,net.java.joglutils.msg.collections,net.java.joglutils.msg.elements,net.java.joglutils.msg.math,net.java.joglutils.msg.misc,net.java.joglutils.msg.nodes,net.java.joglutils.msg.test" />
    <property name="msg.javadoc.overview" value="${top.dir}/src/net/java/joglutils/msg/overview.html" />
    <property name="msg.javadoc.windowtitle" value="Minimal Scene Graph (MSG)" />
    <target name="msg.javadoc">
        <javadoc packagenames="${msg.javadoc.packagenames}"
                 sourcepath="${src.dir}"
                 destdir="${msg.javadoc.dir}" windowtitle="${msg.javadoc.windowtitle}"
                 overview="${msg.javadoc.overview}" 
                 source="1.8"
                 linkoffline="${javadoc.link} 5-packages" >
        </javadoc>
    </target>

    <target name="compile">
        <mkdir dir="${output.tmp.dir}" />
        <javac destdir="${output.tmp.dir}" source="1.8" debug="true" debuglevel="source,lines">
            <src path="${src.dir}" />
            <classpath refid="build.classpath" />
        </javac>
    </target>

    <target name="joglutils.jar" depends="compile">
        <delete file="${output.jar}" failonerror="false" />
        <jar destfile="${output.jar}">
            <fileset dir="${output.tmp.dir}"
		     includes="net/**" />
        </jar>
    </target>

    <target name="joglutils-demos.jar" depends="joglutils.jar">
        <javac destdir="${output.tmp.dir}" source="1.8" debug="true" debuglevel="source,lines">
            <src path="${demos.src.dir}" />
            <classpath refid="demos.build.classpath" />
        </javac>
        <jar destfile="${demos.jar}">
            <fileset dir="${output.tmp.dir}"
		     includes="jgudemos/**" />
        </jar>
    </target>

    <target name="clean">
        <delete dir="${output.dir}" failonerror="false" />
    </target>

    <target name="msg.jar" depends="compile">
        <delete file="${output.dir}/msg.jar" failonerror="false" />
        <jar destfile="${output.dir}/msg.jar">
            <fileset dir="${output.tmp.dir}"
                     includes="net/java/joglutils/msg/**"
                     excludes="net/java/joglutils/msg/test/**" />
        </jar>
    </target>

    <target name="all" depends="joglutils.jar,joglutils-demos.jar">
        <delete file="${output.jar}" failonerror="false" />
        <jar destfile="${output.jar}">
            <fileset dir="${output.tmp.dir}" />
        </jar>
    </target>
</project>