build-impl.xml 67 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. *** GENERATED FROM project.xml - DO NOT EDIT ***
  4. *** EDIT ../build.xml INSTEAD ***
  5. For the purpose of easier reading the script
  6. is divided into following sections:
  7. - initialization
  8. - compilation
  9. - jar
  10. - execution
  11. - debugging
  12. - javadoc
  13. - junit compilation
  14. - junit execution
  15. - junit debugging
  16. - applet
  17. - cleanup
  18. -->
  19. <project xmlns:j2seproject1="http://www.netbeans.org/ns/j2se-project/1" xmlns:j2seproject3="http://www.netbeans.org/ns/j2se-project/3" xmlns:jaxrpc="http://www.netbeans.org/ns/j2se-project/jax-rpc" basedir=".." default="default" name="jMonkeyEngine3-impl">
  20. <import file="jnlp-impl.xml"/>
  21. <fail message="Please build using Ant 1.7.1 or higher.">
  22. <condition>
  23. <not>
  24. <antversion atleast="1.7.1"/>
  25. </not>
  26. </condition>
  27. </fail>
  28. <target depends="test,jar,javadoc" description="Build and test whole project." name="default"/>
  29. <!--
  30. ======================
  31. INITIALIZATION SECTION
  32. ======================
  33. -->
  34. <target name="-pre-init">
  35. <!-- Empty placeholder for easier customization. -->
  36. <!-- You can override this target in the ../build.xml file. -->
  37. </target>
  38. <target depends="-pre-init" name="-init-private">
  39. <property file="nbproject/private/config.properties"/>
  40. <property file="nbproject/private/configs/${config}.properties"/>
  41. <property file="nbproject/private/private.properties"/>
  42. </target>
  43. <target name="-pre-init-libraries">
  44. <property location="./lib/nblibraries.properties" name="libraries.path"/>
  45. <dirname file="${libraries.path}" property="libraries.dir.nativedirsep"/>
  46. <pathconvert dirsep="/" property="libraries.dir">
  47. <path path="${libraries.dir.nativedirsep}"/>
  48. </pathconvert>
  49. <basename file="${libraries.path}" property="libraries.basename" suffix=".properties"/>
  50. <available file="${libraries.dir}/${libraries.basename}-private.properties" property="private.properties.available"/>
  51. </target>
  52. <target depends="-pre-init-libraries" if="private.properties.available" name="-init-private-libraries">
  53. <loadproperties encoding="ISO-8859-1" srcfile="${libraries.dir}/${libraries.basename}-private.properties">
  54. <filterchain>
  55. <replacestring from="$${base}" to="${libraries.dir}"/>
  56. <escapeunicode/>
  57. </filterchain>
  58. </loadproperties>
  59. </target>
  60. <target depends="-pre-init,-init-private,-init-private-libraries" name="-init-libraries">
  61. <loadproperties encoding="ISO-8859-1" srcfile="${libraries.path}">
  62. <filterchain>
  63. <replacestring from="$${base}" to="${libraries.dir}"/>
  64. <escapeunicode/>
  65. </filterchain>
  66. </loadproperties>
  67. </target>
  68. <target depends="-pre-init,-init-private,-init-libraries" name="-init-user">
  69. <property file="${user.properties.file}"/>
  70. <!-- The two properties below are usually overridden -->
  71. <!-- by the active platform. Just a fallback. -->
  72. <property name="default.javac.source" value="1.4"/>
  73. <property name="default.javac.target" value="1.4"/>
  74. </target>
  75. <target depends="-pre-init,-init-private,-init-libraries,-init-user" name="-init-project">
  76. <property file="nbproject/configs/${config}.properties"/>
  77. <property file="nbproject/project.properties"/>
  78. </target>
  79. <target depends="-pre-init,-init-private,-init-libraries,-init-user,-init-project,-init-macrodef-property" name="-do-init">
  80. <available file="${manifest.file}" property="manifest.available"/>
  81. <condition property="splashscreen.available">
  82. <and>
  83. <not>
  84. <equals arg1="${application.splash}" arg2="" trim="true"/>
  85. </not>
  86. <available file="${application.splash}"/>
  87. </and>
  88. </condition>
  89. <condition property="main.class.available">
  90. <and>
  91. <isset property="main.class"/>
  92. <not>
  93. <equals arg1="${main.class}" arg2="" trim="true"/>
  94. </not>
  95. </and>
  96. </condition>
  97. <condition property="manifest.available+main.class">
  98. <and>
  99. <isset property="manifest.available"/>
  100. <isset property="main.class.available"/>
  101. </and>
  102. </condition>
  103. <condition property="do.archive">
  104. <not>
  105. <istrue value="${jar.archive.disabled}"/>
  106. </not>
  107. </condition>
  108. <condition property="do.mkdist">
  109. <and>
  110. <isset property="do.archive"/>
  111. <isset property="libs.CopyLibs.classpath"/>
  112. <not>
  113. <istrue value="${mkdist.disabled}"/>
  114. </not>
  115. </and>
  116. </condition>
  117. <condition property="manifest.available+main.class+mkdist.available">
  118. <and>
  119. <istrue value="${manifest.available+main.class}"/>
  120. <isset property="do.mkdist"/>
  121. </and>
  122. </condition>
  123. <condition property="do.archive+manifest.available">
  124. <and>
  125. <isset property="manifest.available"/>
  126. <istrue value="${do.archive}"/>
  127. </and>
  128. </condition>
  129. <condition property="do.archive+main.class.available">
  130. <and>
  131. <isset property="main.class.available"/>
  132. <istrue value="${do.archive}"/>
  133. </and>
  134. </condition>
  135. <condition property="do.archive+splashscreen.available">
  136. <and>
  137. <isset property="splashscreen.available"/>
  138. <istrue value="${do.archive}"/>
  139. </and>
  140. </condition>
  141. <condition property="do.archive+manifest.available+main.class">
  142. <and>
  143. <istrue value="${manifest.available+main.class}"/>
  144. <istrue value="${do.archive}"/>
  145. </and>
  146. </condition>
  147. <condition property="manifest.available-mkdist.available">
  148. <or>
  149. <istrue value="${manifest.available}"/>
  150. <isset property="do.mkdist"/>
  151. </or>
  152. </condition>
  153. <condition property="manifest.available+main.class-mkdist.available">
  154. <or>
  155. <istrue value="${manifest.available+main.class}"/>
  156. <isset property="do.mkdist"/>
  157. </or>
  158. </condition>
  159. <condition property="have.tests">
  160. <or>
  161. <available file="${test.test.dir}"/>
  162. </or>
  163. </condition>
  164. <condition property="have.sources">
  165. <or>
  166. <available file="${src.core.dir}"/>
  167. <available file="${src.core-data.dir}"/>
  168. <available file="${src.core-plugins.dir}"/>
  169. <available file="${src.desktop.dir}"/>
  170. <available file="${src.terrain.dir}"/>
  171. <available file="${src.jbullet.dir}"/>
  172. <available file="${src.bullet.dir}"/>
  173. <available file="${src.bullet-native.dir}"/>
  174. <available file="${src.bullet-common.dir}"/>
  175. <available file="${src.networking.dir}"/>
  176. <available file="${src.niftygui.dir}"/>
  177. <available file="${src.jogg.dir}"/>
  178. <available file="${src.ogre.dir}"/>
  179. <available file="${src.blender.dir}"/>
  180. <available file="${src.xml.dir}"/>
  181. <available file="${src.tools.dir}"/>
  182. <available file="${src.test.dir}"/>
  183. <available file="${src.lwjgl.dir}"/>
  184. <available file="${src.android.dir}"/>
  185. </or>
  186. </condition>
  187. <condition property="netbeans.home+have.tests">
  188. <and>
  189. <isset property="netbeans.home"/>
  190. <isset property="have.tests"/>
  191. </and>
  192. </condition>
  193. <condition property="no.javadoc.preview">
  194. <and>
  195. <isset property="javadoc.preview"/>
  196. <isfalse value="${javadoc.preview}"/>
  197. </and>
  198. </condition>
  199. <property name="run.jvmargs" value=""/>
  200. <property name="javac.compilerargs" value=""/>
  201. <property name="work.dir" value="${basedir}"/>
  202. <condition property="no.deps">
  203. <and>
  204. <istrue value="${no.dependencies}"/>
  205. </and>
  206. </condition>
  207. <property name="javac.debug" value="true"/>
  208. <property name="javadoc.preview" value="true"/>
  209. <property name="application.args" value=""/>
  210. <property name="source.encoding" value="${file.encoding}"/>
  211. <property name="runtime.encoding" value="${source.encoding}"/>
  212. <condition property="javadoc.encoding.used" value="${javadoc.encoding}">
  213. <and>
  214. <isset property="javadoc.encoding"/>
  215. <not>
  216. <equals arg1="${javadoc.encoding}" arg2=""/>
  217. </not>
  218. </and>
  219. </condition>
  220. <property name="javadoc.encoding.used" value="${source.encoding}"/>
  221. <property name="includes" value="**"/>
  222. <property name="excludes" value=""/>
  223. <property name="do.depend" value="false"/>
  224. <condition property="do.depend.true">
  225. <istrue value="${do.depend}"/>
  226. </condition>
  227. <path id="endorsed.classpath.path" path="${endorsed.classpath}"/>
  228. <condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'">
  229. <length length="0" string="${endorsed.classpath}" when="greater"/>
  230. </condition>
  231. <condition else="false" property="jdkBug6558476">
  232. <and>
  233. <matches pattern="1\.[56]" string="${java.specification.version}"/>
  234. <not>
  235. <os family="unix"/>
  236. </not>
  237. </and>
  238. </condition>
  239. <property name="javac.fork" value="${jdkBug6558476}"/>
  240. <property name="jar.index" value="false"/>
  241. <property name="jar.index.metainf" value="${jar.index}"/>
  242. <available file="${meta.inf.dir}/persistence.xml" property="has.persistence.xml"/>
  243. </target>
  244. <target name="-post-init">
  245. <!-- Empty placeholder for easier customization. -->
  246. <!-- You can override this target in the ../build.xml file. -->
  247. </target>
  248. <target depends="-pre-init,-init-private,-init-libraries,-init-user,-init-project,-do-init" name="-init-check">
  249. <fail unless="src.core.dir">Must set src.core.dir</fail>
  250. <fail unless="src.core-data.dir">Must set src.core-data.dir</fail>
  251. <fail unless="src.core-plugins.dir">Must set src.core-plugins.dir</fail>
  252. <fail unless="src.desktop.dir">Must set src.desktop.dir</fail>
  253. <fail unless="src.terrain.dir">Must set src.terrain.dir</fail>
  254. <fail unless="src.jbullet.dir">Must set src.jbullet.dir</fail>
  255. <fail unless="src.bullet.dir">Must set src.bullet.dir</fail>
  256. <fail unless="src.bullet-native.dir">Must set src.bullet-native.dir</fail>
  257. <fail unless="src.bullet-common.dir">Must set src.bullet-common.dir</fail>
  258. <fail unless="src.networking.dir">Must set src.networking.dir</fail>
  259. <fail unless="src.niftygui.dir">Must set src.niftygui.dir</fail>
  260. <fail unless="src.jogg.dir">Must set src.jogg.dir</fail>
  261. <fail unless="src.ogre.dir">Must set src.ogre.dir</fail>
  262. <fail unless="src.blender.dir">Must set src.blender.dir</fail>
  263. <fail unless="src.xml.dir">Must set src.xml.dir</fail>
  264. <fail unless="src.tools.dir">Must set src.tools.dir</fail>
  265. <fail unless="src.test.dir">Must set src.test.dir</fail>
  266. <fail unless="src.lwjgl.dir">Must set src.lwjgl.dir</fail>
  267. <fail unless="src.android.dir">Must set src.android.dir</fail>
  268. <fail unless="test.test.dir">Must set test.test.dir</fail>
  269. <fail unless="build.dir">Must set build.dir</fail>
  270. <fail unless="dist.dir">Must set dist.dir</fail>
  271. <fail unless="build.classes.dir">Must set build.classes.dir</fail>
  272. <fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail>
  273. <fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail>
  274. <fail unless="build.test.results.dir">Must set build.test.results.dir</fail>
  275. <fail unless="build.classes.excludes">Must set build.classes.excludes</fail>
  276. <fail unless="dist.jar">Must set dist.jar</fail>
  277. </target>
  278. <target name="-init-macrodef-property">
  279. <macrodef name="property" uri="http://www.netbeans.org/ns/j2se-project/1">
  280. <attribute name="name"/>
  281. <attribute name="value"/>
  282. <sequential>
  283. <property name="@{name}" value="${@{value}}"/>
  284. </sequential>
  285. </macrodef>
  286. </target>
  287. <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-macrodef-javac-with-processors">
  288. <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
  289. <attribute default="${src.core.dir}:${src.core-data.dir}:${src.core-plugins.dir}:${src.desktop.dir}:${src.terrain.dir}:${src.jbullet.dir}:${src.bullet.dir}:${src.bullet-native.dir}:${src.bullet-common.dir}:${src.networking.dir}:${src.niftygui.dir}:${src.jogg.dir}:${src.ogre.dir}:${src.blender.dir}:${src.xml.dir}:${src.tools.dir}:${src.test.dir}:${src.lwjgl.dir}:${src.android.dir}" name="srcdir"/>
  290. <attribute default="${build.classes.dir}" name="destdir"/>
  291. <attribute default="${javac.classpath}" name="classpath"/>
  292. <attribute default="${javac.processorpath}" name="processorpath"/>
  293. <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
  294. <attribute default="${includes}" name="includes"/>
  295. <attribute default="${excludes}" name="excludes"/>
  296. <attribute default="${javac.debug}" name="debug"/>
  297. <attribute default="${empty.dir}" name="sourcepath"/>
  298. <attribute default="${empty.dir}" name="gensrcdir"/>
  299. <element name="customize" optional="true"/>
  300. <sequential>
  301. <property location="${build.dir}/empty" name="empty.dir"/>
  302. <mkdir dir="${empty.dir}"/>
  303. <mkdir dir="@{apgeneratedsrcdir}"/>
  304. <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}">
  305. <src>
  306. <dirset dir="@{gensrcdir}" erroronmissingdir="false">
  307. <include name="*"/>
  308. </dirset>
  309. </src>
  310. <classpath>
  311. <path path="@{classpath}"/>
  312. </classpath>
  313. <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
  314. <compilerarg line="${javac.compilerargs}"/>
  315. <compilerarg value="-processorpath"/>
  316. <compilerarg path="@{processorpath}:${empty.dir}"/>
  317. <compilerarg line="${ap.processors.internal}"/>
  318. <compilerarg line="${annotation.processing.processor.options}"/>
  319. <compilerarg value="-s"/>
  320. <compilerarg path="@{apgeneratedsrcdir}"/>
  321. <compilerarg line="${ap.proc.none.internal}"/>
  322. <customize/>
  323. </javac>
  324. </sequential>
  325. </macrodef>
  326. </target>
  327. <target depends="-init-ap-cmdline-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal">
  328. <macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3">
  329. <attribute default="${src.core.dir}:${src.core-data.dir}:${src.core-plugins.dir}:${src.desktop.dir}:${src.terrain.dir}:${src.jbullet.dir}:${src.bullet.dir}:${src.bullet-native.dir}:${src.bullet-common.dir}:${src.networking.dir}:${src.niftygui.dir}:${src.jogg.dir}:${src.ogre.dir}:${src.blender.dir}:${src.xml.dir}:${src.tools.dir}:${src.test.dir}:${src.lwjgl.dir}:${src.android.dir}" name="srcdir"/>
  330. <attribute default="${build.classes.dir}" name="destdir"/>
  331. <attribute default="${javac.classpath}" name="classpath"/>
  332. <attribute default="${javac.processorpath}" name="processorpath"/>
  333. <attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/>
  334. <attribute default="${includes}" name="includes"/>
  335. <attribute default="${excludes}" name="excludes"/>
  336. <attribute default="${javac.debug}" name="debug"/>
  337. <attribute default="${empty.dir}" name="sourcepath"/>
  338. <attribute default="${empty.dir}" name="gensrcdir"/>
  339. <element name="customize" optional="true"/>
  340. <sequential>
  341. <property location="${build.dir}/empty" name="empty.dir"/>
  342. <mkdir dir="${empty.dir}"/>
  343. <javac debug="@{debug}" deprecation="${javac.deprecation}" destdir="@{destdir}" encoding="${source.encoding}" excludes="@{excludes}" fork="${javac.fork}" includeantruntime="false" includes="@{includes}" source="${javac.source}" sourcepath="@{sourcepath}" srcdir="@{srcdir}" target="${javac.target}" tempdir="${java.io.tmpdir}">
  344. <src>
  345. <dirset dir="@{gensrcdir}" erroronmissingdir="false">
  346. <include name="*"/>
  347. </dirset>
  348. </src>
  349. <classpath>
  350. <path path="@{classpath}"/>
  351. </classpath>
  352. <compilerarg line="${endorsed.classpath.cmd.line.arg}"/>
  353. <compilerarg line="${javac.compilerargs}"/>
  354. <customize/>
  355. </javac>
  356. </sequential>
  357. </macrodef>
  358. </target>
  359. <target depends="-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac">
  360. <macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3">
  361. <attribute default="${src.core.dir}:${src.core-data.dir}:${src.core-plugins.dir}:${src.desktop.dir}:${src.terrain.dir}:${src.jbullet.dir}:${src.bullet.dir}:${src.bullet-native.dir}:${src.bullet-common.dir}:${src.networking.dir}:${src.niftygui.dir}:${src.jogg.dir}:${src.ogre.dir}:${src.blender.dir}:${src.xml.dir}:${src.tools.dir}:${src.test.dir}:${src.lwjgl.dir}:${src.android.dir}" name="srcdir"/>
  362. <attribute default="${build.classes.dir}" name="destdir"/>
  363. <attribute default="${javac.classpath}" name="classpath"/>
  364. <sequential>
  365. <depend cache="${build.dir}/depcache" destdir="@{destdir}" excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}">
  366. <classpath>
  367. <path path="@{classpath}"/>
  368. </classpath>
  369. </depend>
  370. </sequential>
  371. </macrodef>
  372. <macrodef name="force-recompile" uri="http://www.netbeans.org/ns/j2se-project/3">
  373. <attribute default="${build.classes.dir}" name="destdir"/>
  374. <sequential>
  375. <fail unless="javac.includes">Must set javac.includes</fail>
  376. <pathconvert pathsep="${line.separator}" property="javac.includes.binary">
  377. <path>
  378. <filelist dir="@{destdir}" files="${javac.includes}"/>
  379. </path>
  380. <globmapper from="*.java" to="*.class"/>
  381. </pathconvert>
  382. <tempfile deleteonexit="true" property="javac.includesfile.binary"/>
  383. <echo file="${javac.includesfile.binary}" message="${javac.includes.binary}"/>
  384. <delete>
  385. <files includesfile="${javac.includesfile.binary}"/>
  386. </delete>
  387. <delete>
  388. <fileset file="${javac.includesfile.binary}"/>
  389. </delete>
  390. </sequential>
  391. </macrodef>
  392. </target>
  393. <target name="-init-macrodef-junit">
  394. <macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3">
  395. <attribute default="${includes}" name="includes"/>
  396. <attribute default="${excludes}" name="excludes"/>
  397. <attribute default="**" name="testincludes"/>
  398. <sequential>
  399. <property name="junit.forkmode" value="perTest"/>
  400. <junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" forkmode="${junit.forkmode}" showoutput="true" tempdir="${build.dir}">
  401. <batchtest todir="${build.test.results.dir}">
  402. <fileset dir="${test.test.dir}" excludes="@{excludes},${excludes}" includes="@{includes}">
  403. <filename name="@{testincludes}"/>
  404. </fileset>
  405. </batchtest>
  406. <classpath>
  407. <path path="${run.test.classpath}"/>
  408. </classpath>
  409. <syspropertyset>
  410. <propertyref prefix="test-sys-prop."/>
  411. <mapper from="test-sys-prop.*" to="*" type="glob"/>
  412. </syspropertyset>
  413. <formatter type="brief" usefile="false"/>
  414. <formatter type="xml"/>
  415. <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
  416. <jvmarg value="-ea"/>
  417. <jvmarg line="${run.jvmargs}"/>
  418. </junit>
  419. </sequential>
  420. </macrodef>
  421. </target>
  422. <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile, -profile-init-check" name="profile-init"/>
  423. <target name="-profile-pre-init">
  424. <!-- Empty placeholder for easier customization. -->
  425. <!-- You can override this target in the ../build.xml file. -->
  426. </target>
  427. <target name="-profile-post-init">
  428. <!-- Empty placeholder for easier customization. -->
  429. <!-- You can override this target in the ../build.xml file. -->
  430. </target>
  431. <target name="-profile-init-macrodef-profile">
  432. <macrodef name="resolve">
  433. <attribute name="name"/>
  434. <attribute name="value"/>
  435. <sequential>
  436. <property name="@{name}" value="${env.@{value}}"/>
  437. </sequential>
  438. </macrodef>
  439. <macrodef name="profile">
  440. <attribute default="${main.class}" name="classname"/>
  441. <element name="customize" optional="true"/>
  442. <sequential>
  443. <property environment="env"/>
  444. <resolve name="profiler.current.path" value="${profiler.info.pathvar}"/>
  445. <java classname="@{classname}" dir="${profiler.info.dir}" fork="true" jvm="${profiler.info.jvm}">
  446. <jvmarg value="${profiler.info.jvmargs.agent}"/>
  447. <jvmarg line="${profiler.info.jvmargs}"/>
  448. <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
  449. <arg line="${application.args}"/>
  450. <classpath>
  451. <path path="${run.classpath}"/>
  452. </classpath>
  453. <syspropertyset>
  454. <propertyref prefix="run-sys-prop."/>
  455. <mapper from="run-sys-prop.*" to="*" type="glob"/>
  456. </syspropertyset>
  457. <customize/>
  458. </java>
  459. </sequential>
  460. </macrodef>
  461. </target>
  462. <target depends="-profile-pre-init, init, -profile-post-init, -profile-init-macrodef-profile" name="-profile-init-check">
  463. <fail unless="profiler.info.jvm">Must set JVM to use for profiling in profiler.info.jvm</fail>
  464. <fail unless="profiler.info.jvmargs.agent">Must set profiler agent JVM arguments in profiler.info.jvmargs.agent</fail>
  465. </target>
  466. <target depends="-init-debug-args" name="-init-macrodef-nbjpda">
  467. <macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1">
  468. <attribute default="${main.class}" name="name"/>
  469. <attribute default="${debug.classpath}" name="classpath"/>
  470. <attribute default="" name="stopclassname"/>
  471. <sequential>
  472. <nbjpdastart addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}" transport="${debug-transport}">
  473. <classpath>
  474. <path path="@{classpath}"/>
  475. </classpath>
  476. </nbjpdastart>
  477. </sequential>
  478. </macrodef>
  479. <macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/j2se-project/1">
  480. <attribute default="${build.classes.dir}" name="dir"/>
  481. <sequential>
  482. <nbjpdareload>
  483. <fileset dir="@{dir}" includes="${fix.classes}">
  484. <include name="${fix.includes}*.class"/>
  485. </fileset>
  486. </nbjpdareload>
  487. </sequential>
  488. </macrodef>
  489. </target>
  490. <target name="-init-debug-args">
  491. <property name="version-output" value="java version &quot;${ant.java.version}"/>
  492. <condition property="have-jdk-older-than-1.4">
  493. <or>
  494. <contains string="${version-output}" substring="java version &quot;1.0"/>
  495. <contains string="${version-output}" substring="java version &quot;1.1"/>
  496. <contains string="${version-output}" substring="java version &quot;1.2"/>
  497. <contains string="${version-output}" substring="java version &quot;1.3"/>
  498. </or>
  499. </condition>
  500. <condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none">
  501. <istrue value="${have-jdk-older-than-1.4}"/>
  502. </condition>
  503. <condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem">
  504. <os family="windows"/>
  505. </condition>
  506. <condition else="${debug-transport-by-os}" property="debug-transport" value="${debug.transport}">
  507. <isset property="debug.transport"/>
  508. </condition>
  509. </target>
  510. <target depends="-init-debug-args" name="-init-macrodef-debug">
  511. <macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/3">
  512. <attribute default="${main.class}" name="classname"/>
  513. <attribute default="${debug.classpath}" name="classpath"/>
  514. <element name="customize" optional="true"/>
  515. <sequential>
  516. <java classname="@{classname}" dir="${work.dir}" fork="true">
  517. <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
  518. <jvmarg line="${debug-args-line}"/>
  519. <jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/>
  520. <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
  521. <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
  522. <jvmarg line="${run.jvmargs}"/>
  523. <classpath>
  524. <path path="@{classpath}"/>
  525. </classpath>
  526. <syspropertyset>
  527. <propertyref prefix="run-sys-prop."/>
  528. <mapper from="run-sys-prop.*" to="*" type="glob"/>
  529. </syspropertyset>
  530. <customize/>
  531. </java>
  532. </sequential>
  533. </macrodef>
  534. </target>
  535. <target name="-init-macrodef-java">
  536. <macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1">
  537. <attribute default="${main.class}" name="classname"/>
  538. <attribute default="${run.classpath}" name="classpath"/>
  539. <element name="customize" optional="true"/>
  540. <sequential>
  541. <java classname="@{classname}" dir="${work.dir}" fork="true">
  542. <jvmarg line="${endorsed.classpath.cmd.line.arg}"/>
  543. <jvmarg value="-Dfile.encoding=${runtime.encoding}"/>
  544. <redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/>
  545. <jvmarg line="${run.jvmargs}"/>
  546. <classpath>
  547. <path path="@{classpath}"/>
  548. </classpath>
  549. <syspropertyset>
  550. <propertyref prefix="run-sys-prop."/>
  551. <mapper from="run-sys-prop.*" to="*" type="glob"/>
  552. </syspropertyset>
  553. <customize/>
  554. </java>
  555. </sequential>
  556. </macrodef>
  557. </target>
  558. <target name="-init-macrodef-copylibs">
  559. <macrodef name="copylibs" uri="http://www.netbeans.org/ns/j2se-project/3">
  560. <attribute default="${manifest.file}" name="manifest"/>
  561. <element name="customize" optional="true"/>
  562. <sequential>
  563. <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
  564. <pathconvert property="run.classpath.without.build.classes.dir">
  565. <path path="${run.classpath}"/>
  566. <map from="${build.classes.dir.resolved}" to=""/>
  567. </pathconvert>
  568. <pathconvert pathsep=" " property="jar.classpath">
  569. <path path="${run.classpath.without.build.classes.dir}"/>
  570. <chainedmapper>
  571. <flattenmapper/>
  572. <globmapper from="*" to="lib/*"/>
  573. </chainedmapper>
  574. </pathconvert>
  575. <taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/>
  576. <copylibs compress="${jar.compress}" index="${jar.index}" indexMetaInf="${jar.index.metainf}" jarfile="${dist.jar}" manifest="@{manifest}" runtimeclasspath="${run.classpath.without.build.classes.dir}">
  577. <fileset dir="${build.classes.dir}"/>
  578. <manifest>
  579. <attribute name="Class-Path" value="${jar.classpath}"/>
  580. <customize/>
  581. </manifest>
  582. </copylibs>
  583. </sequential>
  584. </macrodef>
  585. </target>
  586. <target name="-init-presetdef-jar">
  587. <presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1">
  588. <jar compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}">
  589. <j2seproject1:fileset dir="${build.classes.dir}"/>
  590. </jar>
  591. </presetdef>
  592. </target>
  593. <target name="-init-ap-cmdline-properties">
  594. <property name="annotation.processing.enabled" value="true"/>
  595. <property name="annotation.processing.processors.list" value=""/>
  596. <property name="annotation.processing.processor.options" value=""/>
  597. <property name="annotation.processing.run.all.processors" value="true"/>
  598. <property name="javac.processorpath" value="${javac.classpath}"/>
  599. <property name="javac.test.processorpath" value="${javac.test.classpath}"/>
  600. <condition property="ap.supported.internal" value="true">
  601. <not>
  602. <matches pattern="1\.[0-5](\..*)?" string="${javac.source}"/>
  603. </not>
  604. </condition>
  605. </target>
  606. <target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-ap-cmdline-supported">
  607. <condition else="" property="ap.processors.internal" value="-processor ${annotation.processing.processors.list}">
  608. <isfalse value="${annotation.processing.run.all.processors}"/>
  609. </condition>
  610. <condition else="" property="ap.proc.none.internal" value="-proc:none">
  611. <isfalse value="${annotation.processing.enabled}"/>
  612. </condition>
  613. </target>
  614. <target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline">
  615. <property name="ap.cmd.line.internal" value=""/>
  616. </target>
  617. <target depends="-pre-init,-init-private,-init-libraries,-init-user,-init-project,-do-init,-post-init,-init-check,-init-macrodef-property,-init-macrodef-javac,-init-macrodef-junit,-init-macrodef-nbjpda,-init-macrodef-debug,-init-macrodef-java,-init-presetdef-jar,-init-ap-cmdline" name="init"/>
  618. <!--
  619. ===================
  620. COMPILATION SECTION
  621. ===================
  622. -->
  623. <target name="-deps-jar-init" unless="built-jar.properties">
  624. <property location="${build.dir}/built-jar.properties" name="built-jar.properties"/>
  625. <delete file="${built-jar.properties}" quiet="true"/>
  626. </target>
  627. <target if="already.built.jar.${basedir}" name="-warn-already-built-jar">
  628. <echo level="warn" message="Cycle detected: jMonkeyEngine3 was already built"/>
  629. </target>
  630. <target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps">
  631. <mkdir dir="${build.dir}"/>
  632. <touch file="${built-jar.properties}" verbose="false"/>
  633. <property file="${built-jar.properties}" prefix="already.built.jar."/>
  634. <antcall target="-warn-already-built-jar"/>
  635. <propertyfile file="${built-jar.properties}">
  636. <entry key="${basedir}" value=""/>
  637. </propertyfile>
  638. </target>
  639. <target depends="init,-check-automatic-build,-clean-after-automatic-build" name="-verify-automatic-build"/>
  640. <target depends="init" name="-check-automatic-build">
  641. <available file="${build.classes.dir}/.netbeans_automatic_build" property="netbeans.automatic.build"/>
  642. </target>
  643. <target depends="init" if="netbeans.automatic.build" name="-clean-after-automatic-build">
  644. <antcall target="clean"/>
  645. </target>
  646. <target depends="init,deps-jar" name="-pre-pre-compile">
  647. <mkdir dir="${build.classes.dir}"/>
  648. </target>
  649. <target name="-pre-compile">
  650. <!-- Empty placeholder for easier customization. -->
  651. <!-- You can override this target in the ../build.xml file. -->
  652. </target>
  653. <target if="do.depend.true" name="-compile-depend">
  654. <pathconvert property="build.generated.subdirs">
  655. <dirset dir="${build.generated.sources.dir}" erroronmissingdir="false">
  656. <include name="*"/>
  657. </dirset>
  658. </pathconvert>
  659. <j2seproject3:depend srcdir="${src.core.dir}:${src.core-data.dir}:${src.core-plugins.dir}:${src.desktop.dir}:${src.terrain.dir}:${src.jbullet.dir}:${src.bullet.dir}:${src.bullet-native.dir}:${src.bullet-common.dir}:${src.networking.dir}:${src.niftygui.dir}:${src.jogg.dir}:${src.ogre.dir}:${src.blender.dir}:${src.xml.dir}:${src.tools.dir}:${src.test.dir}:${src.lwjgl.dir}:${src.android.dir}:${build.generated.subdirs}"/>
  660. </target>
  661. <target depends="init,deps-jar,-pre-pre-compile,-pre-compile, -copy-persistence-xml,-compile-depend" if="have.sources" name="-do-compile">
  662. <j2seproject3:javac gensrcdir="${build.generated.sources.dir}"/>
  663. <copy todir="${build.classes.dir}">
  664. <fileset dir="${src.core.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
  665. <fileset dir="${src.core-data.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
  666. <fileset dir="${src.core-plugins.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
  667. <fileset dir="${src.desktop.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
  668. <fileset dir="${src.terrain.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
  669. <fileset dir="${src.jbullet.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
  670. <fileset dir="${src.bullet.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
  671. <fileset dir="${src.bullet-native.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
  672. <fileset dir="${src.bullet-common.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
  673. <fileset dir="${src.networking.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
  674. <fileset dir="${src.niftygui.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
  675. <fileset dir="${src.jogg.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
  676. <fileset dir="${src.ogre.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
  677. <fileset dir="${src.blender.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
  678. <fileset dir="${src.xml.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
  679. <fileset dir="${src.tools.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
  680. <fileset dir="${src.test.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
  681. <fileset dir="${src.lwjgl.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
  682. <fileset dir="${src.android.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
  683. </copy>
  684. </target>
  685. <target if="has.persistence.xml" name="-copy-persistence-xml">
  686. <mkdir dir="${build.classes.dir}/META-INF"/>
  687. <copy todir="${build.classes.dir}/META-INF">
  688. <fileset dir="${meta.inf.dir}" includes="persistence.xml"/>
  689. </copy>
  690. </target>
  691. <target name="-post-compile">
  692. <!-- Empty placeholder for easier customization. -->
  693. <!-- You can override this target in the ../build.xml file. -->
  694. </target>
  695. <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project." name="compile"/>
  696. <target name="-pre-compile-single">
  697. <!-- Empty placeholder for easier customization. -->
  698. <!-- You can override this target in the ../build.xml file. -->
  699. </target>
  700. <target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single">
  701. <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
  702. <j2seproject3:force-recompile/>
  703. <j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" sourcepath="${src.core.dir}:${src.core-data.dir}:${src.core-plugins.dir}:${src.desktop.dir}:${src.terrain.dir}:${src.jbullet.dir}:${src.bullet.dir}:${src.bullet-native.dir}:${src.bullet-common.dir}:${src.networking.dir}:${src.niftygui.dir}:${src.jogg.dir}:${src.ogre.dir}:${src.blender.dir}:${src.xml.dir}:${src.tools.dir}:${src.test.dir}:${src.lwjgl.dir}:${src.android.dir}"/>
  704. </target>
  705. <target name="-post-compile-single">
  706. <!-- Empty placeholder for easier customization. -->
  707. <!-- You can override this target in the ../build.xml file. -->
  708. </target>
  709. <target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/>
  710. <!--
  711. ====================
  712. JAR BUILDING SECTION
  713. ====================
  714. -->
  715. <target depends="init" name="-pre-pre-jar">
  716. <dirname file="${dist.jar}" property="dist.jar.dir"/>
  717. <mkdir dir="${dist.jar.dir}"/>
  718. </target>
  719. <target name="-pre-jar">
  720. <!-- Empty placeholder for easier customization. -->
  721. <!-- You can override this target in the ../build.xml file. -->
  722. </target>
  723. <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive" name="-do-jar-without-manifest" unless="manifest.available-mkdist.available">
  724. <j2seproject1:jar/>
  725. </target>
  726. <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive+manifest.available" name="-do-jar-with-manifest" unless="manifest.available+main.class-mkdist.available">
  727. <j2seproject1:jar manifest="${manifest.file}"/>
  728. </target>
  729. <target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive+manifest.available+main.class" name="-do-jar-with-mainclass" unless="manifest.available+main.class+mkdist.available">
  730. <j2seproject1:jar manifest="${manifest.file}">
  731. <j2seproject1:manifest>
  732. <j2seproject1:attribute name="Main-Class" value="${main.class}"/>
  733. </j2seproject1:manifest>
  734. </j2seproject1:jar>
  735. <echo level="info">To run this application from the command line without Ant, try:</echo>
  736. <property location="${build.classes.dir}" name="build.classes.dir.resolved"/>
  737. <property location="${dist.jar}" name="dist.jar.resolved"/>
  738. <pathconvert property="run.classpath.with.dist.jar">
  739. <path path="${run.classpath}"/>
  740. <map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/>
  741. </pathconvert>
  742. <echo level="info">java -cp "${run.classpath.with.dist.jar}" ${main.class}</echo>
  743. </target>
  744. <target depends="init" if="do.archive" name="-do-jar-with-libraries-create-manifest" unless="manifest.available">
  745. <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
  746. <touch file="${tmp.manifest.file}" verbose="false"/>
  747. </target>
  748. <target depends="init" if="do.archive+manifest.available" name="-do-jar-with-libraries-copy-manifest">
  749. <tempfile deleteonexit="true" destdir="${build.dir}" property="tmp.manifest.file"/>
  750. <copy file="${manifest.file}" tofile="${tmp.manifest.file}"/>
  751. </target>
  752. <target depends="init,-do-jar-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest" if="do.archive+main.class.available" name="-do-jar-with-libraries-set-main">
  753. <manifest file="${tmp.manifest.file}" mode="update">
  754. <attribute name="Main-Class" value="${main.class}"/>
  755. </manifest>
  756. </target>
  757. <target depends="init,-do-jar-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest" if="do.archive+splashscreen.available" name="-do-jar-with-libraries-set-splashscreen">
  758. <basename file="${application.splash}" property="splashscreen.basename"/>
  759. <mkdir dir="${build.classes.dir}/META-INF"/>
  760. <copy failonerror="false" file="${application.splash}" todir="${build.classes.dir}/META-INF"/>
  761. <manifest file="${tmp.manifest.file}" mode="update">
  762. <attribute name="SplashScreen-Image" value="META-INF/${splashscreen.basename}"/>
  763. </manifest>
  764. </target>
  765. <target depends="init,-init-macrodef-copylibs,compile,-pre-pre-jar,-pre-jar,-do-jar-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest,-do-jar-with-libraries-set-main,-do-jar-with-libraries-set-splashscreen" if="do.mkdist" name="-do-jar-with-libraries-pack">
  766. <j2seproject3:copylibs manifest="${tmp.manifest.file}"/>
  767. <echo level="info">To run this application from the command line without Ant, try:</echo>
  768. <property location="${dist.jar}" name="dist.jar.resolved"/>
  769. <echo level="info">java -jar "${dist.jar.resolved}"</echo>
  770. </target>
  771. <target depends="-do-jar-with-libraries-pack" if="do.archive" name="-do-jar-with-libraries-delete-manifest">
  772. <delete>
  773. <fileset file="${tmp.manifest.file}"/>
  774. </delete>
  775. </target>
  776. <target depends="init,compile,-pre-pre-jar,-pre-jar,-do-jar-with-libraries-create-manifest,-do-jar-with-libraries-copy-manifest,-do-jar-with-libraries-set-main,-do-jar-with-libraries-set-splashscreen,-do-jar-with-libraries-pack,-do-jar-with-libraries-delete-manifest" name="-do-jar-with-libraries"/>
  777. <target name="-post-jar">
  778. <!-- Empty placeholder for easier customization. -->
  779. <!-- You can override this target in the ../build.xml file. -->
  780. </target>
  781. <target depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries,-post-jar,jnlp" description="Build JAR." name="jar"/>
  782. <!--
  783. =================
  784. EXECUTION SECTION
  785. =================
  786. -->
  787. <target depends="init,compile" description="Run a main class." name="run">
  788. <j2seproject1:java>
  789. <customize>
  790. <arg line="${application.args}"/>
  791. </customize>
  792. </j2seproject1:java>
  793. </target>
  794. <target name="-do-not-recompile">
  795. <property name="javac.includes.binary" value=""/>
  796. </target>
  797. <target depends="init,compile-single" name="run-single">
  798. <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
  799. <j2seproject1:java classname="${run.class}"/>
  800. </target>
  801. <target depends="init,compile-test-single" name="run-test-with-main">
  802. <fail unless="run.class">Must select one file in the IDE or set run.class</fail>
  803. <j2seproject1:java classname="${run.class}" classpath="${run.test.classpath}"/>
  804. </target>
  805. <!--
  806. =================
  807. DEBUGGING SECTION
  808. =================
  809. -->
  810. <target depends="init" if="netbeans.home" name="-debug-start-debugger">
  811. <j2seproject1:nbjpdastart name="${debug.class}"/>
  812. </target>
  813. <target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test">
  814. <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/>
  815. </target>
  816. <target depends="init,compile" name="-debug-start-debuggee">
  817. <j2seproject3:debug>
  818. <customize>
  819. <arg line="${application.args}"/>
  820. </customize>
  821. </j2seproject3:debug>
  822. </target>
  823. <target depends="init,compile,-debug-start-debugger,-debug-start-debuggee" description="Debug project in IDE." if="netbeans.home" name="debug"/>
  824. <target depends="init" if="netbeans.home" name="-debug-start-debugger-stepinto">
  825. <j2seproject1:nbjpdastart stopclassname="${main.class}"/>
  826. </target>
  827. <target depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee" if="netbeans.home" name="debug-stepinto"/>
  828. <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-single">
  829. <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
  830. <j2seproject3:debug classname="${debug.class}"/>
  831. </target>
  832. <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/>
  833. <target depends="init,compile-test-single" if="netbeans.home" name="-debug-start-debuggee-main-test">
  834. <fail unless="debug.class">Must select one file in the IDE or set debug.class</fail>
  835. <j2seproject3:debug classname="${debug.class}" classpath="${debug.test.classpath}"/>
  836. </target>
  837. <target depends="init,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/>
  838. <target depends="init" name="-pre-debug-fix">
  839. <fail unless="fix.includes">Must set fix.includes</fail>
  840. <property name="javac.includes" value="${fix.includes}.java"/>
  841. </target>
  842. <target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" name="-do-debug-fix">
  843. <j2seproject1:nbjpdareload/>
  844. </target>
  845. <target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/>
  846. <!--
  847. =================
  848. PROFILING SECTION
  849. =================
  850. -->
  851. <target depends="profile-init,compile" description="Profile a project in the IDE." if="netbeans.home" name="profile">
  852. <nbprofiledirect>
  853. <classpath>
  854. <path path="${run.classpath}"/>
  855. </classpath>
  856. </nbprofiledirect>
  857. <profile/>
  858. </target>
  859. <target depends="profile-init,compile-single" description="Profile a selected class in the IDE." if="netbeans.home" name="profile-single">
  860. <fail unless="profile.class">Must select one file in the IDE or set profile.class</fail>
  861. <nbprofiledirect>
  862. <classpath>
  863. <path path="${run.classpath}"/>
  864. </classpath>
  865. </nbprofiledirect>
  866. <profile classname="${profile.class}"/>
  867. </target>
  868. <!--
  869. =========================
  870. APPLET PROFILING SECTION
  871. =========================
  872. -->
  873. <target depends="profile-init,compile-single" if="netbeans.home" name="profile-applet">
  874. <nbprofiledirect>
  875. <classpath>
  876. <path path="${run.classpath}"/>
  877. </classpath>
  878. </nbprofiledirect>
  879. <profile classname="sun.applet.AppletViewer">
  880. <customize>
  881. <arg value="${applet.url}"/>
  882. </customize>
  883. </profile>
  884. </target>
  885. <!--
  886. =========================
  887. TESTS PROFILING SECTION
  888. =========================
  889. -->
  890. <target depends="profile-init,compile-test-single" if="netbeans.home" name="profile-test-single">
  891. <nbprofiledirect>
  892. <classpath>
  893. <path path="${run.test.classpath}"/>
  894. </classpath>
  895. </nbprofiledirect>
  896. <junit dir="${profiler.info.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" jvm="${profiler.info.jvm}" showoutput="true">
  897. <env key="${profiler.info.pathvar}" path="${profiler.info.agentpath}:${profiler.current.path}"/>
  898. <jvmarg value="${profiler.info.jvmargs.agent}"/>
  899. <jvmarg line="${profiler.info.jvmargs}"/>
  900. <test name="${profile.class}"/>
  901. <classpath>
  902. <path path="${run.test.classpath}"/>
  903. </classpath>
  904. <syspropertyset>
  905. <propertyref prefix="test-sys-prop."/>
  906. <mapper from="test-sys-prop.*" to="*" type="glob"/>
  907. </syspropertyset>
  908. <formatter type="brief" usefile="false"/>
  909. <formatter type="xml"/>
  910. </junit>
  911. </target>
  912. <!--
  913. ===============
  914. JAVADOC SECTION
  915. ===============
  916. -->
  917. <target depends="init" if="have.sources" name="-javadoc-build">
  918. <mkdir dir="${dist.javadoc.dir}"/>
  919. <javadoc additionalparam="${javadoc.additionalparam}" author="${javadoc.author}" charset="UTF-8" destdir="${dist.javadoc.dir}" docencoding="UTF-8" encoding="${javadoc.encoding.used}" failonerror="true" noindex="${javadoc.noindex}" nonavbar="${javadoc.nonavbar}" notree="${javadoc.notree}" private="${javadoc.private}" source="${javac.source}" splitindex="${javadoc.splitindex}" use="${javadoc.use}" useexternalfile="true" version="${javadoc.version}" windowtitle="${javadoc.windowtitle}">
  920. <classpath>
  921. <path path="${javac.classpath}"/>
  922. </classpath>
  923. <fileset dir="${src.core.dir}" excludes="*.java,${excludes}" includes="${includes}">
  924. <filename name="**/*.java"/>
  925. </fileset>
  926. <fileset dir="${src.core-data.dir}" excludes="*.java,${excludes}" includes="${includes}">
  927. <filename name="**/*.java"/>
  928. </fileset>
  929. <fileset dir="${src.core-plugins.dir}" excludes="*.java,${excludes}" includes="${includes}">
  930. <filename name="**/*.java"/>
  931. </fileset>
  932. <fileset dir="${src.desktop.dir}" excludes="*.java,${excludes}" includes="${includes}">
  933. <filename name="**/*.java"/>
  934. </fileset>
  935. <fileset dir="${src.terrain.dir}" excludes="*.java,${excludes}" includes="${includes}">
  936. <filename name="**/*.java"/>
  937. </fileset>
  938. <fileset dir="${src.jbullet.dir}" excludes="*.java,${excludes}" includes="${includes}">
  939. <filename name="**/*.java"/>
  940. </fileset>
  941. <fileset dir="${src.bullet.dir}" excludes="*.java,${excludes}" includes="${includes}">
  942. <filename name="**/*.java"/>
  943. </fileset>
  944. <fileset dir="${src.bullet-native.dir}" excludes="*.java,${excludes}" includes="${includes}">
  945. <filename name="**/*.java"/>
  946. </fileset>
  947. <fileset dir="${src.bullet-common.dir}" excludes="*.java,${excludes}" includes="${includes}">
  948. <filename name="**/*.java"/>
  949. </fileset>
  950. <fileset dir="${src.networking.dir}" excludes="*.java,${excludes}" includes="${includes}">
  951. <filename name="**/*.java"/>
  952. </fileset>
  953. <fileset dir="${src.niftygui.dir}" excludes="*.java,${excludes}" includes="${includes}">
  954. <filename name="**/*.java"/>
  955. </fileset>
  956. <fileset dir="${src.jogg.dir}" excludes="*.java,${excludes}" includes="${includes}">
  957. <filename name="**/*.java"/>
  958. </fileset>
  959. <fileset dir="${src.ogre.dir}" excludes="*.java,${excludes}" includes="${includes}">
  960. <filename name="**/*.java"/>
  961. </fileset>
  962. <fileset dir="${src.blender.dir}" excludes="*.java,${excludes}" includes="${includes}">
  963. <filename name="**/*.java"/>
  964. </fileset>
  965. <fileset dir="${src.xml.dir}" excludes="*.java,${excludes}" includes="${includes}">
  966. <filename name="**/*.java"/>
  967. </fileset>
  968. <fileset dir="${src.tools.dir}" excludes="*.java,${excludes}" includes="${includes}">
  969. <filename name="**/*.java"/>
  970. </fileset>
  971. <fileset dir="${src.test.dir}" excludes="*.java,${excludes}" includes="${includes}">
  972. <filename name="**/*.java"/>
  973. </fileset>
  974. <fileset dir="${src.lwjgl.dir}" excludes="*.java,${excludes}" includes="${includes}">
  975. <filename name="**/*.java"/>
  976. </fileset>
  977. <fileset dir="${src.android.dir}" excludes="*.java,${excludes}" includes="${includes}">
  978. <filename name="**/*.java"/>
  979. </fileset>
  980. <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
  981. <include name="**/*.java"/>
  982. <exclude name="*.java"/>
  983. </fileset>
  984. </javadoc>
  985. <copy todir="${dist.javadoc.dir}">
  986. <fileset dir="${src.core.dir}" excludes="${excludes}" includes="${includes}">
  987. <filename name="**/doc-files/**"/>
  988. </fileset>
  989. <fileset dir="${src.core-data.dir}" excludes="${excludes}" includes="${includes}">
  990. <filename name="**/doc-files/**"/>
  991. </fileset>
  992. <fileset dir="${src.core-plugins.dir}" excludes="${excludes}" includes="${includes}">
  993. <filename name="**/doc-files/**"/>
  994. </fileset>
  995. <fileset dir="${src.desktop.dir}" excludes="${excludes}" includes="${includes}">
  996. <filename name="**/doc-files/**"/>
  997. </fileset>
  998. <fileset dir="${src.terrain.dir}" excludes="${excludes}" includes="${includes}">
  999. <filename name="**/doc-files/**"/>
  1000. </fileset>
  1001. <fileset dir="${src.jbullet.dir}" excludes="${excludes}" includes="${includes}">
  1002. <filename name="**/doc-files/**"/>
  1003. </fileset>
  1004. <fileset dir="${src.bullet.dir}" excludes="${excludes}" includes="${includes}">
  1005. <filename name="**/doc-files/**"/>
  1006. </fileset>
  1007. <fileset dir="${src.bullet-native.dir}" excludes="${excludes}" includes="${includes}">
  1008. <filename name="**/doc-files/**"/>
  1009. </fileset>
  1010. <fileset dir="${src.bullet-common.dir}" excludes="${excludes}" includes="${includes}">
  1011. <filename name="**/doc-files/**"/>
  1012. </fileset>
  1013. <fileset dir="${src.networking.dir}" excludes="${excludes}" includes="${includes}">
  1014. <filename name="**/doc-files/**"/>
  1015. </fileset>
  1016. <fileset dir="${src.niftygui.dir}" excludes="${excludes}" includes="${includes}">
  1017. <filename name="**/doc-files/**"/>
  1018. </fileset>
  1019. <fileset dir="${src.jogg.dir}" excludes="${excludes}" includes="${includes}">
  1020. <filename name="**/doc-files/**"/>
  1021. </fileset>
  1022. <fileset dir="${src.ogre.dir}" excludes="${excludes}" includes="${includes}">
  1023. <filename name="**/doc-files/**"/>
  1024. </fileset>
  1025. <fileset dir="${src.blender.dir}" excludes="${excludes}" includes="${includes}">
  1026. <filename name="**/doc-files/**"/>
  1027. </fileset>
  1028. <fileset dir="${src.xml.dir}" excludes="${excludes}" includes="${includes}">
  1029. <filename name="**/doc-files/**"/>
  1030. </fileset>
  1031. <fileset dir="${src.tools.dir}" excludes="${excludes}" includes="${includes}">
  1032. <filename name="**/doc-files/**"/>
  1033. </fileset>
  1034. <fileset dir="${src.test.dir}" excludes="${excludes}" includes="${includes}">
  1035. <filename name="**/doc-files/**"/>
  1036. </fileset>
  1037. <fileset dir="${src.lwjgl.dir}" excludes="${excludes}" includes="${includes}">
  1038. <filename name="**/doc-files/**"/>
  1039. </fileset>
  1040. <fileset dir="${src.android.dir}" excludes="${excludes}" includes="${includes}">
  1041. <filename name="**/doc-files/**"/>
  1042. </fileset>
  1043. <fileset dir="${build.generated.sources.dir}" erroronmissingdir="false">
  1044. <include name="**/doc-files/**"/>
  1045. </fileset>
  1046. </copy>
  1047. </target>
  1048. <target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview">
  1049. <nbbrowse file="${dist.javadoc.dir}/index.html"/>
  1050. </target>
  1051. <target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/>
  1052. <!--
  1053. =========================
  1054. JUNIT COMPILATION SECTION
  1055. =========================
  1056. -->
  1057. <target depends="init,compile" if="have.tests" name="-pre-pre-compile-test">
  1058. <mkdir dir="${build.test.classes.dir}"/>
  1059. </target>
  1060. <target name="-pre-compile-test">
  1061. <!-- Empty placeholder for easier customization. -->
  1062. <!-- You can override this target in the ../build.xml file. -->
  1063. </target>
  1064. <target if="do.depend.true" name="-compile-test-depend">
  1065. <j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir="${test.test.dir}"/>
  1066. </target>
  1067. <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test">
  1068. <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" processorpath="${javac.test.processorpath}" srcdir="${test.test.dir}"/>
  1069. <copy todir="${build.test.classes.dir}">
  1070. <fileset dir="${test.test.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
  1071. </copy>
  1072. </target>
  1073. <target name="-post-compile-test">
  1074. <!-- Empty placeholder for easier customization. -->
  1075. <!-- You can override this target in the ../build.xml file. -->
  1076. </target>
  1077. <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/>
  1078. <target name="-pre-compile-test-single">
  1079. <!-- Empty placeholder for easier customization. -->
  1080. <!-- You can override this target in the ../build.xml file. -->
  1081. </target>
  1082. <target depends="init,deps-jar,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single">
  1083. <fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail>
  1084. <j2seproject3:force-recompile destdir="${build.test.classes.dir}"/>
  1085. <j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" excludes="" includes="${javac.includes}" processorpath="${javac.test.processorpath}" sourcepath="${test.test.dir}" srcdir="${test.test.dir}"/>
  1086. <copy todir="${build.test.classes.dir}">
  1087. <fileset dir="${test.test.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/>
  1088. </copy>
  1089. </target>
  1090. <target name="-post-compile-test-single">
  1091. <!-- Empty placeholder for easier customization. -->
  1092. <!-- You can override this target in the ../build.xml file. -->
  1093. </target>
  1094. <target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/>
  1095. <!--
  1096. =======================
  1097. JUNIT EXECUTION SECTION
  1098. =======================
  1099. -->
  1100. <target depends="init" if="have.tests" name="-pre-test-run">
  1101. <mkdir dir="${build.test.results.dir}"/>
  1102. </target>
  1103. <target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run">
  1104. <j2seproject3:junit testincludes="**/*Test.java"/>
  1105. </target>
  1106. <target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run">
  1107. <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
  1108. </target>
  1109. <target depends="init" if="have.tests" name="test-report"/>
  1110. <target depends="init" if="netbeans.home+have.tests" name="-test-browse"/>
  1111. <target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/>
  1112. <target depends="init" if="have.tests" name="-pre-test-run-single">
  1113. <mkdir dir="${build.test.results.dir}"/>
  1114. </target>
  1115. <target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single">
  1116. <fail unless="test.includes">Must select some files in the IDE or set test.includes</fail>
  1117. <j2seproject3:junit excludes="" includes="${test.includes}"/>
  1118. </target>
  1119. <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single">
  1120. <fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail>
  1121. </target>
  1122. <target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single,-post-test-run-single" description="Run single unit test." name="test-single"/>
  1123. <!--
  1124. =======================
  1125. JUNIT DEBUGGING SECTION
  1126. =======================
  1127. -->
  1128. <target depends="init,compile-test" if="have.tests" name="-debug-start-debuggee-test">
  1129. <fail unless="test.class">Must select one file in the IDE or set test.class</fail>
  1130. <property location="${build.test.results.dir}/TEST-${test.class}.xml" name="test.report.file"/>
  1131. <delete file="${test.report.file}"/>
  1132. <mkdir dir="${build.test.results.dir}"/>
  1133. <j2seproject3:debug classname="org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner" classpath="${ant.home}/lib/ant.jar:${ant.home}/lib/ant-junit.jar:${debug.test.classpath}">
  1134. <customize>
  1135. <syspropertyset>
  1136. <propertyref prefix="test-sys-prop."/>
  1137. <mapper from="test-sys-prop.*" to="*" type="glob"/>
  1138. </syspropertyset>
  1139. <arg value="${test.class}"/>
  1140. <arg value="showoutput=true"/>
  1141. <arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.BriefJUnitResultFormatter"/>
  1142. <arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,${test.report.file}"/>
  1143. </customize>
  1144. </j2seproject3:debug>
  1145. </target>
  1146. <target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test">
  1147. <j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/>
  1148. </target>
  1149. <target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/>
  1150. <target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test">
  1151. <j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/>
  1152. </target>
  1153. <target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/>
  1154. <!--
  1155. =========================
  1156. APPLET EXECUTION SECTION
  1157. =========================
  1158. -->
  1159. <target depends="init,compile-single" name="run-applet">
  1160. <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
  1161. <j2seproject1:java classname="sun.applet.AppletViewer">
  1162. <customize>
  1163. <arg value="${applet.url}"/>
  1164. </customize>
  1165. </j2seproject1:java>
  1166. </target>
  1167. <!--
  1168. =========================
  1169. APPLET DEBUGGING SECTION
  1170. =========================
  1171. -->
  1172. <target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-applet">
  1173. <fail unless="applet.url">Must select one file in the IDE or set applet.url</fail>
  1174. <j2seproject3:debug classname="sun.applet.AppletViewer">
  1175. <customize>
  1176. <arg value="${applet.url}"/>
  1177. </customize>
  1178. </j2seproject3:debug>
  1179. </target>
  1180. <target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet" if="netbeans.home" name="debug-applet"/>
  1181. <!--
  1182. ===============
  1183. CLEANUP SECTION
  1184. ===============
  1185. -->
  1186. <target name="-deps-clean-init" unless="built-clean.properties">
  1187. <property location="${build.dir}/built-clean.properties" name="built-clean.properties"/>
  1188. <delete file="${built-clean.properties}" quiet="true"/>
  1189. </target>
  1190. <target if="already.built.clean.${basedir}" name="-warn-already-built-clean">
  1191. <echo level="warn" message="Cycle detected: jMonkeyEngine3 was already built"/>
  1192. </target>
  1193. <target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps">
  1194. <mkdir dir="${build.dir}"/>
  1195. <touch file="${built-clean.properties}" verbose="false"/>
  1196. <property file="${built-clean.properties}" prefix="already.built.clean."/>
  1197. <antcall target="-warn-already-built-clean"/>
  1198. <propertyfile file="${built-clean.properties}">
  1199. <entry key="${basedir}" value=""/>
  1200. </propertyfile>
  1201. </target>
  1202. <target depends="init" name="-do-clean">
  1203. <delete dir="${build.dir}"/>
  1204. <delete dir="${dist.dir}" followsymlinks="false" includeemptydirs="true"/>
  1205. </target>
  1206. <target name="-post-clean">
  1207. <!-- Empty placeholder for easier customization. -->
  1208. <!-- You can override this target in the ../build.xml file. -->
  1209. </target>
  1210. <target depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products." name="clean"/>
  1211. <target name="-check-call-dep">
  1212. <property file="${call.built.properties}" prefix="already.built."/>
  1213. <condition property="should.call.dep">
  1214. <not>
  1215. <isset property="already.built.${call.subproject}"/>
  1216. </not>
  1217. </condition>
  1218. </target>
  1219. <target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep">
  1220. <ant antfile="${call.script}" inheritall="false" target="${call.target}">
  1221. <propertyset>
  1222. <propertyref prefix="transfer."/>
  1223. <mapper from="transfer.*" to="*" type="glob"/>
  1224. </propertyset>
  1225. </ant>
  1226. </target>
  1227. </project>