1 |
<project name="JSampler" default="build-fantasia" basedir="."> |
2 |
<description>This buildfile is used to build JSampler distributions</description> |
3 |
|
4 |
<property name="jlscp.version" value="0.8"/> |
5 |
<property name="jlscp.srcdir" value="lib/required/jlscp/src"/> |
6 |
<property name="juife.version" value="0.4a"/> |
7 |
<property name="juife.srcdir" value="lib/required/juife/src"/> |
8 |
<property name="JSampler.version" value="0.9"/> |
9 |
<property name="osx.java.stub" value="/System/Library/Frameworks/JavaVM.framework/Versions/Current/Resources/MacOS/JavaApplicationStub"/> |
10 |
|
11 |
<target name="build-jsclassic" depends="clean-jsclassic,build-manifest"> |
12 |
<manifest file="dist/build/views.mf"> |
13 |
<attribute name="JS-Views" value="classic"/> |
14 |
<attribute name="JS-Default-View" value="classic"/> |
15 |
|
16 |
<section name="classic"> |
17 |
<attribute name="View-Name" value="JS Classic"/> |
18 |
<attribute name="View-Config" value="org.jsampler.view.classic.ViewConfig"/> |
19 |
<attribute name="Main-Frame" value="org.jsampler.view.classic.MainFrame"/> |
20 |
<attribute name="Progress-Indicator" value="org.jsampler.view.classic.ProgressDlg"/> |
21 |
</section> |
22 |
</manifest> |
23 |
|
24 |
<copy todir="./dist/build/org/jsampler/view"> |
25 |
<fileset file="./dist/build/views.mf"/> |
26 |
</copy> |
27 |
|
28 |
<unjar src="lib/required/jlscp.jar" dest="dist/build"> |
29 |
<patternset> |
30 |
<include name="org/**"/> |
31 |
</patternset> |
32 |
</unjar> |
33 |
|
34 |
<unjar src="lib/required/juife.jar" dest="dist/build"> |
35 |
<patternset> |
36 |
<include name="net/**"/> |
37 |
</patternset> |
38 |
</unjar> |
39 |
|
40 |
<javac debug="true" debuglevel="source,lines" srcdir="src" destdir="dist/build" excludes="org/jsampler/view/fantasia/** org/jsampler/android/**" /> |
41 |
<copy todir="./dist/build/org/jsampler/langprops"> |
42 |
<fileset dir="./src/org/jsampler/langprops"/> |
43 |
</copy> |
44 |
<copy todir="./dist/build/org/jsampler/view/std/langprops"> |
45 |
<fileset dir="./src/org/jsampler/view/std/langprops"/> |
46 |
</copy> |
47 |
<copy todir="./dist/build/org/jsampler/view/classic/langprops"> |
48 |
<fileset dir="./src/org/jsampler/view/classic/langprops"/> |
49 |
</copy> |
50 |
<copy todir="./dist/build/licenses"> |
51 |
<fileset dir="licenses"/> |
52 |
</copy> |
53 |
<copy todir="./dist/build/org/jsampler/view/classic/res"> |
54 |
<fileset dir="res/js-classic"/> |
55 |
</copy> |
56 |
<delete dir="./dist/build/org/jsampler/view/fantasia"/> |
57 |
<jar basedir="./dist/build" excludes="Manifest" destfile="./dist/JS_Classic-${JSampler.version}.jar" manifest="./dist/build/Manifest"/> |
58 |
<delete dir="./dist/build"/> |
59 |
</target> |
60 |
|
61 |
<target name="build-fantasia" depends="clean-fantasia,build-manifest"> |
62 |
<manifest file="dist/build/views.mf"> |
63 |
<attribute name="JS-Views" value="fantasia"/> |
64 |
<attribute name="JS-Default-View" value="fantasia"/> |
65 |
|
66 |
<section name="fantasia"> |
67 |
<attribute name="View-Name" value="Fantasia"/> |
68 |
<attribute name="View-Config" value="org.jsampler.view.fantasia.ViewConfig"/> |
69 |
<attribute name="Main-Frame" value="org.jsampler.view.fantasia.MainFrame"/> |
70 |
<attribute name="Progress-Indicator" value="org.jsampler.view.fantasia.ProgressDlg"/> |
71 |
</section> |
72 |
</manifest> |
73 |
|
74 |
<copy todir="./dist/build/org/jsampler/view"> |
75 |
<fileset file="./dist/build/views.mf"/> |
76 |
</copy> |
77 |
|
78 |
<unjar src="lib/required/jlscp.jar" dest="dist/build"> |
79 |
<patternset> |
80 |
<include name="org/**"/> |
81 |
</patternset> |
82 |
</unjar> |
83 |
|
84 |
<unjar src="lib/required/juife.jar" dest="dist/build"> |
85 |
<patternset> |
86 |
<include name="net/**"/> |
87 |
</patternset> |
88 |
</unjar> |
89 |
|
90 |
<unjar src="lib/required/trident.jar" dest="dist/build"> |
91 |
</unjar> |
92 |
|
93 |
<unjar src="lib/required/substance.jar" dest="dist/build"> |
94 |
</unjar> |
95 |
|
96 |
<unjar src="lib/required/swingx.jar" dest="dist/build"> |
97 |
</unjar> |
98 |
|
99 |
<condition property="mac-src" value="org/jsampler/view/fantasia/MacOSApplicationHandler.java" else=""> |
100 |
<not><os name="mac" /></not> |
101 |
</condition> |
102 |
|
103 |
<javac debug="true" debuglevel="source,lines" srcdir="src" destdir="dist/build" excludes="org/jsampler/view/classic/** org/jsampler/android/** ${mac-src}"/> |
104 |
|
105 |
<copy todir="./dist/build/org/jsampler/langprops"> |
106 |
<fileset dir="./src/org/jsampler/langprops"/> |
107 |
</copy> |
108 |
<copy todir="./dist/build/org/jsampler/view/std/langprops"> |
109 |
<fileset dir="./src/org/jsampler/view/std/langprops"/> |
110 |
</copy> |
111 |
<copy todir="./dist/build/org/jsampler/view/fantasia/langprops"> |
112 |
<fileset dir="./src/org/jsampler/view/fantasia/langprops"/> |
113 |
</copy> |
114 |
<copy todir="./dist/build/licenses"> |
115 |
<fileset dir="licenses"/> |
116 |
</copy> |
117 |
<copy todir="./dist/build/org/jsampler/view/fantasia/res"> |
118 |
<fileset dir="res/fantasia"/> |
119 |
</copy> |
120 |
<delete dir="./dist/build/org/jsampler/view/classic"/> |
121 |
<jar basedir="./dist/build" excludes="Manifest" destfile="./dist/Fantasia-${JSampler.version}.jar" manifest="./dist/build/Manifest"/> |
122 |
<delete dir="./dist/build"/> |
123 |
</target> |
124 |
|
125 |
<target name="build-fantasia-osx" depends="build-fantasia"> |
126 |
<copy todir="./dist/Fantasia.app/Contents"> |
127 |
<fileset file="./res/fantasia/osx/Info.plist"/> |
128 |
</copy> |
129 |
<copy todir="./dist/Fantasia.app/Contents"> |
130 |
<fileset file="./res/fantasia/osx/PkgInfo"/> |
131 |
</copy> |
132 |
<copy todir="./dist/Fantasia.app/Contents/MacOS"> |
133 |
<fileset file="${osx.java.stub}"/> |
134 |
</copy> |
135 |
<chmod file="./dist/Fantasia.app/Contents/MacOS/JavaApplicationStub" perm="755" /> |
136 |
<copy todir="./dist/Fantasia.app/Contents/Resources/Java"> |
137 |
<fileset file="./dist/Fantasia-${JSampler.version}.jar"/> |
138 |
</copy> |
139 |
<copy todir="./dist/Fantasia.app/Contents/Resources"> |
140 |
<fileset file="./res/fantasia/osx/Fantasia.icns"/> |
141 |
</copy> |
142 |
<copy todir="./dist/Fantasia.app/Contents/Resources"> |
143 |
<fileset file="./res/fantasia/osx/LSCPScript.icns"/> |
144 |
</copy> |
145 |
</target> |
146 |
|
147 |
<target name="build-coredoc" depends="clean-coredoc"> |
148 |
<mkdir dir="doc/api"/> |
149 |
<javadoc sourcepath="./src" destdir="./doc/api" windowtitle="JSampler ${JSampler.version} API specification" overview="./src/overview.html" Author="false" splitindex="true" use="true"> |
150 |
<fileset dir="${jlscp.srcdir}" defaultexcludes="yes"></fileset> |
151 |
<fileset dir="${juife.srcdir}" defaultexcludes="yes"></fileset> |
152 |
<package name="org.jsampler"/> |
153 |
<package name="org.jsampler.event"/> |
154 |
<package name="org.jsampler.task "/> |
155 |
<package name="org.jsampler.view"/> |
156 |
<doctitle>JSampler ${JSampler.version} API specification</doctitle> |
157 |
<header><![CDATA[<b>JSampler</b><br><font size=-1>v${JSampler.version}</font>]]></header> |
158 |
<bottom><![CDATA[<font size=-1>Copyright © 2009 Grigor Iliev. All rights reserved.</font>]]></bottom> |
159 |
</javadoc> |
160 |
</target> |
161 |
|
162 |
<target name="clean-jsclassic"> |
163 |
<delete file="dist/JS_Classic-${JSampler.version}.jar"/> |
164 |
|
165 |
|
166 |
</target> |
167 |
|
168 |
<target name="clean-fantasia"> |
169 |
<delete file="dist/Fantasia-${JSampler.version}.jar"/> |
170 |
<delete dir="dist/Fantasia.app"/> |
171 |
|
172 |
</target> |
173 |
|
174 |
<target name="clean-coredoc"> |
175 |
<delete dir="doc"/> |
176 |
</target> |
177 |
|
178 |
<target name="clean-all" depends="clean-coredoc"> |
179 |
<delete dir="dist"/> |
180 |
|
181 |
|
182 |
</target> |
183 |
|
184 |
<target name="build-manifest"> |
185 |
<mkdir dir="dist/build"/> |
186 |
<manifest file="dist/build/Manifest"> |
187 |
<attribute name="Main-Class" value="org.jsampler.JSampler"/> |
188 |
|
189 |
<section name="org/linuxsampler/lscp/"> |
190 |
<attribute name="Specification-Title" value="A java LinuxSampler control protocol API"/> |
191 |
<attribute name="Specification-Version" value="1.4"/> |
192 |
<attribute name="Specification-Vendor" value="Grigor Iliev"/> |
193 |
<attribute name="Implementation-Title" value="org.linuxsampler.lscp"/> |
194 |
<attribute name="Implementation-Version" value="${jlscp.version}"/> |
195 |
<attribute name="Implementation-Vendor" value="Grigor Iliev"/> |
196 |
</section> |
197 |
|
198 |
<section name="net/sf/juife/"> |
199 |
<attribute name="Specification-Title" value="Java User Interface Framework Extensions"/> |
200 |
<attribute name="Specification-Version" value="0.4"/> |
201 |
<attribute name="Specification-Vendor" value="Grigor Iliev"/> |
202 |
<attribute name="Implementation-Title" value="net.sf.juife"/> |
203 |
<attribute name="Implementation-Version" value="${juife.version}"/> |
204 |
<attribute name="Implementation-Vendor" value="Grigor Iliev"/> |
205 |
</section> |
206 |
|
207 |
<section name="org/jsampler/"> |
208 |
<attribute name="Specification-Title" value="A java front-end for LinuxSampler"/> |
209 |
<attribute name="Specification-Version" value="0.9"/> |
210 |
<attribute name="Specification-Vendor" value="Grigor Iliev"/> |
211 |
<attribute name="Implementation-Title" value="org.jsampler"/> |
212 |
<attribute name="Implementation-Version" value="${JSampler.version}"/> |
213 |
<attribute name="Implementation-Vendor" value="Grigor Iliev"/> |
214 |
</section> |
215 |
</manifest> |
216 |
</target> |
217 |
|
218 |
</project> |
219 |
|