forked from mbien/jocl-demos
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.xml
127 lines (101 loc) · 6.09 KB
/
build.xml
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
118
119
120
121
122
123
124
125
126
127
<?xml version="1.0" encoding="UTF-8"?>
<project name="jocl-demos" default="default" basedir=".">
<description>Builds, tests, and runs the project jocl-demos.</description>
<condition property="rootrel.build" value="build">
<not>
<isset property="rootrel.build"/>
</not>
</condition>
<import file="nbproject/build-impl.xml"/>
<property file="nbproject/project.properties" />
<!-- Pull in GlueGen cpptasks build file -->
<import file="${gluegen.root}/make/gluegen-cpptasks.xml" />
<import file="${gluegen.root}/make/jogamp-env.xml" />
<import file="${gluegen.root}/make/jogamp-archivetasks.xml" />
<target name="-pre-jar" depends="jogamp.env.init">
<tstamp>
<format property="version.timestamp" pattern="yyyyMMdd"/>
</tstamp>
<property name="jocl-demos.build.number" value="manual" />
<property name="jocl-demos.build.id" value="${version.timestamp}" />
<property name="jocl-demos.build.branch" value="master" />
<property name="jocl-demos.build.commit" value="manual" />
<property name="jocl-demos.version" value="${jocl_demos_base_version}-b${jocl-demos.build.number}-${version.timestamp}" />
</target>
<target name="-post-jar" depends="tag.build,create-all-jnlps,gluegen.cpptasks.detect.os,build-archive"/>
<target name="build-archive" if="build.archiveon">
<property name="dist.zip.name" value="jocl-demos-${jocl-demos.version}-${os.and.arch}"/>
<mkdir dir="${dist.dir}/tmp/${dist.zip.name}"/>
<copy todir="${dist.dir}/tmp/${dist.zip.name}/jar" file="${dist.dir}/jocl-demos.jar"/>
<copy todir="${dist.dir}/tmp/${dist.zip.name}/jnlp-files" >
<fileset dir="${dist.dir}" includes="*.jnlp"/>
</copy>
<copy todir="${dist.dir}/tmp/${dist.zip.name}" >
<fileset dir="." includes="www/**"/>
<fileset dir="${dist.dir}" includes="*.properties"/>
</copy>
<zip basedir="${dist.dir}/tmp" destfile="${dist.dir}/${dist.zip.name}.zip"/>
<archive.7z basedir="${dist.dir}/tmp" destfile="${dist.dir}/${dist.zip.name}.7z" includes="*"/>
<delete dir="${dist.dir}/tmp"/>
</target>
<target name="create-all-jnlps">
<property name="jocl.codepase" value="JOCL_CODEBASE_TAG"/>
<property name="jogl.codepase" value="JOGL_CODEBASE_TAG"/>
<property name="jocl-demos.codepase" value="DEMO_CODEBASE_TAG"/>
<antcall target="create-jnlp" inheritrefs="true">
<param name="jnlp.name" value="glclinterop"/>
<param name="jnlp.title" value="JOGL - JOCL interoperability example."/>
<param name="jnlp.jogl" value="true"/>
<param name="jnlp.mainclass" value="com.jogamp.opencl.demos.joglinterop.GLCLInteroperabilityDemo"/>
</antcall>
<antcall target="create-jnlp" inheritrefs="true">
<param name="jnlp.name" value="julia3d"/>
<param name="jnlp.title" value="3D Julia Set Fractal demo."/>
<param name="jnlp.jogl" value="true"/>
<param name="jnlp.mainclass" value="com.jogamp.opencl.demos.julia3d.Julia3d"/>
</antcall>
<antcall target="create-jnlp" inheritrefs="true">
<param name="jnlp.name" value="multi-device-fractal"/>
<param name="jnlp.title" value="Multi Device Mandelbrot Fractal example."/>
<param name="jnlp.jogl" value="true"/>
<param name="jnlp.mainclass" value="com.jogamp.opencl.demos.fractal.MultiDeviceFractal"/>
</antcall>
<antcall target="create-jnlp" inheritrefs="true">
<param name="jnlp.name" value="clinfo"/>
<param name="jnlp.title" value="OpenCL diagnostics."/>
<param name="jnlp.jogl" value="false"/>
<param name="jnlp.mainclass" value="com.jogamp.opencl.demos.info.CLInfo"/>
</antcall>
<antcall target="create-jnlp" inheritrefs="true">
<param name="jnlp.name" value="gamma"/>
<param name="jnlp.title" value="Simple gamma correction."/>
<param name="jnlp.jogl" value="false"/>
<param name="jnlp.mainclass" value="com.jogamp.opencl.demos.gamma.CLSimpleGammaCorrection"/>
</antcall>
</target>
<target name="tag.build">
<property file="${dist.jar.dir}/artifact.properties"/>
<copy file="${jocl.root}/dist/artifact.properties" todir="${dist.jar.dir}" overwrite="true"/>
<echo file="${dist.jar.dir}/artifact.properties" message="jocl-demos.build.number=${jocl-demos.build.number}${line.separator}" append="true" />
<echo file="${dist.jar.dir}/artifact.properties" message="jocl-demos.build.id=${jocl-demos.build.id}${line.separator}" append="true" />
<echo file="${dist.jar.dir}/artifact.properties" message="jocl-demos.build.branch=${jocl-demos.build.branch}${line.separator}" append="true" />
<echo file="${dist.jar.dir}/artifact.properties" message="jocl-demos.build.commit=${jocl-demos.build.commit}${line.separator}" append="true" />
</target>
<target name="create-jnlp">
<condition property="jogl.extension"
value='<extension name="newt-all-awt" href="${jogl.codepase}/newt-all-awt.jnlp"/>'
else="">
<istrue value="${jnlp.jogl}"/>
</condition>
<copy file="demo-template.jnlp" tofile="${dist.jar.dir}/${jnlp.name}.jnlp">
<filterchain>
<replacestring from="DEMO_TITLE" to="${jnlp.title}"/>
<replacestring from="NAME_TAG" to="${jnlp.name}"/>
<replacestring from="CLASS_TAG" to="${jnlp.mainclass}"/>
<replacestring from="DEMO_CODEBASE_TAG" to="${jocl-demos.codepase}"/>
<replacestring from="JOCL_CODEBASE_TAG" to="${jocl.codepase}"/>
<replacestring from="EXTENSION" to="${jogl.extension}"/>
</filterchain>
</copy>
</target>
</project>