build-impl.xml 67 KB

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