build.gradle 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551
  1. //ant.importBuild 'build.xml'
  2. import groovy.xml.MarkupBuilder
  3. import java.util.zip.ZipFile
  4. if (!hasProperty('mainClass')) {
  5. ext.mainClass = ''
  6. }
  7. configurations {
  8. corelibs
  9. optlibs
  10. testdatalibs
  11. examplelibs
  12. }
  13. dependencies {
  14. corelibs project(':jme3-blender')
  15. corelibs project(':jme3-core')
  16. corelibs project(':jme3-desktop')
  17. corelibs project(':jme3-effects')
  18. corelibs project(':jme3-jbullet')
  19. corelibs project(':jme3-jogg')
  20. corelibs project(':jme3-lwjgl')
  21. corelibs project(':jme3-networking')
  22. corelibs project(':jme3-niftygui')
  23. corelibs project(':jme3-plugins')
  24. corelibs project(':jme3-terrain')
  25. testdatalibs project(':jme3-testdata')
  26. examplelibs project(':jme3-examples')
  27. optlibs project(':jme3-bullet')
  28. optlibs project(':jme3-jogl')
  29. }
  30. artifacts {
  31. // jar null
  32. }
  33. task checkPlatformConfig {
  34. description = "Downloads the NetBeans platform base and registers it in the SDK project if needed"
  35. def platformFile = file("nbproject/private/platform-private.properties")
  36. if(!platformFile.exists()){
  37. def netbeansFolder = file("../netbeans")
  38. if(!netbeansFolder.exists()){
  39. println "Downloading NetBeans Platform base, this only has to be done once.."
  40. def f = file("netbeans.zip")
  41. new URL("http://download.netbeans.org/netbeans/8.0/final/zip/netbeans-8.0-201403101706-javase.zip").withInputStream{ i -> f.withOutputStream{ it << i }}
  42. copy{
  43. from zipTree(f)
  44. into "../"
  45. }
  46. f.delete()
  47. }
  48. file("nbproject/private/").mkdirs()
  49. platformFile.createNewFile()
  50. platformFile.write("nbplatform.default.netbeans.dest.dir=${netbeansFolder.absolutePath}\r\n"+\
  51. "nbplatform.default.harness.dir=${netbeansFolder.absolutePath}/harness\r\n")
  52. }
  53. }
  54. task copyBaseLibs(dependsOn:configurations.corelibs) <<{
  55. description "Copies the library files needed to run the SDK to "+
  56. "jme3-core-baselibs and jme3-core-libraries"
  57. // for each dependency in corelibs..
  58. project.configurations.corelibs.dependencies.each {dep ->
  59. // copy built jme3 jar files to jme3-core-baselibs
  60. dep.dependencyProject.configurations.archives.allArtifacts.each{ artifact->
  61. if(artifact.classifier == "sources"){
  62. } else if(artifact.classifier == "javadoc"){
  63. } else{
  64. copy {
  65. from artifact.file
  66. into "jme3-core-baselibs/release/modules/ext/"
  67. }
  68. }
  69. }
  70. // copy external jar files to jme3-core-libraries
  71. copy {
  72. from dep.dependencyProject.configurations.compile.copyRecursive({ !(it instanceof ProjectDependency); }).resolve()
  73. into "jme3-core-libraries/release/modules/ext/"
  74. }
  75. }
  76. }
  77. copyBaseLibs.inputs.files configurations.corelibs.resolve()
  78. copyBaseLibs.outputs.dir "jme3-core-baselibs/release/modules/ext/"
  79. copyBaseLibs.outputs.dir "jme3-core-libraries/release/modules/ext/"
  80. task createBaseXml(dependsOn: configurations.corelibs) <<{
  81. description "Creates the project.xml files for "+
  82. "jme3-core-baselibs and jme3-core-libraries"
  83. def depJars = [] // jme3 jar files
  84. def depExtJars = [] // external jar files
  85. // collect jar files
  86. project.configurations.corelibs.dependencies.each {dep ->
  87. // collect external jar files
  88. dep.dependencyProject.configurations.compile.copyRecursive({ !(it instanceof ProjectDependency); }).resolve().each{ file->
  89. depExtJars.add(file)
  90. }
  91. // collect internal jar files (classes, sources and javadoc)
  92. dep.dependencyProject.configurations.archives.allArtifacts.each{ artifact->
  93. if(artifact.classifier == "sources"){
  94. } else if(artifact.classifier == "javadoc"){
  95. } else{
  96. if(!depJars.contains(artifact.file)){
  97. depJars.add(artifact.file)
  98. }
  99. }
  100. }
  101. }
  102. // collect base packages
  103. def packages = []
  104. depJars.each{jarFile ->
  105. ZipFile file = new ZipFile(jarFile)
  106. file.entries().each { entry ->
  107. if(entry.name.endsWith('.class')){
  108. // TODO: "/" works on windows?
  109. def pathPart = entry.name.substring(0,entry.name.lastIndexOf('/'))
  110. def classPath = pathPart.replace('/','.');
  111. if(!packages.contains(classPath)){
  112. packages.add(classPath)
  113. }
  114. }
  115. }
  116. }
  117. // collect library packages
  118. def extPackages = []
  119. depExtJars.each{jarFile ->
  120. ZipFile file = new ZipFile(jarFile)
  121. file.entries().each { entry ->
  122. if(entry.name.endsWith('.class')){
  123. // TODO: "/" works on windows?
  124. def pathPart = entry.name.substring(0,entry.name.lastIndexOf('/'))
  125. def classPath = pathPart.replace('/','.');
  126. if(!extPackages.contains(classPath)){
  127. extPackages.add(classPath)
  128. }
  129. }
  130. }
  131. }
  132. def writer = new StringWriter()
  133. def xml = new MarkupBuilder(writer)
  134. xml.mkp.xmlDeclaration(version:'1.0')
  135. xml.project(xmlns:"http://www.netbeans.org/ns/project/1"){
  136. type "org.netbeans.modules.apisupport.project"
  137. configuration {
  138. data(xmlns:"http://www.netbeans.org/ns/nb-module-project/3") {
  139. "code-name-base" "com.jme3.gde.core.baselibs"
  140. "suite-component"{}
  141. "module-dependencies"{
  142. dependency{
  143. "code-name-base" "com.jme3.gde.core.libraries"
  144. "build-prerequisite"{}
  145. "compile-dependency"{}
  146. "run-dependency"{
  147. "release-version" "1"
  148. "specification-version" "3.0.0"
  149. }
  150. }
  151. }
  152. "public-packages"{
  153. packages.each{
  154. "package" it
  155. }
  156. }
  157. depJars.each{jarFile ->
  158. "class-path-extension"{
  159. "runtime-relative-path" "ext/${jarFile.name}"
  160. "binary-origin" "release/modules/ext/${jarFile.name}"
  161. }
  162. }
  163. }
  164. }
  165. }
  166. // write XML file
  167. File baselibsProjectFile = file("jme3-core-baselibs/nbproject/project.xml");
  168. baselibsProjectFile.write(writer.toString())
  169. def extWriter = new StringWriter()
  170. def extXml = new MarkupBuilder(extWriter)
  171. // extXml.mkp.xmlDeclaration(version:'1.0')
  172. extXml.project(xmlns:"http://www.netbeans.org/ns/project/1"){
  173. type "org.netbeans.modules.apisupport.project"
  174. configuration {
  175. data(xmlns:"http://www.netbeans.org/ns/nb-module-project/3") {
  176. "code-name-base" "com.jme3.gde.core.libraries"
  177. "suite-component"{}
  178. "module-dependencies"{}
  179. "public-packages"{
  180. extPackages.each{
  181. "package" it
  182. }
  183. }
  184. depExtJars.each{jarFile ->
  185. "class-path-extension"{
  186. "runtime-relative-path" "ext/${jarFile.name}"
  187. "binary-origin" "release/modules/ext/${jarFile.name}"
  188. }
  189. }
  190. }
  191. }
  192. }
  193. // write XML file
  194. File librariesProjectFile = file("jme3-core-libraries/nbproject/project.xml");
  195. librariesProjectFile.write(extWriter.toString())
  196. }
  197. createBaseXml.inputs.files configurations.corelibs.resolve()
  198. createBaseXml.outputs.file "jme3-core-baselibs/nbproject/project.xml"
  199. createBaseXml.outputs.file "jme3-core-libraries/nbproject/project.xml"
  200. // workaround method to add a tag with the name "name" and "file" to an XML MarkupBuilder
  201. def makeName(builder, nameR) { builder.name nameR }
  202. def makeFile(builder, nameR) { builder.file(name:nameR, url:nameR) }
  203. task createProjectXml(dependsOn: configurations.corelibs) <<{
  204. description "Creates needed J2SE library and layer XML files in jme3-project-baselibs"
  205. def eol = System.properties.'line.separator'
  206. def j2seLibraries = [] // created J2SE library descriptors
  207. // for each dependency in corelibs..
  208. project.configurations.corelibs.dependencies.each {dep ->
  209. def depJars = [] // jme3 jar files
  210. def depSources = [] // jme3 sources
  211. def depJavadocs = [] // jme3 javadoc
  212. def depExtJars = [] // external jar files
  213. j2seLibraries.add(dep.dependencyProject.name+".xml")
  214. // collect external jar files
  215. dep.dependencyProject.configurations.compile.copyRecursive({ !(it instanceof ProjectDependency); }).resolve().each{ file->
  216. depExtJars.add(file.name)
  217. }
  218. // collect internal jar files (classes, sources and javadoc)
  219. dep.dependencyProject.configurations.archives.allArtifacts.each{ artifact->
  220. if(artifact.classifier == "sources"){
  221. depSources.add(artifact.file.name)
  222. } else if(artifact.classifier == "javadoc"){
  223. depJavadocs.add(artifact.file.name)
  224. } else{
  225. if(!depJars.contains(artifact.file.name)){
  226. depJars.add(artifact.file.name)
  227. }
  228. }
  229. }
  230. // create J2SE library descriptor xml file
  231. def libraryWriter = new StringWriter()
  232. def libraryXml = new MarkupBuilder(libraryWriter)
  233. // xml.mkp.xmlDeclaration(version:'1.0')
  234. libraryWriter << '<?xml version="1.0" encoding="UTF-8"?>' << eol
  235. libraryWriter << '<!DOCTYPE library PUBLIC "-//NetBeans//DTD Library Declaration 1.0//EN" "http://www.netbeans.org/dtds/library-declaration-1_0.dtd">' << eol
  236. libraryXml.library(version:"1.0", encoding: "UTF-8"){
  237. makeName(libraryXml, "${dep.dependencyProject.name}")
  238. type "j2se"
  239. "localizing-bundle" "com.jme3.gde.project.baselibs.Bundle"
  240. volume{
  241. type "classpath"
  242. depJars.each{jar ->
  243. resource "jar:nbinst://com.jme3.gde.project.baselibs/libs/${jar}!/"
  244. }
  245. depExtJars.each{jar ->
  246. resource "jar:nbinst://com.jme3.gde.project.libraries/libs/${jar}!/"
  247. }
  248. }
  249. volume{
  250. type "src"
  251. depSources.each{jar ->
  252. resource "jar:nbinst://com.jme3.gde.project.baselibs/libs/${jar}!/"
  253. }
  254. }
  255. volume{
  256. type "javadoc"
  257. depJavadocs.each{jar ->
  258. resource "jar:nbinst://com.jme3.gde.project.baselibs/libs/${jar}!/"
  259. }
  260. }
  261. }
  262. // write XML file
  263. File libraryXmlFile = file("jme3-project-baselibs/src/com/jme3/gde/project/baselibs/${dep.dependencyProject.name}.xml");
  264. libraryXmlFile.write(libraryWriter.toString())
  265. }
  266. // create layer.xml file with entries of library xml files
  267. def layerWriter = new StringWriter()
  268. def layerXml = new MarkupBuilder(layerWriter)
  269. // layerXml.mkp.xmlDeclaration(version:'1.0')
  270. layerWriter << '<?xml version="1.0" encoding="UTF-8"?>' << eol
  271. layerWriter << '<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.1//EN" "http://www.netbeans.org/dtds/filesystem-1_1.dtd">' << eol
  272. layerXml.filesystem{
  273. folder(name:"org-netbeans-api-project-libraries"){
  274. folder(name:"Libraries"){
  275. j2seLibraries.each{lib ->
  276. makeFile(layerXml, lib)
  277. }
  278. }
  279. }
  280. }
  281. File layerXmlFile = file("jme3-project-baselibs/src/com/jme3/gde/project/baselibs/layer.xml");
  282. layerXmlFile.write(layerWriter.toString())
  283. }
  284. createProjectXml.inputs.files configurations.corelibs.resolve()
  285. createProjectXml.inputs.files configurations.optlibs.resolve()
  286. createProjectXml.outputs.dir "jme3-project-baselibs/src/com/jme3/gde/project/baselibs/"
  287. task copyProjectLibs(dependsOn: [configurations.corelibs, configurations.testdatalibs]) <<{
  288. description "Copies the jar files needed to supply the J2SE Libraries in the "+
  289. "SDK to jme3-project-baselibs and jme3-project-libraries"
  290. // for each dependency in corelibs..
  291. project.configurations.corelibs.dependencies.each {dep ->
  292. // copy jme3 jar files, sources and javadocs to jme3-project-baselibs
  293. dep.dependencyProject.configurations.archives.allArtifacts.each{ artifact->
  294. if(artifact.classifier == "sources"){
  295. copy {
  296. from artifact.file
  297. into "jme3-project-baselibs/release/libs/"
  298. }
  299. } else if(artifact.classifier == "javadoc"){
  300. copy {
  301. from artifact.file
  302. into "jme3-project-baselibs/release/libs/"
  303. }
  304. } else{
  305. copy {
  306. from artifact.file
  307. into "jme3-project-baselibs/release/libs/"
  308. }
  309. }
  310. }
  311. // copy external jar files to jme3-project-libraries
  312. copy {
  313. from dep.dependencyProject.configurations.compile.copyRecursive({ !(it instanceof ProjectDependency); }).resolve()
  314. into "jme3-project-libraries/release/libs/"
  315. }
  316. }
  317. project.configurations.testdatalibs.dependencies.each {dep ->
  318. // copy jme3 test data to jme3-project-testdata
  319. dep.dependencyProject.configurations.archives.allArtifacts.each{ artifact->
  320. if(artifact.classifier == "sources"){
  321. } else if(artifact.classifier == "javadoc"){
  322. } else{
  323. copy {
  324. from artifact.file
  325. into "jme3-project-testdata/release/libs/"
  326. rename ("jme3-testdata(.*)", "jme3-testdata.jar")
  327. }
  328. }
  329. }
  330. }
  331. }
  332. copyProjectLibs.inputs.files configurations.corelibs.resolve()
  333. copyProjectLibs.inputs.files configurations.optlibs.resolve()
  334. copyProjectLibs.inputs.files configurations.testdatalibs.resolve()
  335. copyProjectLibs.outputs.dir "jme3-project-baselibs/release/libs/"
  336. copyProjectLibs.outputs.dir "jme3-project-libraries/release/libs/"
  337. copyProjectLibs.outputs.dir "jme3-project-testdata/release/libs/"
  338. task copyTestSources <<{
  339. project.configurations.examplelibs.dependencies.each{dep ->
  340. copy{
  341. from dep.dependencyProject.sourceSets*.allSource
  342. into "JME3TestsTemplate/src/"
  343. }
  344. copy{
  345. from dep.dependencyProject.sourceSets*.allSource
  346. into "JME3TestsTemplateAndroid/src/"
  347. }
  348. }
  349. }
  350. copyTestSources.inputs.files project.configurations.examplelibs
  351. copyTestSources.outputs.dir "JME3TestsTemplate/src/"
  352. copyTestSources.outputs.dir "JME3TestsTemplateAndroid/src/"
  353. ant.properties['plugins.version'] = jmeVersion
  354. ant.properties['app.version']= jmeMainVersion + jmeVersionSuffix
  355. task buildSdk(dependsOn: [copyBaseLibs, copyProjectLibs, createProjectXml, createBaseXml, copyTestSources]) <<{
  356. ant.propertyfile(file: "nbproject/project.properties") {
  357. entry( key: "plugins.version", value: "${jmeVersion}")
  358. entry( key: "app.version", value: "${jmeMainVersion + jmeVersionSuffix}")
  359. }
  360. ant.ant(dir: ".", antfile: "build.xml", target: "build")
  361. }
  362. buildSdk.inputs.files configurations.corelibs.resolve()
  363. buildSdk.inputs.files configurations.optlibs.resolve()
  364. file('.').eachDir{
  365. if(it.name.startsWith("jme3-") && it.isDirectory()){
  366. buildSdk.inputs.dir it
  367. }
  368. }
  369. buildSdk.outputs.dir "build"
  370. task cleanSdk() <<{
  371. ant.ant(dir: ".", antfile: "build.xml", target: "clean")
  372. }
  373. jar.dependsOn(buildSdk)
  374. clean.dependsOn(cleanSdk);
  375. //configurations {
  376. // antlibs
  377. //}
  378. //dependencies {
  379. // antlibs filetree(dir: 'ant-lib', include: '*.jar')
  380. //}
  381. //
  382. //ant.taskdef(resource: 'net/sf/antcontrib/antcontrib.properties', classpath: configurations.antlibs.asPath)
  383. //ant.taskdef(name: 'deb', classname: 'com.googlecode.ant_deb_task.Deb', classpath: configurations.antlibs.asPath)
  384. //ant.taskdef(name: 'gcupload', classname: 'net.bluecow.googlecode.ant.GoogleCodeUploadTask', classpath: configurations.antlibs.asPath)
  385. //ant.taskdef(name: 'desktopentry', classname: 'com.googlecode.ant_deb_task.DesktopEntry', classpath: configurations.antlibs.asPath)
  386. //ant.importBuild 'build.xml'
  387. //ant.properties.buildDir = buildDir
  388. //ant.properties['buildDir'] = buildDir
  389. //ant.property(name: 'buildDir', location: buildDir)
  390. //ant.taskdef(resource: 'checkstyletask.properties') {
  391. // classpath {
  392. // fileset(dir: 'ant-lib', includes: '*.jar')
  393. // }
  394. //}
  395. //ant.checkstyle(config: 'checkstyle.xml') {
  396. // fileset(dir: 'src')
  397. //}
  398. //
  399. // <target name="-do-update-sdk">
  400. // <fileset id="jme3-jars" dir="build">
  401. // <include name="**/jME3**.jar"/>
  402. // <exclude name="**/jME3-testdata.jar"/>
  403. // <exclude name="**/jME3-bullet-natives.jar"/>
  404. // <exclude name="**/jME3-bullet-natives-android.jar"/>
  405. // <exclude name="**/jME3-openal-soft-natives-android.jar"/>
  406. // </fileset>
  407. // <fileset id="jme3-sdk-jars" dir="build">
  408. // <include name="**/jME3**.jar"/>
  409. // <exclude name="**/jME3-android.jar"/>
  410. // <exclude name="**/jME3-testdata.jar"/>
  411. // <exclude name="**/jME3-bullet.jar"/>
  412. // <exclude name="**/jME3-bullet-natives.jar"/>
  413. // <exclude name="**/jME3-bullet-natives-android.jar"/>
  414. // <exclude name="**/jME3-openal-soft-natives-android.jar"/>
  415. // </fileset>
  416. // <fileset id="jme3-bullet-native-jars" dir="${dist.dir}/opt/native-bullet">
  417. // <include name="**/jME3-bullet-native**.jar"/>
  418. // </fileset>
  419. // <fileset id="jme3-openal-soft-natives-jars" dir="${dist.dir}/opt/native-openal-soft">
  420. // <include name="**/jME3-openal-soft-natives-android.jar"/>
  421. // </fileset>
  422. // <fileset id="jme3-testdata-jars" dir="build">
  423. // <include name="**/jME3-testdata.jar"/>
  424. // </fileset>
  425. // <fileset id="jme3-lwjgl-native-jars" dir="${dist.dir}/lib">
  426. // <include name="**/jME3-lwjgl-natives.jar"/>
  427. // </fileset>
  428. // <fileset id="jme3-external-libraries" dir="${dist.dir}/lib/">
  429. // <exclude name="jME3-**"/>
  430. // <exclude name="**/nifty-examples.jar"/>
  431. // </fileset>
  432. // <echo>Clearing old files</echo>
  433. // <delete dir="${jmp_dir}/JME3TestsTemplate/src/"/>
  434. // <delete dir="${jmp_dir}/jme3-core-baselibs/release/modules/ext/"/>
  435. // <delete dir="${jmp_dir}/jme3-core-libraries/release/modules/ext/"/>
  436. // <delete dir="${jmp_dir}/jme3-project-libraries/release/libs/"/>
  437. // <delete dir="${jmp_dir}/jme3-project-baselibs/release/libs/"/>
  438. // <delete dir="${jmp_dir}/jme3-project-testdata/release/libs/"/>
  439. //
  440. // <echo>Copying jMonkeyPlatform jME3 libs</echo>
  441. // <copy toDir="${jmp_dir}/jme3-core-baselibs/release/modules/ext/" overwrite="true" failonerror="true" verbose="false" flatten="true">
  442. // <fileset refid="jme3-sdk-jars"/>
  443. // <!--natives need to be in jme3 package for jme to work in jMP-->
  444. // <fileset refid="jme3-lwjgl-native-jars"/>
  445. // </copy>
  446. //
  447. // <echo>Copying jMonkeyPlatform external libraries</echo>
  448. // <copy todir="${jmp_dir}/jme3-core-libraries/release/modules/ext/" overwrite="true" failonerror="true" verbose="false" flatten="true">
  449. // <fileset refid="jme3-external-libraries"/>
  450. // </copy>
  451. //
  452. // <echo>Copying Project jME3 libs</echo>
  453. // <copy toDir="${jmp_dir}/jme3-project-baselibs/release/libs/" overwrite="true" failonerror="true" verbose="false" flatten="true">
  454. // <fileset refid="jme3-jars"/>
  455. // <fileset refid="jme3-openal-soft-natives-jars"/>
  456. // </copy>
  457. //
  458. // <echo>Copying Project external libraries</echo>
  459. // <copy todir="${jmp_dir}/jme3-project-libraries/release/libs/" overwrite="true" failonerror="true" verbose="false" flatten="true">
  460. // <fileset refid="jme3-external-libraries"/>
  461. // <fileset refid="jme3-lwjgl-native-jars"/>
  462. // <fileset refid="jme3-bullet-native-jars"/>
  463. // </copy>
  464. //
  465. // <echo>Copying Test Project Data</echo>
  466. // <copy toDir="${jmp_dir}/jme3-project-testdata/release/libs/" overwrite="true" failonerror="true" verbose="false">
  467. // <fileset refid="jme3-testdata-jars"/>
  468. // </copy>
  469. //
  470. // <echo>Copying Javadoc</echo>
  471. // <zip destfile="${dist.dir}/jMonkeyEngine3-javadoc.zip">
  472. // <zipfileset dir="${dist.dir}/javadoc/"/>
  473. // </zip>
  474. // <copy file="${dist.dir}/jMonkeyEngine3-javadoc.zip" toDir="${jmp_dir}/jme3-project-baselibs/release/libs/" overwrite="true" failonerror="true" verbose="false"/>
  475. //
  476. // <zip destfile="${dist.dir}/jMonkeyEngine3-sources.zip">
  477. // <zipfileset dir="${src.core.dir}"/>
  478. // <zipfileset dir="${src.core-data.dir}"/>
  479. // <zipfileset dir="${src.core-effects.dir}"/>
  480. // <zipfileset dir="${src.core-plugins.dir}"/>
  481. // <zipfileset dir="${src.desktop.dir}"/>
  482. // <zipfileset dir="${src.jbullet.dir}"/>
  483. // <zipfileset dir="${src.niftygui.dir}"/>
  484. // <zipfileset dir="${src.jogg.dir}"/>
  485. // <zipfileset dir="${src.lwjgl.dir}"/>
  486. // <zipfileset dir="${src.ogre.dir}"/>
  487. // <zipfileset dir="${src.test.dir}"/>
  488. // <zipfileset dir="${src.tools.dir}"/>
  489. // <zipfileset dir="${src.xml.dir}"/>
  490. // <zipfileset dir="${src.terrain.dir}"/>
  491. // <zipfileset dir="${src.networking.dir}"/>
  492. // </zip>
  493. // <copy file="${dist.dir}/jMonkeyEngine3-sources.zip" toDir="${jmp_dir}/jme3-project-baselibs/release/libs/" overwrite="true" failonerror="true" verbose="false"/>
  494. //
  495. // <copy todir="${jmp_dir}/jme3-project-libraries/release/libs/" overwrite="true" failonerror="true" verbose="false" flatten="true">
  496. // <fileset refid="jme3-external-libraries"/>
  497. // <fileset refid="jme3-lwjgl-native-jars"/>
  498. // <fileset refid="jme3-bullet-native-jars"/>
  499. // <fileset refid="jme3-openal-soft-natives-jars"/>
  500. // <fileset dir="lib/niftygui/">
  501. // <include name="nifty-javadoc.jar"/>
  502. // <include name="nifty-default-controls-javadoc.jar"/>
  503. // </fileset>
  504. // </copy>
  505. //
  506. // <echo>Copying Test Examples</echo>
  507. // <copy todir="${jmp_dir}/JME3TestsTemplate/src/" overwrite="true" failonerror="true" verbose="false">
  508. // <fileset dir="src/test/">
  509. // <exclude name=".svn"/>
  510. // </fileset>
  511. // </copy>
  512. // <copy todir="${jmp_dir}/JME3TestsTemplateAndroid/src/" overwrite="true" failonerror="true" verbose="false">
  513. // <fileset dir="src/test/">
  514. // <exclude name=".svn"/>
  515. // </fileset>
  516. // </copy>
  517. // </target>