| 1 |
<project name="freecast-all" default="dist" basedir="."> |
|---|
| 2 |
|
|---|
| 3 |
<import file="build-base.xml"/> |
|---|
| 4 |
<import file="build-docs.xml"/> |
|---|
| 5 |
|
|---|
| 6 |
<target name="prepare.ivy"> |
|---|
| 7 |
<path id="path.ivy"> |
|---|
| 8 |
<fileset dir="${track.ivy.dir}"/> |
|---|
| 9 |
</path> |
|---|
| 10 |
<taskdef name="ivy-configure" classname="fr.jayasoft.ivy.ant.IvyConfigure" classpathref="path.ivy" loaderRef="ivy.loader"/> |
|---|
| 11 |
<taskdef name="ivy-resolve" classname="fr.jayasoft.ivy.ant.IvyResolve" classpathref="path.ivy" loaderRef="ivy.loader"/> |
|---|
| 12 |
<taskdef name="ivy-retrieve" classname="fr.jayasoft.ivy.ant.IvyRetrieve" classpathref="path.ivy" loaderRef="ivy.loader"/> |
|---|
| 13 |
<taskdef name="ivy-deliver" classname="fr.jayasoft.ivy.ant.IvyDeliver" classpathref="path.ivy" loaderRef="ivy.loader"/> |
|---|
| 14 |
<taskdef name="ivy-publish" classname="fr.jayasoft.ivy.ant.IvyPublish" classpathref="path.ivy" loaderRef="ivy.loader"/> |
|---|
| 15 |
<taskdef name="ivy-artifactreport" classname="fr.jayasoft.ivy.ant.IvyArtifactReport" classpathref="path.ivy" loaderRef="ivy.loader"/> |
|---|
| 16 |
<ivy-configure /> |
|---|
| 17 |
</target> |
|---|
| 18 |
|
|---|
| 19 |
<target name="prepare.version.tstamp"> |
|---|
| 20 |
<tstamp /> |
|---|
| 21 |
</target> |
|---|
| 22 |
|
|---|
| 23 |
<target name="prepare.version.ccontrol" if="label"> |
|---|
| 24 |
<property name="project.version" value="${DSTAMP}-${label}" /> |
|---|
| 25 |
</target> |
|---|
| 26 |
|
|---|
| 27 |
<target name="prepare.version" depends="prepare.version.tstamp, prepare.version.ccontrol"> |
|---|
| 28 |
<property name="project.version" value="${DSTAMP}" /> |
|---|
| 29 |
<property name="project.fullname" value="freecast-${project.version}" /> |
|---|
| 30 |
</target> |
|---|
| 31 |
|
|---|
| 32 |
<target name="prepare.libraries.check"> |
|---|
| 33 |
<available property="prepare.library.retrieve.notRequired" file="lib/.touch"/> |
|---|
| 34 |
</target> |
|---|
| 35 |
|
|---|
| 36 |
<target name="prepare.libraries.retrieve" depends="prepare.ivy" unless="prepare.library.retrieve.notRequired"> |
|---|
| 37 |
<ivy-retrieve pattern="lib/[conf]/[artifact].[ext]" conf="core, runtime, test" /> |
|---|
| 38 |
|
|---|
| 39 |
<patternset id="patternset.nometainf"> |
|---|
| 40 |
<exclude name="META-INF/**"/> |
|---|
| 41 |
</patternset> |
|---|
| 42 |
|
|---|
| 43 |
<macrodef name="unjar-natives"> |
|---|
| 44 |
<attribute name="platform"/> |
|---|
| 45 |
<attribute name="arch"/> |
|---|
| 46 |
<sequential> |
|---|
| 47 |
<unjar dest="lib/runtime/@{platform}/@{arch}"> |
|---|
| 48 |
<fileset dir="lib/runtime" includes="*-native-@{platform}-@{arch}.jar"/> |
|---|
| 49 |
<patternset refid="patternset.nometainf"/> |
|---|
| 50 |
</unjar> |
|---|
| 51 |
</sequential> |
|---|
| 52 |
</macrodef> |
|---|
| 53 |
|
|---|
| 54 |
<unjar-natives platform="linux" arch="x86"/> |
|---|
| 55 |
<unjar-natives platform="windows" arch="x86"/> |
|---|
| 56 |
<unjar-natives platform="sunos" arch="x86"/> |
|---|
| 57 |
<unjar-natives platform="sunos" arch="sparc"/> |
|---|
| 58 |
|
|---|
| 59 |
<copy todir="lib/runtime/linux/x86"> |
|---|
| 60 |
<fileset dir="${track.tritonus.dir}"> |
|---|
| 61 |
<include name="*.so" /> |
|---|
| 62 |
</fileset> |
|---|
| 63 |
</copy> |
|---|
| 64 |
<copy todir="lib/runtime/windows/x86" flatten="true"> |
|---|
| 65 |
<fileset dir="${track.tritonus.dir}"> |
|---|
| 66 |
<include name="**/*.dll" /> |
|---|
| 67 |
</fileset> |
|---|
| 68 |
</copy> |
|---|
| 69 |
|
|---|
| 70 |
<copy todir="lib/runtime"> |
|---|
| 71 |
<fileset dir="lib/runtime"> |
|---|
| 72 |
<include name="jdic-stub*"/> |
|---|
| 73 |
</fileset> |
|---|
| 74 |
<mapper type="regexp" from="jdic-stub-([a-z]+).jar" to="\1/jdic-stub.jar"/> |
|---|
| 75 |
</copy> |
|---|
| 76 |
|
|---|
| 77 |
<touch file="lib/.touch"/> |
|---|
| 78 |
</target> |
|---|
| 79 |
|
|---|
| 80 |
<target name="prepare.libraries" depends="prepare.libraries.check, prepare.libraries.retrieve" > |
|---|
| 81 |
<path id="path.build"> |
|---|
| 82 |
<fileset dir="lib/core"/> |
|---|
| 83 |
</path> |
|---|
| 84 |
<path id="path.runtime"> |
|---|
| 85 |
<fileset dir="lib/runtime"/> |
|---|
| 86 |
<path refid="path.build"/> |
|---|
| 87 |
</path> |
|---|
| 88 |
<path id="path.test"> |
|---|
| 89 |
<fileset dir="lib/test"/> |
|---|
| 90 |
<path refid="path.runtime"/> |
|---|
| 91 |
</path> |
|---|
| 92 |
</target> |
|---|
| 93 |
|
|---|
| 94 |
<target name="clean.all" depends="clean"> |
|---|
| 95 |
<delete dir="lib" /> |
|---|
| 96 |
<delete dir="export" /> |
|---|
| 97 |
</target> |
|---|
| 98 |
|
|---|
| 99 |
<target name="build.www"> |
|---|
| 100 |
<property name="build.www.dir" location="build/www" /> |
|---|
| 101 |
<mkdir dir="${build.www.dir}" /> |
|---|
| 102 |
|
|---|
| 103 |
<property name="source.www.dir" location="source/org/kolaka/freecast/www" /> |
|---|
| 104 |
<patternset id="build.www.xml.patternset"> |
|---|
| 105 |
<include name="*.xml" /> |
|---|
| 106 |
<exclude name="start*.xml" /> |
|---|
| 107 |
</patternset> |
|---|
| 108 |
|
|---|
| 109 |
<xmlvalidate lenient="true" failonerror="true" warn="true"> |
|---|
| 110 |
<fileset dir="${source.www.dir}"> |
|---|
| 111 |
<include name="*.xml" /> |
|---|
| 112 |
</fileset> |
|---|
| 113 |
</xmlvalidate> |
|---|
| 114 |
|
|---|
| 115 |
<xslt basedir="${source.www.dir}" destdir="${build.www.dir}" style="${source.www.dir}/template.xsl"> |
|---|
| 116 |
<param name="lang" expression="en" /> |
|---|
| 117 |
<mapper type="glob" from="*.xml" to="*.html.en" /> |
|---|
| 118 |
<patternset refid="build.www.xml.patternset" /> |
|---|
| 119 |
</xslt> |
|---|
| 120 |
<xslt basedir="${source.www.dir}" destdir="${build.www.dir}" style="${source.www.dir}/template.xsl"> |
|---|
| 121 |
<param name="lang" expression="fr" /> |
|---|
| 122 |
<mapper type="glob" from="*.xml" to="*.html.fr" /> |
|---|
| 123 |
<patternset refid="build.www.xml.patternset" /> |
|---|
| 124 |
</xslt> |
|---|
| 125 |
<xslt basedir="${source.www.dir}" destdir="${build.www.dir}" style="${source.www.dir}/template.xsl"> |
|---|
| 126 |
<param name="lang" expression="es" /> |
|---|
| 127 |
<mapper type="glob" from="*.xml" to="*.html.es" /> |
|---|
| 128 |
<patternset refid="build.www.xml.patternset" /> |
|---|
| 129 |
</xslt> |
|---|
| 130 |
|
|---|
| 131 |
<copy todir="${build.www.dir}"> |
|---|
| 132 |
<fileset dir="${source.www.dir}"> |
|---|
| 133 |
<include name="robots.txt" /> |
|---|
| 134 |
<include name="**/*.css" /> |
|---|
| 135 |
<include name="**/*.png" /> |
|---|
| 136 |
<include name="**/*.png.*" /> |
|---|
| 137 |
<include name="**/*.jpg" /> |
|---|
| 138 |
<include name="**/*.gif" /> |
|---|
| 139 |
<include name="**/*.ico" /> |
|---|
| 140 |
<include name="**/start*.*" /> |
|---|
| 141 |
<include name="**/jnlp.*" /> |
|---|
| 142 |
<include name="**/reference.php" /> |
|---|
| 143 |
<include name="js/*" /> |
|---|
| 144 |
</fileset> |
|---|
| 145 |
</copy> |
|---|
| 146 |
|
|---|
| 147 |
<macrodef name="thumbnails"> |
|---|
| 148 |
<attribute name="dest" /> |
|---|
| 149 |
<element name="filesets" /> |
|---|
| 150 |
<sequential> |
|---|
| 151 |
<apply executable="convert" dest="@{dest}" failonerror="true" verbose="true"> |
|---|
| 152 |
<arg line="-geometry 200x200" /> |
|---|
| 153 |
<srcfile /> |
|---|
| 154 |
<targetfile /> |
|---|
| 155 |
<filesets /> |
|---|
| 156 |
<mapper type="regexp" from="^(.*)\.([^.]*)" to="\1-thumb.\2" /> |
|---|
| 157 |
</apply> |
|---|
| 158 |
</sequential> |
|---|
| 159 |
</macrodef> |
|---|
| 160 |
|
|---|
| 161 |
<thumbnails dest="${build.www.dir}"> |
|---|
| 162 |
<filesets> |
|---|
| 163 |
<fileset dir="${source.www.dir}"> |
|---|
| 164 |
<include name="images/screenshots/*.png" /> |
|---|
| 165 |
</fileset> |
|---|
| 166 |
</filesets> |
|---|
| 167 |
</thumbnails> |
|---|
| 168 |
</target> |
|---|
| 169 |
|
|---|
| 170 |
<target name="build.start" depends="prepare.version"> |
|---|
| 171 |
<property name="build.start.site" value="start.freecast.org"/> |
|---|
| 172 |
<copy todir="build/start"> |
|---|
| 173 |
<fileset dir="source/org/kolaka/freecast/start"> |
|---|
| 174 |
<include name="**/start.js"/> |
|---|
| 175 |
<include name="**/broadcast/test.html"/> |
|---|
| 176 |
</fileset> |
|---|
| 177 |
<filterset> |
|---|
| 178 |
<filter token="start.site" value="${build.start.site}"/> |
|---|
| 179 |
</filterset> |
|---|
| 180 |
</copy> |
|---|
| 181 |
|
|---|
| 182 |
<mkdir dir="build/start/broadcast"/> |
|---|
| 183 |
|
|---|
| 184 |
<echo message="<empty></empty>" file="build/empty.xml"/> |
|---|
| 185 |
<style |
|---|
| 186 |
style="source/org/kolaka/freecast/start/broadcast/jnlp.xsl" |
|---|
| 187 |
in="build/empty.xml" |
|---|
| 188 |
out="build/start/broadcast/freecast-manager.jnlp"> |
|---|
| 189 |
<param name="codebase" expression="http://${build.start.site}/broadcast"/> |
|---|
| 190 |
<param name="href" expression="freecast-manager.jnlp"/> |
|---|
| 191 |
</style> |
|---|
| 192 |
</target> |
|---|
| 193 |
|
|---|
| 194 |
<target name="build.win32" depends="build.win32.jre"> |
|---|
| 195 |
<copy todir="build/win32"> |
|---|
| 196 |
<fileset dir="source/org/kolaka/freecast/nsis" /> |
|---|
| 197 |
<filterset> |
|---|
| 198 |
<filter token="project.version" value="${project.version}" /> |
|---|
| 199 |
</filterset> |
|---|
| 200 |
</copy> |
|---|
| 201 |
</target> |
|---|
| 202 |
|
|---|
| 203 |
<target name="build.win32.jre" unless="build.win32.jre.notRequired"> |
|---|
| 204 |
<mkdir dir="build/win32" /> |
|---|
| 205 |
<get dest="build/win32/jre-setup.exe" src="${export.win32.jresetup.url}" usetimestamp="true" /> |
|---|
| 206 |
</target> |
|---|
| 207 |
|
|---|
| 208 |
<target name="test.gui" depends="build.test" description="Run the unit tests GUI"> |
|---|
| 209 |
<java classname="junit.swingui.TestRunner" fork="yes"> |
|---|
| 210 |
<classpath> |
|---|
| 211 |
<pathelement path="build/core/classes" /> |
|---|
| 212 |
<pathelement path="build/test/classes" /> |
|---|
| 213 |
<path refid="path.test" /> |
|---|
| 214 |
</classpath> |
|---|
| 215 |
<sysproperty key="java.library.path" path="${track.tritonus.dir}" /> |
|---|
| 216 |
</java> |
|---|
| 217 |
</target> |
|---|
| 218 |
|
|---|
| 219 |
|
|---|
| 220 |
<target name="dist.jws.check"> |
|---|
| 221 |
<available file="${dist.jws.keystore}" property="dist.jws.possible" /> |
|---|
| 222 |
</target> |
|---|
| 223 |
|
|---|
| 224 |
<target name="dist.jws.libfreecast" depends="prepare.version, build.etc, dist.jar, dist.lib, dist.jws.check" if="dist.jws.possible"> |
|---|
| 225 |
<property name="dist.jws.libfreecast.dir" value="dist/jws" /> |
|---|
| 226 |
<property name="dist.jws.codebase" value="http://jws.freecast.org/${project.version}/"/> |
|---|
| 227 |
|
|---|
| 228 |
<mkdir dir="build/jws"/> |
|---|
| 229 |
<ivy-artifactreport tofile="build/jws/ivy-report.xml" conf="core,runtime"/> |
|---|
| 230 |
<style in="build/jws/ivy-report.xml" out="build/jws/jnlp-resources.xml" style="source/org/kolaka/freecast/jnlp-resources.xsl"> |
|---|
| 231 |
<param name="project.version" expression="${project.version}"/> |
|---|
| 232 |
</style> |
|---|
| 233 |
<loadfile property="dist.jws.resources" srcFile="build/jws/jnlp-resources.xml"> |
|---|
| 234 |
<filterchain> |
|---|
| 235 |
<headfilter lines="-1" skip="1"/> |
|---|
| 236 |
</filterchain> |
|---|
| 237 |
</loadfile> |
|---|
| 238 |
|
|---|
| 239 |
<copy tofile="${dist.jws.libfreecast.dir}/libfreecast.jnlp" file="source/org/kolaka/freecast/node/swing/libfreecast.jnlp"> |
|---|
| 240 |
<filterset> |
|---|
| 241 |
<filter token="project.version" value="${project.version}" /> |
|---|
| 242 |
<filter token="codebase" value="${dist.jws.codebase}" /> |
|---|
| 243 |
<filter token="resources" value="${dist.jws.resources}" /> |
|---|
| 244 |
</filterset> |
|---|
| 245 |
</copy> |
|---|
| 246 |
|
|---|
| 247 |
<mkdir dir="${dist.jws.libfreecast.dir}/lib" /> |
|---|
| 248 |
<jar jarfile="${dist.jws.libfreecast.dir}/lib/freecast-bootstrap.jar"> |
|---|
| 249 |
<fileset dir="${build.core.classes.dir}"> |
|---|
| 250 |
<include name="**/Bootstrap.class" /> |
|---|
| 251 |
</fileset> |
|---|
| 252 |
</jar> |
|---|
| 253 |
|
|---|
| 254 |
<jar jarfile="${dist.jws.libfreecast.dir}/lib/freecast-etc.jar"> |
|---|
| 255 |
<fileset dir="build/etc/console-only" /> |
|---|
| 256 |
</jar> |
|---|
| 257 |
|
|---|
| 258 |
<copy todir="${dist.jws.libfreecast.dir}/lib" flatten="true"> |
|---|
| 259 |
<fileset dir="dist/lib"> |
|---|
| 260 |
<include name="*.jar" /> |
|---|
| 261 |
<include name="jws/freecast-bootstrap.jar" /> |
|---|
| 262 |
|
|---|
| 263 |
<!-- TODO replace with a dedicated library --> |
|---|
| 264 |
<exclude name="freecast*" /> |
|---|
| 265 |
</fileset> |
|---|
| 266 |
</copy> |
|---|
| 267 |
<copy todir="${dist.jws.libfreecast.dir}/lib"> |
|---|
| 268 |
<fileset dir="dist/lib"> |
|---|
| 269 |
<include name="linux/*.jar" /> |
|---|
| 270 |
<include name="windows/*.jar" /> |
|---|
| 271 |
<include name="sunos/*.jar" /> |
|---|
| 272 |
</fileset> |
|---|
| 273 |
</copy> |
|---|
| 274 |
<mkdir dir="${dist.jws.libfreecast.dir}/lib/linux" /> |
|---|
| 275 |
<jar jarfile="${dist.jws.libfreecast.dir}/lib/linux/native-x86.jar"> |
|---|
| 276 |
<fileset dir="dist/lib/linux/x86" /> |
|---|
| 277 |
</jar> |
|---|
| 278 |
<mkdir dir="${dist.jws.libfreecast.dir}/lib/windows" /> |
|---|
| 279 |
<jar jarfile="${dist.jws.libfreecast.dir}/lib/windows/native-x86.jar"> |
|---|
| 280 |
<fileset dir="dist/lib/windows/x86" /> |
|---|
| 281 |
</jar> |
|---|
| 282 |
<mkdir dir="${dist.jws.libfreecast.dir}/lib/sunos" /> |
|---|
| 283 |
<jar jarfile="${dist.jws.libfreecast.dir}/lib/sunos/native-sparc.jar"> |
|---|
| 284 |
<fileset dir="dist/lib/sunos/sparc" /> |
|---|
| 285 |
</jar> |
|---|
| 286 |
<jar jarfile="${dist.jws.libfreecast.dir}/lib/sunos/native-x86.jar"> |
|---|
| 287 |
<fileset dir="dist/lib/sunos/x86" /> |
|---|
| 288 |
</jar> |
|---|
| 289 |
<copy tofile="${dist.jws.libfreecast.dir}/lib/freecast.jar" file="dist/lib/freecast.jar" /> |
|---|
| 290 |
|
|---|
| 291 |
<signjar keystore="${dist.jws.keystore}" alias="kolaka" storepass="kolaka"> |
|---|
| 292 |
<fileset dir="${dist.jws.libfreecast.dir}/lib" includes="**/*.jar"> |
|---|
| 293 |
<depend targetdir="${dist.jws.libfreecast.dir}/lib"> |
|---|
| 294 |
<mapper type="merge" to=".signjar" /> |
|---|
| 295 |
</depend> |
|---|
| 296 |
</fileset> |
|---|
| 297 |
</signjar> |
|---|
| 298 |
<touch file="${dist.jws.libfreecast.dir}/lib/.signjar" /> |
|---|
| 299 |
</target> |
|---|
| 300 |
|
|---|
| 301 |
<target name="dist.jws" depends="dist.jws.libfreecast" /> |
|---|
| 302 |
|
|---|
| 303 |
<target name="dist.win32" depends="dist.jar, dist.lib, dist.bin, dist.docs, dist.etc, build.win32"> |
|---|
| 304 |
<copy todir="${dist.win32.dir}" includeemptydirs="false"> |
|---|
| 305 |
<fileset dir="dist"> |
|---|
| 306 |
<include name="lib/*.jar" /> |
|---|
| 307 |
<include name="lib/windows/**" /> |
|---|
| 308 |
<include name="bin/*.bat" /> |
|---|
| 309 |
<include name="etc/**" /> |
|---|
| 310 |
<include name="docs/*" /> |
|---|
| 311 |
<include name="docs/userguide/**" /> |
|---|
| 312 |
<include name="docs/examples/**" /> |
|---|
| 313 |
</fileset> |
|---|
| 314 |
</copy> |
|---|
| 315 |
<copy todir="${dist.win32.dir}/etc"> |
|---|
| 316 |
<fileset dir="dist/docs/examples/audio"/> |
|---|
| 317 |
</copy> |
|---|
| 318 |
<copy file="LICENSE" tofile="${dist.win32.dir}/LICENSE.txt" /> |
|---|
| 319 |
<fixcrlf srcdir="${dist.win32.dir}" eol="dos"> |
|---|
| 320 |
<include name="**/*.xml"/> |
|---|
| 321 |
<include name="**/*.bat"/> |
|---|
| 322 |
<include name="**/*.txt"/> |
|---|
| 323 |
<include name="**/*.html"/> |
|---|
| 324 |
</fixcrlf> |
|---|
| 325 |
</target> |
|---|
| 326 |
|
|---|
| 327 |
<target name="dist.www" depends="build.www, build.docs.userguide"> |
|---|
| 328 |
<mkdir dir="dist/www" /> |
|---|
| 329 |
<tidy dest="dist/www"> |
|---|
| 330 |
<filesets> |
|---|
| 331 |
<fileset dir="build/www"> |
|---|
| 332 |
<include name="*.html.*" /> |
|---|
| 333 |
<exclude name="start.html.*" /> |
|---|
| 334 |
<exclude name="screencast-*.html.*" /> |
|---|
| 335 |
</fileset> |
|---|
| 336 |
</filesets> |
|---|
| 337 |
</tidy> |
|---|
| 338 |
|
|---|
| 339 |
<!-- screencast pages used an embed tag --> |
|---|
| 340 |
<tidy dest="dist/www" failonerror="false"> |
|---|
| 341 |
<filesets> |
|---|
| 342 |
<fileset dir="build/www"> |
|---|
| 343 |
<include name="screencast-*.html.*" /> |
|---|
| 344 |
</fileset> |
|---|
| 345 |
</filesets> |
|---|
| 346 |
</tidy> |
|---|
| 347 |
|
|---|
| 348 |
<copy todir="dist/www" encoding="UTF-8"> |
|---|
| 349 |
<fileset dir="build/www"> |
|---|
| 350 |
<exclude name="*.html.*" /> |
|---|
| 351 |
</fileset> |
|---|
| 352 |
</copy> |
|---|
| 353 |
|
|---|
| 354 |
<mkdir dir="dist/www/userguide" /> |
|---|
| 355 |
<tidy dest="dist/www/userguide" failonerror="false"> |
|---|
| 356 |
<filesets> |
|---|
| 357 |
<fileset dir="build/docs/userguide"> |
|---|
| 358 |
<include name="*.html" /> |
|---|
| 359 |
</fileset> |
|---|
| 360 |
</filesets> |
|---|
| 361 |
</tidy> |
|---|
| 362 |
<copy todir="dist/www/userguide"> |
|---|
| 363 |
<fileset dir="build/docs/userguide"> |
|---|
| 364 |
<include name="**/*.png" /> |
|---|
| 365 |
<include name="**/*.css" /> |
|---|
| 366 |
<include name="*.pdf" /> |
|---|
| 367 |
</fileset> |
|---|
| 368 |
</copy> |
|---|
| 369 |
</target> |
|---|
| 370 |
|
|---|
| 371 |
<target name="dist.start" depends="build.start"> |
|---|
| 372 |
<copy todir="dist/start"> |
|---|
| 373 |
<fileset dir="build/start"/> |
|---|
| 374 |
<fileset dir="source/org/kolaka/freecast/start"> |
|---|
| 375 |
<exclude name="**/start.js"/> |
|---|
| 376 |
</fileset> |
|---|
| 377 |
</copy> |
|---|
| 378 |
</target> |
|---|
| 379 |
|
|---|
| 380 |
<target name="dist.sources" depends="prepare.version"> |
|---|
| 381 |
<copy todir="dist/sources/source"> |
|---|
| 382 |
<fileset dir="source"> |
|---|
| 383 |
<include name="org/kolaka/freecast/www/images/header/freecast.png" /> |
|---|
| 384 |
<include name="org/kolaka/freecast/www/css/start.css" /> |
|---|
| 385 |
<include name="org/kolaka/freecast/www/css/screen.css" /> |
|---|
| 386 |
</fileset> |
|---|
| 387 |
<fileset dir="source"> |
|---|
| 388 |
<exclude name="org/kolaka/freecast/www/**"/> |
|---|
| 389 |
<exclude name="org/kolaka/freecast/userguide/**"/> |
|---|
| 390 |
<exclude name="org/kolaka/freecast/nsis/**"/> |
|---|
| 391 |
<exclude name="org/kolaka/freecast/press/**"/> |
|---|
| 392 |
</fileset> |
|---|
| 393 |
<fileset dir="${basedir}"> |
|---|
| 394 |
<include name="CONTRIBUTORS" /> |
|---|
| 395 |
<include name="LICENSE" /> |
|---|
| 396 |
</fileset> |
|---|
| 397 |
</copy> |
|---|
| 398 |
<copy tofile="dist/sources/build.xml" file="build-base.xml"/> |
|---|
| 399 |
<propertyfile file="dist/sources/build.properties"> |
|---|
| 400 |
<entry key="project.version" value="${project.version}"/> |
|---|
| 401 |
</propertyfile> |
|---|
| 402 |
<copy todir="dist/sources/lib"> |
|---|
| 403 |
<fileset dir="lib"> |
|---|
| 404 |
<exclude name="**/jdic-stub*"/> |
|---|
| 405 |
<exclude name="**/jdic-native*"/> |
|---|
| 406 |
<include name="core/**"/> |
|---|
| 407 |
<include name="runtime/**"/> |
|---|
| 408 |
<include name="test/**"/> |
|---|
| 409 |
</fileset> |
|---|
| 410 |
</copy> |
|---|
| 411 |
</target> |
|---|
| 412 |
|
|---|
| 413 |
<target name="dist.debian" depends="prepare.version, dist.sources, dist.docs"> |
|---|
| 414 |
<property name="dist.debian.dir" value="dist/debian/${project.fullname}"/> |
|---|
| 415 |
<copy todir="${dist.debian.dir}"> |
|---|
| 416 |
<fileset dir="dist/sources"/> |
|---|
| 417 |
</copy> |
|---|
| 418 |
<copy todir="${dist.debian.dir}/debian"> |
|---|
| 419 |
<fileset dir="debian"/> |
|---|
| 420 |
</copy> |
|---|
| 421 |
<chmod perm="+x"> |
|---|
| 422 |
<fileset dir="${dist.debian.dir}/debian"> |
|---|
| 423 |
<include name="rules"/> |
|---|
| 424 |
<include name="ant"/> |
|---|
| 425 |
</fileset> |
|---|
| 426 |
</chmod> |
|---|
| 427 |
<exec executable="debchange" dir="${dist.debian.dir}"> |
|---|
| 428 |
<arg line="--newversion ${project.version}-0"/> |
|---|
| 429 |
<arg line="New upstream release"/> |
|---|
| 430 |
</exec> |
|---|
| 431 |
<copy todir="${dist.debian.dir}/docs"> |
|---|
| 432 |
<fileset dir="dist/docs"> |
|---|
| 433 |
<exclude name="**/.touch" /> |
|---|
| 434 |
<exclude name="xref/**" /> |
|---|
| 435 |
<exclude name="api/**" /> |
|---|
| 436 |
</fileset> |
|---|
| 437 |
</copy> |
|---|
| 438 |
</target> |
|---|
| 439 |
|
|---|
| 440 |
<target name="export.tar.prepare" depends="prepare.version, build.changelog, dist, dist.docs"> |
|---|
| 441 |
<mkdir dir="export" /> |
|---|
| 442 |
</target> |
|---|
| 443 |
|
|---|
| 444 |
<target name="export.tar.bin" depends="export.tar.prepare"> |
|---|
| 445 |
<tar tarfile="export/${project.fullname}.tar.bz" compression="bzip2"> |
|---|
| 446 |
<!-- permissions are not managed by the tar target --> |
|---|
| 447 |
<tarfileset dir="dist" prefix="${project.fullname}" mode="755"> |
|---|
| 448 |
<include name="bin/freecast*" /> |
|---|
| 449 |
<exclude name="bin/*.bat" /> |
|---|
| 450 |
</tarfileset> |
|---|
| 451 |
<tarfileset dir="dist" prefix="${project.fullname}"> |
|---|
| 452 |
<include name="bin/*.bat" /> |
|---|
| 453 |
</tarfileset> |
|---|
| 454 |
<tarfileset dir="dist" prefix="${project.fullname}"> |
|---|
| 455 |
<include name="etc/**" /> |
|---|
| 456 |
<include name="lib/**" /> |
|---|
| 457 |
</tarfileset> |
|---|
| 458 |
<tarfileset dir="dist/docs" prefix="${project.fullname}/docs"> |
|---|
| 459 |
<include name="userguide/**" /> |
|---|
| 460 |
<include name="examples/**" /> |
|---|
| 461 |
</tarfileset> |
|---|
| 462 |
</tar> |
|---|
| 463 |
</target> |
|---|
| 464 |
|
|---|
| 465 |
<target name="export.tar.sources" depends="export.tar.prepare, dist.sources"> |
|---|
| 466 |
<tar tarfile="export/${project.fullname}-src.tar.bz" compression="bzip2"> |
|---|
| 467 |
<tarfileset dir="dist/sources" prefix="${project.fullname}"/> |
|---|
| 468 |
<tarfileset dir="dist/docs" prefix="${project.fullname}/docs"> |
|---|
| 469 |
<exclude name="**/.touch" /> |
|---|
| 470 |
<exclude name="xref/**" /> |
|---|
| 471 |
</tarfileset> |
|---|
| 472 |
</tar> |
|---|
| 473 |
</target> |
|---|
| 474 |
|
|---|
| 475 |
<target name="export.tar" depends="export.tar.bin, export.tar.sources" description="Packages binaries and sources distributions"/> |
|---|
| 476 |
|
|---|
| 477 |
<target name="export.win32" depends="dist.win32"> |
|---|
| 478 |
<pathconvert targetos="windows" property="export.win32.build.dir"> |
|---|
| 479 |
<path> |
|---|
| 480 |
<pathelement location="${basedir}/build/win32" /> |
|---|
| 481 |
</path> |
|---|
| 482 |
</pathconvert> |
|---|
| 483 |
<exec executable="makensis" failonerror="true" output="build/nsis.log" append="true"> |
|---|
| 484 |
<arg value="-V4" /> |
|---|
| 485 |
<arg value="-NOCD" /> |
|---|
| 486 |
<arg value="-DBuildDir=build\win32" /> |
|---|
| 487 |
<arg value="-DDistDir=dist\win32" /> |
|---|
| 488 |
<arg value="-DExportFile=export\${project.fullname}.exe" /> |
|---|
| 489 |
<arg file="build/win32/freecast.nsi" /> |
|---|
| 490 |
</exec> |
|---|
| 491 |
</target> |
|---|
| 492 |
|
|---|
| 493 |
<target name="export.debian.check"> |
|---|
| 494 |
<uptodate property="export.debian.notRequired" targetfile="export/debian/.touch"> |
|---|
| 495 |
<srcfiles dir="${dist.debian.dir}"/> |
|---|
| 496 |
</uptodate> |
|---|
| 497 |
</target> |
|---|
| 498 |
|
|---|
| 499 |
<target name="export.debian" depends="dist.debian, export.debian.check" unless="export.debian.notRequired"> |
|---|
| 500 |
<property name="dpkg-buildpackage.options" value=""/> |
|---|
| 501 |
<exec executable="dpkg-buildpackage" dir="${dist.debian.dir}" failonerror="true"> |
|---|
| 502 |
<arg line="-rfakeroot -I.svn ${dpkg-buildpackage.options}"/> |
|---|
| 503 |
</exec> |
|---|
| 504 |
<copy todir="export/debian"> |
|---|
| 505 |
<fileset dir="dist/debian"> |
|---|
| 506 |
<include name="freecast_${project.version}*"/> |
|---|
| 507 |
</fileset> |
|---|
| 508 |
</copy> |
|---|
| 509 |
<touch file="export/debian/.touch"/> |
|---|
| 510 |
</target> |
|---|
| 511 |
|
|---|
| 512 |
<target name="export" depends="export.tar, export.debian, export.win32"> |
|---|
| 513 |
<copy tofile="export/README.html" file="build/changelog/changelog.html" /> |
|---|
| 514 |
<copy todir="export"> |
|---|
| 515 |
<fileset dir="build/changelog"> |
|---|
| 516 |
<include name="*.css" /> |
|---|
| 517 |
</fileset> |
|---|
| 518 |
</copy> |
|---|
| 519 |
</target> |
|---|
| 520 |
|
|---|
| 521 |
<target name="ccontrol.loop" depends="clean.all, dist, test, export" /> |
|---|
| 522 |
|
|---|
| 523 |
<target name="install.export" depends="export"> |
|---|
| 524 |
<property name="install.export.target" value="${user.name}@download.freecast.org:/var/www/freecast.org/download" /> |
|---|
| 525 |
<property name="rsync.options" value=""/> |
|---|
| 526 |
<exec executable="rsync" failonerror="true"> |
|---|
| 527 |
<arg value="-avc" /> |
|---|
| 528 |
<arg line="${rsync.options}" /> |
|---|
| 529 |
<arg line="--exclude '*.deb'"/> |
|---|
| 530 |
<arg value="export/" /> |
|---|
| 531 |
<arg value="${install.export.target}" /> |
|---|
| 532 |
</exec> |
|---|
| 533 |
</target> |
|---|
| 534 |
|
|---|
| 535 |
<target name="install.docs" depends="dist.docs"> |
|---|
| 536 |
<tempfile property="install.docs.tempfile" prefix="freecast-docs-" suffix=".tar.gz" /> |
|---|
| 537 |
<basename property="install.docs.tempfilename" file="${install.docs.tempfile}" /> |
|---|
| 538 |
|
|---|
| 539 |
<tar destfile="${install.docs.tempfile}" basedir="dist/docs" compression="gzip" /> |
|---|
| 540 |
|
|---|
| 541 |
<exec executable="rsync" failonerror="true"> |
|---|
| 542 |
<arg value="-av" /> |
|---|
| 543 |
<arg value="${install.docs.tempfile}" /> |
|---|
| 544 |
<arg value="${user.name}@ssh.tryphon.org:/tmp/" /> |
|---|
| 545 |
</exec> |
|---|
| 546 |
<exec executable="ssh" failonerror="true"> |
|---|
| 547 |
<arg value="${user.name}@ssh.tryphon.org" /> |
|---|
| 548 |
<arg value="tar -xzf /tmp/${install.docs.tempfilename} -C /var/www/kolaka.org/freecast/docs ; rm /tmp/${install.docs.tempfilename}" /> |
|---|
| 549 |
</exec> |
|---|
| 550 |
|
|---|
| 551 |
<delete file="${install.docs.tempfile}" /> |
|---|
| 552 |
</target> |
|---|
| 553 |
|
|---|
| 554 |
<target name="install.jws" depends="prepare.version, dist.jws"> |
|---|
| 555 |
<property name="install.jws.target" value="${user.name}@jws.freecast.org:/var/www/freecast.org/jws/${project.version}/" /> |
|---|
| 556 |
|
|---|
| 557 |
<exec executable="rsync" failonerror="true"> |
|---|
| 558 |
<arg value="-azv" /> |
|---|
| 559 |
<arg line="--exclude '*/.signjar'" /> |
|---|
| 560 |
<arg value="dist/jws/" /> |
|---|
| 561 |
<arg value="${install.jws.target}" /> |
|---|
| 562 |
</exec> |
|---|
| 563 |
</target> |
|---|
| 564 |
|
|---|
| 565 |
<target name="install.www" depends="dist.www"> |
|---|
| 566 |
<property name="install.www.target" value="${user.name}@www.freecast.org:/var/www/freecast.org/www/" /> |
|---|
| 567 |
<exec executable="rsync" failonerror="true"> |
|---|
| 568 |
<arg value="-av" /> |
|---|
| 569 |
<arg value="dist/www/" /> |
|---|
| 570 |
<arg value="${install.www.target}" /> |
|---|
| 571 |
</exec> |
|---|
| 572 |
</target> |
|---|
| 573 |
|
|---|
| 574 |
<target name="install.start" depends="dist.start"> |
|---|
| 575 |
<property name="install.start.target" value="${user.name}@start.freecast.org:/var/www/freecast.org/start/" /> |
|---|
| 576 |
<exec executable="rsync" failonerror="true"> |
|---|
| 577 |
<arg value="-av" /> |
|---|
| 578 |
<arg value="dist/start/" /> |
|---|
| 579 |
<arg value="${install.start.target}" /> |
|---|
| 580 |
</exec> |
|---|
| 581 |
</target> |
|---|
| 582 |
|
|---|
| 583 |
</project> |
|---|