@ -1 +0,0 @@ |
||||
X-Comment: Created with jMonkeyPlatform |
@ -1,76 +0,0 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!-- You may freely edit this file. See commented blocks below for --> |
||||
<!-- some examples of how to customize the build. --> |
||||
<!-- (If you delete it and reopen the project it will be recreated.) --> |
||||
<!-- By default, only the Clean and Build commands use this build script. --> |
||||
<!-- Commands such as Run, Debug, and Test only use this build script if --> |
||||
<!-- the Compile on Save feature is turned off for the project. --> |
||||
<!-- You can turn off the Compile on Save (or Deploy on Save) setting --> |
||||
<!-- in the project's Project Properties dialog box.--> |
||||
<project name="BasicGameTemplate" default="default" basedir="."> |
||||
<description>Builds, tests, and runs the project BasicGameTemplate.</description> |
||||
<import file="nbproject/build-impl.xml"/> |
||||
|
||||
<!-- |
||||
|
||||
There exist several targets which are by default empty and which can be |
||||
used for execution of your tasks. These targets are usually executed |
||||
before and after some main targets. They are: |
||||
|
||||
-pre-init: called before initialization of project properties |
||||
-post-init: called after initialization of project properties |
||||
-pre-compile: called before javac compilation |
||||
-post-compile: called after javac compilation |
||||
-pre-compile-single: called before javac compilation of single file |
||||
-post-compile-single: called after javac compilation of single file |
||||
-pre-compile-test: called before javac compilation of JUnit tests |
||||
-post-compile-test: called after javac compilation of JUnit tests |
||||
-pre-compile-test-single: called before javac compilation of single JUnit test |
||||
-post-compile-test-single: called after javac compilation of single JUunit test |
||||
-pre-jar: called before JAR building |
||||
-post-jar: called after JAR building |
||||
-post-clean: called after cleaning build products |
||||
|
||||
(Targets beginning with '-' are not intended to be called on their own.) |
||||
|
||||
Example of inserting an obfuscator after compilation could look like this: |
||||
|
||||
<target name="-post-compile"> |
||||
<obfuscate> |
||||
<fileset dir="${build.classes.dir}"/> |
||||
</obfuscate> |
||||
</target> |
||||
|
||||
For list of available properties check the imported |
||||
nbproject/build-impl.xml file. |
||||
|
||||
|
||||
Another way to customize the build is by overriding existing main targets. |
||||
The targets of interest are: |
||||
|
||||
-init-macrodef-javac: defines macro for javac compilation |
||||
-init-macrodef-junit: defines macro for junit execution |
||||
-init-macrodef-debug: defines macro for class debugging |
||||
-init-macrodef-java: defines macro for class execution |
||||
-do-jar-with-manifest: JAR building (if you are using a manifest) |
||||
-do-jar-without-manifest: JAR building (if you are not using a manifest) |
||||
run: execution of project |
||||
-javadoc-build: Javadoc generation |
||||
test-report: JUnit report generation |
||||
|
||||
An example of overriding the target for project execution could look like this: |
||||
|
||||
<target name="run" depends="BasicGameTemplate-impl.jar"> |
||||
<exec dir="bin" executable="launcher.exe"> |
||||
<arg file="${dist.jar}"/> |
||||
</exec> |
||||
</target> |
||||
|
||||
Notice that the overridden target depends on the jar target and not only on |
||||
the compile target as the regular run target does. Again, for a list of available |
||||
properties which you can use, check the target you are overriding in the |
||||
nbproject/build-impl.xml file. |
||||
|
||||
--> |
||||
|
||||
</project> |
@ -1,22 +0,0 @@ |
||||
<jnlp spec="1.0+" codebase="${jnlp.codebase}" href="launch.jnlp"> |
||||
<information> |
||||
<title>${APPLICATION.TITLE}</title> |
||||
<vendor>${APPLICATION.VENDOR}</vendor> |
||||
<homepage href="${APPLICATION.HOMEPAGE}"/> |
||||
<description>${APPLICATION.DESC}</description> |
||||
<description kind="short">${APPLICATION.DESC.SHORT}</description> |
||||
<!--${JNLP.ICONS}--> |
||||
<!--${JNLP.OFFLINE.ALLOWED}--> |
||||
</information> |
||||
<!--${JNLP.SECURITY}--> |
||||
<resources> |
||||
<!--${JNLP.RESOURCES.RUNTIME}--> |
||||
<!--${JNLP.RESOURCES.MAIN.JAR}--> |
||||
<!--${JNLP.RESOURCES.JARS}--> |
||||
<jar href='lib/assets.jar'/> |
||||
<!--${JNLP.RESOURCES.EXTENSIONS}--> |
||||
</resources> |
||||
<application-desc main-class="${jnlp.main.class}"> |
||||
<!--${JNLP.APPLICATION.ARGS}--> |
||||
</application-desc> |
||||
</jnlp> |
@ -1,8 +0,0 @@ |
||||
build.xml.data.CRC32=94bf7c61 |
||||
build.xml.script.CRC32=79a29eb7 |
||||
build.xml.stylesheet.CRC32=958a1d3e@1.32.1.45 |
||||
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. |
||||
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. |
||||
nbproject/build-impl.xml.data.CRC32=1ac6e2f9 |
||||
nbproject/build-impl.xml.script.CRC32=28b1a2c2 |
||||
nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.74.1.48 |
@ -1,92 +0,0 @@ |
||||
annotation.processing.enabled=true |
||||
annotation.processing.enabled.in.editor=false |
||||
annotation.processing.processors.list= |
||||
annotation.processing.run.all.processors=true |
||||
application.title=MyGame |
||||
application.vendor=MyCompany |
||||
assets.jar.name=assets.jar |
||||
assets.excludes=**/*.j3odata,**/*.mesh,**/*.skeleton,**/*.mesh\.xml,**/*.skeleton\.xml,**/*.scene,**/*.material,**/*.obj,**/*.mtl,**/*.3ds,**/*.dae,**/*.blend,**/*.blend*[0-9] |
||||
assets.folder.name=assets |
||||
assets.compress=true |
||||
build.classes.dir=${build.dir}/classes |
||||
build.classes.excludes=**/*.java,**/*.form |
||||
# This directory is removed when the project is cleaned: |
||||
build.dir=build |
||||
build.generated.dir=${build.dir}/generated |
||||
build.generated.sources.dir=${build.dir}/generated-sources |
||||
# Only compile against the classpath explicitly listed here: |
||||
build.sysclasspath=ignore |
||||
build.test.classes.dir=${build.dir}/test/classes |
||||
build.test.results.dir=${build.dir}/test/results |
||||
compile.on.save=true |
||||
# Uncomment to specify the preferred debugger connection transport: |
||||
#debug.transport=dt_socket |
||||
debug.classpath=\ |
||||
${run.classpath} |
||||
debug.test.classpath=\ |
||||
${run.test.classpath} |
||||
# This directory is removed when the project is cleaned: |
||||
dist.dir=dist |
||||
dist.jar=${dist.dir}/${application.title}.jar |
||||
dist.javadoc.dir=${dist.dir}/javadoc |
||||
endorsed.classpath= |
||||
excludes= |
||||
includes=** |
||||
jar.compress=false |
||||
javac.classpath=\ |
||||
${libs.jme3-jogg.classpath}:\ |
||||
${libs.jme3-blender.classpath}:\ |
||||
${libs.jme3-networking.classpath}:\ |
||||
${libs.jme3-plugins.classpath}:\ |
||||
${libs.jme3-core.classpath}:\ |
||||
${libs.jme3-desktop.classpath}:\ |
||||
${libs.jme3-lwjgl.classpath}:\ |
||||
${libs.jme3-niftygui.classpath}:\ |
||||
${libs.jme3-effects.classpath}:\ |
||||
${libs.jme3-terrain.classpath}:\ |
||||
${libs.jme3-jbullet.classpath} |
||||
# Space-separated list of extra javac options |
||||
javac.compilerargs= |
||||
javac.deprecation=false |
||||
javac.processorpath=\ |
||||
${javac.classpath} |
||||
javac.source=1.6 |
||||
javac.target=1.6 |
||||
javac.test.classpath=\ |
||||
${javac.classpath}:\ |
||||
${build.classes.dir} |
||||
javadoc.additionalparam= |
||||
javadoc.author=false |
||||
javadoc.encoding=${source.encoding} |
||||
javadoc.noindex=false |
||||
javadoc.nonavbar=false |
||||
javadoc.notree=false |
||||
javadoc.private=false |
||||
javadoc.splitindex=true |
||||
javadoc.use=true |
||||
javadoc.version=false |
||||
javadoc.windowtitle= |
||||
jaxbwiz.endorsed.dirs="${netbeans.home}/../ide12/modules/ext/jaxb/api" |
||||
jnlp.codebase.type=local |
||||
jnlp.descriptor=application |
||||
jnlp.enabled=false |
||||
jnlp.offline-allowed=false |
||||
jnlp.signed=false |
||||
main.class=mygame.Main |
||||
meta.inf.dir=${src.dir}/META-INF |
||||
manifest.file=MANIFEST.MF |
||||
mkdist.disabled=false |
||||
platform.active=default_platform |
||||
run.classpath=\ |
||||
${javac.classpath}:\ |
||||
${build.classes.dir}:\ |
||||
${assets.folder.name} |
||||
# Space-separated list of JVM arguments used when running the project |
||||
# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value |
||||
# or test-sys-prop.name=value to set system properties for unit tests): |
||||
run.jvmargs= |
||||
run.test.classpath=\ |
||||
${javac.test.classpath}:\ |
||||
${build.test.classes.dir} |
||||
source.encoding=UTF-8 |
||||
src.dir=src |
@ -1,18 +0,0 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project xmlns="http://www.netbeans.org/ns/project/1"> |
||||
<type>org.netbeans.modules.java.j2seproject</type> |
||||
<configuration> |
||||
<buildExtensions xmlns="http://www.netbeans.org/ns/ant-build-extender/1"> |
||||
<extension file="assets-impl.xml" id="assets"> |
||||
<dependency dependsOn="-init-assets" target="-do-init"/> |
||||
</extension> |
||||
</buildExtensions> |
||||
<data xmlns="http://www.netbeans.org/ns/j2se-project/3"> |
||||
<name>BasicGameTemplate</name> |
||||
<source-roots> |
||||
<root id="src.dir"/> |
||||
</source-roots> |
||||
<test-roots/> |
||||
</data> |
||||
</configuration> |
||||
</project> |
@ -1,43 +0,0 @@ |
||||
package mygame; |
||||
|
||||
import com.jme3.app.SimpleApplication; |
||||
import com.jme3.material.Material; |
||||
import com.jme3.math.ColorRGBA; |
||||
import com.jme3.math.Vector3f; |
||||
import com.jme3.renderer.RenderManager; |
||||
import com.jme3.scene.Geometry; |
||||
import com.jme3.scene.shape.Box; |
||||
|
||||
/** |
||||
* test |
||||
* @author normenhansen |
||||
*/ |
||||
public class Main extends SimpleApplication { |
||||
|
||||
public static void main(String[] args) { |
||||
Main app = new Main(); |
||||
app.start(); |
||||
} |
||||
|
||||
@Override |
||||
public void simpleInitApp() { |
||||
Box b = new Box(1, 1, 1); |
||||
Geometry geom = new Geometry("Box", b); |
||||
|
||||
Material mat = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md"); |
||||
mat.setColor("Color", ColorRGBA.Blue); |
||||
geom.setMaterial(mat); |
||||
|
||||
rootNode.attachChild(geom); |
||||
} |
||||
|
||||
@Override |
||||
public void simpleUpdate(float tpf) { |
||||
//TODO: add update code
|
||||
} |
||||
|
||||
@Override |
||||
public void simpleRender(RenderManager rm) { |
||||
//TODO: add render code
|
||||
} |
||||
} |
@ -1,73 +0,0 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!-- You may freely edit this file. See commented blocks below for --> |
||||
<!-- some examples of how to customize the build. --> |
||||
<!-- (If you delete it and reopen the project it will be recreated.) --> |
||||
<!-- By default, only the Clean and Build commands use this build script. --> |
||||
<!-- Commands such as Run, Debug, and Test only use this build script if --> |
||||
<!-- the Compile on Save feature is turned off for the project. --> |
||||
<!-- You can turn off the Compile on Save (or Deploy on Save) setting --> |
||||
<!-- in the project's Project Properties dialog box.--> |
||||
<project name="JME3TestsTemplate" default="default" basedir="."> |
||||
<description>Builds, tests, and runs the project JME3TestsTemplate.</description> |
||||
<import file="nbproject/build-impl.xml"/> |
||||
<!-- |
||||
|
||||
There exist several targets which are by default empty and which can be |
||||
used for execution of your tasks. These targets are usually executed |
||||
before and after some main targets. They are: |
||||
|
||||
-pre-init: called before initialization of project properties |
||||
-post-init: called after initialization of project properties |
||||
-pre-compile: called before javac compilation |
||||
-post-compile: called after javac compilation |
||||
-pre-compile-single: called before javac compilation of single file |
||||
-post-compile-single: called after javac compilation of single file |
||||
-pre-compile-test: called before javac compilation of JUnit tests |
||||
-post-compile-test: called after javac compilation of JUnit tests |
||||
-pre-compile-test-single: called before javac compilation of single JUnit test |
||||
-post-compile-test-single: called after javac compilation of single JUunit test |
||||
-pre-jar: called before JAR building |
||||
-post-jar: called after JAR building |
||||
-post-clean: called after cleaning build products |
||||
|
||||
(Targets beginning with '-' are not intended to be called on their own.) |
||||
|
||||
Example of inserting an obfuscator after compilation could look like this: |
||||
|
||||
<target name="-post-compile"> |
||||
<obfuscate> |
||||
<fileset dir="${build.classes.dir}"/> |
||||
</obfuscate> |
||||
</target> |
||||
|
||||
For list of available properties check the imported |
||||
nbproject/build-impl.xml file. |
||||
|
||||
|
||||
Another way to customize the build is by overriding existing main targets. |
||||
The targets of interest are: |
||||
|
||||
-init-macrodef-javac: defines macro for javac compilation |
||||
-init-macrodef-junit: defines macro for junit execution |
||||
-init-macrodef-debug: defines macro for class debugging |
||||
-init-macrodef-java: defines macro for class execution |
||||
-do-jar: JAR building |
||||
run: execution of project |
||||
-javadoc-build: Javadoc generation |
||||
test-report: JUnit report generation |
||||
|
||||
An example of overriding the target for project execution could look like this: |
||||
|
||||
<target name="run" depends="JME3TestsTemplate-impl.jar"> |
||||
<exec dir="bin" executable="launcher.exe"> |
||||
<arg file="${dist.jar}"/> |
||||
</exec> |
||||
</target> |
||||
|
||||
Notice that the overridden target depends on the jar target and not only on |
||||
the compile target as the regular run target does. Again, for a list of available |
||||
properties which you can use, check the target you are overriding in the |
||||
nbproject/build-impl.xml file. |
||||
|
||||
--> |
||||
</project> |
@ -1,880 +0,0 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!-- |
||||
*** GENERATED FROM project.xml - DO NOT EDIT *** |
||||
*** EDIT ../build.xml INSTEAD *** |
||||
|
||||
For the purpose of easier reading the script |
||||
is divided into following sections: |
||||
|
||||
- initialization |
||||
- compilation |
||||
- jar |
||||
- execution |
||||
- debugging |
||||
- javadoc |
||||
- junit compilation |
||||
- junit execution |
||||
- junit debugging |
||||
- applet |
||||
- cleanup |
||||
|
||||
--> |
||||
<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="JME3TestsTemplate-impl"> |
||||
<fail message="Please build using Ant 1.7.1 or higher."> |
||||
<condition> |
||||
<not> |
||||
<antversion atleast="1.7.1"/> |
||||
</not> |
||||
</condition> |
||||
</fail> |
||||
<target depends="test,jar,javadoc" description="Build and test whole project." name="default"/> |
||||
<!-- |
||||
====================== |
||||
INITIALIZATION SECTION |
||||
====================== |
||||
--> |
||||
<target name="-pre-init"> |
||||
<!-- Empty placeholder for easier customization. --> |
||||
<!-- You can override this target in the ../build.xml file. --> |
||||
</target> |
||||
<target depends="-pre-init" name="-init-private"> |
||||
<property file="nbproject/private/config.properties"/> |
||||
<property file="nbproject/private/configs/${config}.properties"/> |
||||
<property file="nbproject/private/private.properties"/> |
||||
</target> |
||||
<target depends="-pre-init,-init-private" name="-init-user"> |
||||
<property file="${user.properties.file}"/> |
||||
<!-- The two properties below are usually overridden --> |
||||
<!-- by the active platform. Just a fallback. --> |
||||
<property name="default.javac.source" value="1.4"/> |
||||
<property name="default.javac.target" value="1.4"/> |
||||
</target> |
||||
<target depends="-pre-init,-init-private,-init-user" name="-init-project"> |
||||
<property file="nbproject/configs/${config}.properties"/> |
||||
<property file="nbproject/project.properties"/> |
||||
</target> |
||||
<target depends="-pre-init,-init-private,-init-user,-init-project,-init-macrodef-property" name="-do-init"> |
||||
<available file="${manifest.file}" property="manifest.available"/> |
||||
<available file="${application.splash}" property="splashscreen.available"/> |
||||
<condition property="main.class.available"> |
||||
<and> |
||||
<isset property="main.class"/> |
||||
<not> |
||||
<equals arg1="${main.class}" arg2="" trim="true"/> |
||||
</not> |
||||
</and> |
||||
</condition> |
||||
<condition property="manifest.available+main.class"> |
||||
<and> |
||||
<isset property="manifest.available"/> |
||||
<isset property="main.class.available"/> |
||||
</and> |
||||
</condition> |
||||
<condition property="do.mkdist"> |
||||
<and> |
||||
<isset property="libs.CopyLibs.classpath"/> |
||||
<not> |
||||
<istrue value="${mkdist.disabled}"/> |
||||
</not> |
||||
</and> |
||||
</condition> |
||||
<condition property="manifest.available+main.class+mkdist.available"> |
||||
<and> |
||||
<istrue value="${manifest.available+main.class}"/> |
||||
<isset property="do.mkdist"/> |
||||
</and> |
||||
</condition> |
||||
<condition property="manifest.available+main.class+mkdist.available+splashscreen.available"> |
||||
<and> |
||||
<istrue value="${manifest.available+main.class+mkdist.available}"/> |
||||
<istrue value="${splashscreen.available}"/> |
||||
</and> |
||||
</condition> |
||||
<condition property="do.archive"> |
||||
<not> |
||||
<istrue value="${jar.archive.disabled}"/> |
||||
</not> |
||||
</condition> |
||||
<condition property="do.archive+manifest.available"> |
||||
<and> |
||||
<isset property="manifest.available"/> |
||||
<istrue value="${do.archive}"/> |
||||
</and> |
||||
</condition> |
||||
<condition property="do.archive+manifest.available+main.class"> |
||||
<and> |
||||
<istrue value="${manifest.available+main.class}"/> |
||||
<istrue value="${do.archive}"/> |
||||
</and> |
||||
</condition> |
||||
<condition property="do.archive+manifest.available+main.class+mkdist.available"> |
||||
<and> |
||||
<istrue value="${manifest.available+main.class+mkdist.available}"/> |
||||
<istrue value="${do.archive}"/> |
||||
</and> |
||||
</condition> |
||||
<condition property="do.archive+manifest.available+main.class+mkdist.available+splashscreen.available"> |
||||
<and> |
||||
<istrue value="${manifest.available+main.class+mkdist.available+splashscreen.available}"/> |
||||
<istrue value="${do.archive}"/> |
||||
</and> |
||||
</condition> |
||||
<condition property="have.tests"> |
||||
<or/> |
||||
</condition> |
||||
<condition property="have.sources"> |
||||
<or> |
||||
<available file="${src.dir}"/> |
||||
</or> |
||||
</condition> |
||||
<condition property="netbeans.home+have.tests"> |
||||
<and> |
||||
<isset property="netbeans.home"/> |
||||
<isset property="have.tests"/> |
||||
</and> |
||||
</condition> |
||||
<condition property="no.javadoc.preview"> |
||||
<and> |
||||
<isset property="javadoc.preview"/> |
||||
<isfalse value="${javadoc.preview}"/> |
||||
</and> |
||||
</condition> |
||||
<property name="run.jvmargs" value=""/> |
||||
<property name="javac.compilerargs" value=""/> |
||||
<property name="work.dir" value="${basedir}"/> |
||||
<condition property="no.deps"> |
||||
<and> |
||||
<istrue value="${no.dependencies}"/> |
||||
</and> |
||||
</condition> |
||||
<property name="javac.debug" value="true"/> |
||||
<property name="javadoc.preview" value="true"/> |
||||
<property name="application.args" value=""/> |
||||
<property name="source.encoding" value="${file.encoding}"/> |
||||
<property name="runtime.encoding" value="${source.encoding}"/> |
||||
<condition property="javadoc.encoding.used" value="${javadoc.encoding}"> |
||||
<and> |
||||
<isset property="javadoc.encoding"/> |
||||
<not> |
||||
<equals arg1="${javadoc.encoding}" arg2=""/> |
||||
</not> |
||||
</and> |
||||
</condition> |
||||
<property name="javadoc.encoding.used" value="${source.encoding}"/> |
||||
<property name="includes" value="**"/> |
||||
<property name="excludes" value=""/> |
||||
<property name="do.depend" value="false"/> |
||||
<condition property="do.depend.true"> |
||||
<istrue value="${do.depend}"/> |
||||
</condition> |
||||
<path id="endorsed.classpath.path" path="${endorsed.classpath}"/> |
||||
<condition else="" property="endorsed.classpath.cmd.line.arg" value="-Xbootclasspath/p:'${toString:endorsed.classpath.path}'"> |
||||
<length length="0" string="${endorsed.classpath}" when="greater"/> |
||||
</condition> |
||||
<property name="javac.fork" value="false"/> |
||||
<property name="jar.index" value="false"/> |
||||
<available file="${meta.inf.dir}/persistence.xml" property="has.persistence.xml"/> |
||||
</target> |
||||
<target name="-post-init"> |
||||
<!-- Empty placeholder for easier customization. --> |
||||
<!-- You can override this target in the ../build.xml file. --> |
||||
</target> |
||||
<target depends="-pre-init,-init-private,-init-user,-init-project,-do-init" name="-init-check"> |
||||
<fail unless="src.dir">Must set src.dir</fail> |
||||
<fail unless="build.dir">Must set build.dir</fail> |
||||
<fail unless="dist.dir">Must set dist.dir</fail> |
||||
<fail unless="build.classes.dir">Must set build.classes.dir</fail> |
||||
<fail unless="dist.javadoc.dir">Must set dist.javadoc.dir</fail> |
||||
<fail unless="build.test.classes.dir">Must set build.test.classes.dir</fail> |
||||
<fail unless="build.test.results.dir">Must set build.test.results.dir</fail> |
||||
<fail unless="build.classes.excludes">Must set build.classes.excludes</fail> |
||||
<fail unless="dist.jar">Must set dist.jar</fail> |
||||
</target> |
||||
<target name="-init-macrodef-property"> |
||||
<macrodef name="property" uri="http://www.netbeans.org/ns/j2se-project/1"> |
||||
<attribute name="name"/> |
||||
<attribute name="value"/> |
||||
<sequential> |
||||
<property name="@{name}" value="${@{value}}"/> |
||||
</sequential> |
||||
</macrodef> |
||||
</target> |
||||
<target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-macrodef-javac-with-processors"> |
||||
<macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3"> |
||||
<attribute default="${src.dir}" name="srcdir"/> |
||||
<attribute default="${build.classes.dir}" name="destdir"/> |
||||
<attribute default="${javac.classpath}" name="classpath"/> |
||||
<attribute default="${javac.processorpath}" name="processorpath"/> |
||||
<attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/> |
||||
<attribute default="${includes}" name="includes"/> |
||||
<attribute default="${excludes}" name="excludes"/> |
||||
<attribute default="${javac.debug}" name="debug"/> |
||||
<attribute default="${empty.dir}" name="sourcepath"/> |
||||
<attribute default="${empty.dir}" name="gensrcdir"/> |
||||
<element name="customize" optional="true"/> |
||||
<sequential> |
||||
<property location="${build.dir}/empty" name="empty.dir"/> |
||||
<mkdir dir="${empty.dir}"/> |
||||
<mkdir dir="@{apgeneratedsrcdir}"/> |
||||
<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}"> |
||||
<src> |
||||
<dirset dir="@{gensrcdir}" erroronmissingdir="false"> |
||||
<include name="*"/> |
||||
</dirset> |
||||
</src> |
||||
<classpath> |
||||
<path path="@{classpath}"/> |
||||
</classpath> |
||||
<compilerarg line="${endorsed.classpath.cmd.line.arg}"/> |
||||
<compilerarg line="${javac.compilerargs}"/> |
||||
<compilerarg value="-processorpath"/> |
||||
<compilerarg path="@{processorpath}:${empty.dir}"/> |
||||
<compilerarg line="${ap.processors.internal}"/> |
||||
<compilerarg line="${annotation.processing.processor.options}"/> |
||||
<compilerarg value="-s"/> |
||||
<compilerarg path="@{apgeneratedsrcdir}"/> |
||||
<compilerarg line="${ap.proc.none.internal}"/> |
||||
<customize/> |
||||
</javac> |
||||
</sequential> |
||||
</macrodef> |
||||
</target> |
||||
<target depends="-init-ap-cmdline-properties" name="-init-macrodef-javac-without-processors" unless="ap.supported.internal"> |
||||
<macrodef name="javac" uri="http://www.netbeans.org/ns/j2se-project/3"> |
||||
<attribute default="${src.dir}" name="srcdir"/> |
||||
<attribute default="${build.classes.dir}" name="destdir"/> |
||||
<attribute default="${javac.classpath}" name="classpath"/> |
||||
<attribute default="${javac.processorpath}" name="processorpath"/> |
||||
<attribute default="${build.generated.sources.dir}/ap-source-output" name="apgeneratedsrcdir"/> |
||||
<attribute default="${includes}" name="includes"/> |
||||
<attribute default="${excludes}" name="excludes"/> |
||||
<attribute default="${javac.debug}" name="debug"/> |
||||
<attribute default="${empty.dir}" name="sourcepath"/> |
||||
<attribute default="${empty.dir}" name="gensrcdir"/> |
||||
<element name="customize" optional="true"/> |
||||
<sequential> |
||||
<property location="${build.dir}/empty" name="empty.dir"/> |
||||
<mkdir dir="${empty.dir}"/> |
||||
<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}"> |
||||
<src> |
||||
<dirset dir="@{gensrcdir}" erroronmissingdir="false"> |
||||
<include name="*"/> |
||||
</dirset> |
||||
</src> |
||||
<classpath> |
||||
<path path="@{classpath}"/> |
||||
</classpath> |
||||
<compilerarg line="${endorsed.classpath.cmd.line.arg}"/> |
||||
<compilerarg line="${javac.compilerargs}"/> |
||||
<customize/> |
||||
</javac> |
||||
</sequential> |
||||
</macrodef> |
||||
</target> |
||||
<target depends="-init-macrodef-javac-with-processors,-init-macrodef-javac-without-processors" name="-init-macrodef-javac"> |
||||
<macrodef name="depend" uri="http://www.netbeans.org/ns/j2se-project/3"> |
||||
<attribute default="${src.dir}" name="srcdir"/> |
||||
<attribute default="${build.classes.dir}" name="destdir"/> |
||||
<attribute default="${javac.classpath}" name="classpath"/> |
||||
<sequential> |
||||
<depend cache="${build.dir}/depcache" destdir="@{destdir}" excludes="${excludes}" includes="${includes}" srcdir="@{srcdir}"> |
||||
<classpath> |
||||
<path path="@{classpath}"/> |
||||
</classpath> |
||||
</depend> |
||||
</sequential> |
||||
</macrodef> |
||||
<macrodef name="force-recompile" uri="http://www.netbeans.org/ns/j2se-project/3"> |
||||
<attribute default="${build.classes.dir}" name="destdir"/> |
||||
<sequential> |
||||
<fail unless="javac.includes">Must set javac.includes</fail> |
||||
<pathconvert pathsep="," property="javac.includes.binary"> |
||||
<path> |
||||
<filelist dir="@{destdir}" files="${javac.includes}"/> |
||||
</path> |
||||
<globmapper from="*.java" to="*.class"/> |
||||
</pathconvert> |
||||
<delete> |
||||
<files includes="${javac.includes.binary}"/> |
||||
</delete> |
||||
</sequential> |
||||
</macrodef> |
||||
</target> |
||||
<target name="-init-macrodef-junit"> |
||||
<macrodef name="junit" uri="http://www.netbeans.org/ns/j2se-project/3"> |
||||
<attribute default="${includes}" name="includes"/> |
||||
<attribute default="${excludes}" name="excludes"/> |
||||
<attribute default="**" name="testincludes"/> |
||||
<sequential> |
||||
<junit dir="${work.dir}" errorproperty="tests.failed" failureproperty="tests.failed" fork="true" showoutput="true" tempdir="${build.dir}"> |
||||
<batchtest todir="${build.test.results.dir}"/> |
||||
<classpath> |
||||
<path path="${run.test.classpath}"/> |
||||
</classpath> |
||||
<syspropertyset> |
||||
<propertyref prefix="test-sys-prop."/> |
||||
<mapper from="test-sys-prop.*" to="*" type="glob"/> |
||||
</syspropertyset> |
||||
<formatter type="brief" usefile="false"/> |
||||
<formatter type="xml"/> |
||||
<jvmarg line="${endorsed.classpath.cmd.line.arg}"/> |
||||
<jvmarg line="${run.jvmargs}"/> |
||||
</junit> |
||||
</sequential> |
||||
</macrodef> |
||||
</target> |
||||
<target depends="-init-debug-args" name="-init-macrodef-nbjpda"> |
||||
<macrodef name="nbjpdastart" uri="http://www.netbeans.org/ns/j2se-project/1"> |
||||
<attribute default="${main.class}" name="name"/> |
||||
<attribute default="${debug.classpath}" name="classpath"/> |
||||
<attribute default="" name="stopclassname"/> |
||||
<sequential> |
||||
<nbjpdastart addressproperty="jpda.address" name="@{name}" stopclassname="@{stopclassname}" transport="${debug-transport}"> |
||||
<classpath> |
||||
<path path="@{classpath}"/> |
||||
</classpath> |
||||
</nbjpdastart> |
||||
</sequential> |
||||
</macrodef> |
||||
<macrodef name="nbjpdareload" uri="http://www.netbeans.org/ns/j2se-project/1"> |
||||
<attribute default="${build.classes.dir}" name="dir"/> |
||||
<sequential> |
||||
<nbjpdareload> |
||||
<fileset dir="@{dir}" includes="${fix.classes}"> |
||||
<include name="${fix.includes}*.class"/> |
||||
</fileset> |
||||
</nbjpdareload> |
||||
</sequential> |
||||
</macrodef> |
||||
</target> |
||||
<target name="-init-debug-args"> |
||||
<property name="version-output" value="java version "${ant.java.version}"/> |
||||
<condition property="have-jdk-older-than-1.4"> |
||||
<or> |
||||
<contains string="${version-output}" substring="java version "1.0"/> |
||||
<contains string="${version-output}" substring="java version "1.1"/> |
||||
<contains string="${version-output}" substring="java version "1.2"/> |
||||
<contains string="${version-output}" substring="java version "1.3"/> |
||||
</or> |
||||
</condition> |
||||
<condition else="-Xdebug" property="debug-args-line" value="-Xdebug -Xnoagent -Djava.compiler=none"> |
||||
<istrue value="${have-jdk-older-than-1.4}"/> |
||||
</condition> |
||||
<condition else="dt_socket" property="debug-transport-by-os" value="dt_shmem"> |
||||
<os family="windows"/> |
||||
</condition> |
||||
<condition else="${debug-transport-by-os}" property="debug-transport" value="${debug.transport}"> |
||||
<isset property="debug.transport"/> |
||||
</condition> |
||||
</target> |
||||
<target depends="-init-debug-args" name="-init-macrodef-debug"> |
||||
<macrodef name="debug" uri="http://www.netbeans.org/ns/j2se-project/3"> |
||||
<attribute default="${main.class}" name="classname"/> |
||||
<attribute default="${debug.classpath}" name="classpath"/> |
||||
<element name="customize" optional="true"/> |
||||
<sequential> |
||||
<java classname="@{classname}" dir="${work.dir}" fork="true"> |
||||
<jvmarg line="${endorsed.classpath.cmd.line.arg}"/> |
||||
<jvmarg line="${debug-args-line}"/> |
||||
<jvmarg value="-Xrunjdwp:transport=${debug-transport},address=${jpda.address}"/> |
||||
<jvmarg value="-Dfile.encoding=${runtime.encoding}"/> |
||||
<redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/> |
||||
<jvmarg line="${run.jvmargs}"/> |
||||
<classpath> |
||||
<path path="@{classpath}"/> |
||||
</classpath> |
||||
<syspropertyset> |
||||
<propertyref prefix="run-sys-prop."/> |
||||
<mapper from="run-sys-prop.*" to="*" type="glob"/> |
||||
</syspropertyset> |
||||
<customize/> |
||||
</java> |
||||
</sequential> |
||||
</macrodef> |
||||
</target> |
||||
<target name="-init-macrodef-java"> |
||||
<macrodef name="java" uri="http://www.netbeans.org/ns/j2se-project/1"> |
||||
<attribute default="${main.class}" name="classname"/> |
||||
<attribute default="${run.classpath}" name="classpath"/> |
||||
<element name="customize" optional="true"/> |
||||
<sequential> |
||||
<java classname="@{classname}" dir="${work.dir}" fork="true"> |
||||
<jvmarg line="${endorsed.classpath.cmd.line.arg}"/> |
||||
<jvmarg value="-Dfile.encoding=${runtime.encoding}"/> |
||||
<redirector errorencoding="${runtime.encoding}" inputencoding="${runtime.encoding}" outputencoding="${runtime.encoding}"/> |
||||
<jvmarg line="${run.jvmargs}"/> |
||||
<classpath> |
||||
<path path="@{classpath}"/> |
||||
</classpath> |
||||
<syspropertyset> |
||||
<propertyref prefix="run-sys-prop."/> |
||||
<mapper from="run-sys-prop.*" to="*" type="glob"/> |
||||
</syspropertyset> |
||||
<customize/> |
||||
</java> |
||||
</sequential> |
||||
</macrodef> |
||||
</target> |
||||
<target name="-init-macrodef-copylibs"> |
||||
<macrodef name="copylibs" uri="http://www.netbeans.org/ns/j2se-project/3"> |
||||
<element name="customize" optional="true"/> |
||||
<sequential> |
||||
<property location="${build.classes.dir}" name="build.classes.dir.resolved"/> |
||||
<pathconvert property="run.classpath.without.build.classes.dir"> |
||||
<path path="${run.classpath}"/> |
||||
<map from="${build.classes.dir.resolved}" to=""/> |
||||
</pathconvert> |
||||
<pathconvert pathsep=" " property="jar.classpath"> |
||||
<path path="${run.classpath.without.build.classes.dir}"/> |
||||
<chainedmapper> |
||||
<flattenmapper/> |
||||
<globmapper from="*" to="lib/*"/> |
||||
</chainedmapper> |
||||
</pathconvert> |
||||
<taskdef classname="org.netbeans.modules.java.j2seproject.copylibstask.CopyLibs" classpath="${libs.CopyLibs.classpath}" name="copylibs"/> |
||||
<copylibs compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}" manifest="${manifest.file}" runtimeclasspath="${run.classpath.without.build.classes.dir}"> |
||||
<fileset dir="${build.classes.dir}"/> |
||||
<manifest> |
||||
<attribute name="Class-Path" value="${jar.classpath}"/> |
||||
<customize/> |
||||
</manifest> |
||||
</copylibs> |
||||
</sequential> |
||||
</macrodef> |
||||
</target> |
||||
<target name="-init-presetdef-jar"> |
||||
<presetdef name="jar" uri="http://www.netbeans.org/ns/j2se-project/1"> |
||||
<jar compress="${jar.compress}" index="${jar.index}" jarfile="${dist.jar}"> |
||||
<j2seproject1:fileset dir="${build.classes.dir}"/> |
||||
</jar> |
||||
</presetdef> |
||||
</target> |
||||
<target name="-init-ap-cmdline-properties"> |
||||
<property name="annotation.processing.enabled" value="true"/> |
||||
<property name="annotation.processing.processors.list" value=""/> |
||||
<property name="annotation.processing.processor.options" value=""/> |
||||
<property name="annotation.processing.run.all.processors" value="true"/> |
||||
<property name="javac.processorpath" value="${javac.classpath}"/> |
||||
<property name="javac.test.processorpath" value="${javac.test.classpath}"/> |
||||
<condition property="ap.supported.internal" value="true"> |
||||
<not> |
||||
<matches pattern="1\.[0-5](\..*)?" string="${javac.source}"/> |
||||
</not> |
||||
</condition> |
||||
</target> |
||||
<target depends="-init-ap-cmdline-properties" if="ap.supported.internal" name="-init-ap-cmdline-supported"> |
||||
<condition else="" property="ap.processors.internal" value="-processor ${annotation.processing.processors.list}"> |
||||
<isfalse value="${annotation.processing.run.all.processors}"/> |
||||
</condition> |
||||
<condition else="" property="ap.proc.none.internal" value="-proc:none"> |
||||
<isfalse value="${annotation.processing.enabled}"/> |
||||
</condition> |
||||
</target> |
||||
<target depends="-init-ap-cmdline-properties,-init-ap-cmdline-supported" name="-init-ap-cmdline"> |
||||
<property name="ap.cmd.line.internal" value=""/> |
||||
</target> |
||||
<target depends="-pre-init,-init-private,-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"/> |
||||
<!-- |
||||
=================== |
||||
COMPILATION SECTION |
||||
=================== |
||||
--> |
||||
<target name="-deps-jar-init" unless="built-jar.properties"> |
||||
<property location="${build.dir}/built-jar.properties" name="built-jar.properties"/> |
||||
<delete file="${built-jar.properties}" quiet="true"/> |
||||
</target> |
||||
<target if="already.built.jar.${basedir}" name="-warn-already-built-jar"> |
||||
<echo level="warn" message="Cycle detected: JME3TestsTemplate was already built"/> |
||||
</target> |
||||
<target depends="init,-deps-jar-init" name="deps-jar" unless="no.deps"> |
||||
<mkdir dir="${build.dir}"/> |
||||
<touch file="${built-jar.properties}" verbose="false"/> |
||||
<property file="${built-jar.properties}" prefix="already.built.jar."/> |
||||
<antcall target="-warn-already-built-jar"/> |
||||
<propertyfile file="${built-jar.properties}"> |
||||
<entry key="${basedir}" value=""/> |
||||
</propertyfile> |
||||
</target> |
||||
<target depends="init,-check-automatic-build,-clean-after-automatic-build" name="-verify-automatic-build"/> |
||||
<target depends="init" name="-check-automatic-build"> |
||||
<available file="${build.classes.dir}/.netbeans_automatic_build" property="netbeans.automatic.build"/> |
||||
</target> |
||||
<target depends="init" if="netbeans.automatic.build" name="-clean-after-automatic-build"> |
||||
<antcall target="clean"/> |
||||
</target> |
||||
<target depends="init,deps-jar" name="-pre-pre-compile"> |
||||
<mkdir dir="${build.classes.dir}"/> |
||||
</target> |
||||
<target name="-pre-compile"> |
||||
<!-- Empty placeholder for easier customization. --> |
||||
<!-- You can override this target in the ../build.xml file. --> |
||||
</target> |
||||
<target if="do.depend.true" name="-compile-depend"> |
||||
<pathconvert property="build.generated.subdirs"> |
||||
<dirset dir="${build.generated.sources.dir}" erroronmissingdir="false"> |
||||
<include name="*"/> |
||||
</dirset> |
||||
</pathconvert> |
||||
<j2seproject3:depend srcdir="${src.dir}:${build.generated.subdirs}"/> |
||||
</target> |
||||
<target depends="init,deps-jar,-pre-pre-compile,-pre-compile, -copy-persistence-xml,-compile-depend" if="have.sources" name="-do-compile"> |
||||
<j2seproject3:javac gensrcdir="${build.generated.sources.dir}"/> |
||||
<copy todir="${build.classes.dir}"> |
||||
<fileset dir="${src.dir}" excludes="${build.classes.excludes},${excludes}" includes="${includes}"/> |
||||
</copy> |
||||
</target> |
||||
<target if="has.persistence.xml" name="-copy-persistence-xml"> |
||||
<mkdir dir="${build.classes.dir}/META-INF"/> |
||||
<copy todir="${build.classes.dir}/META-INF"> |
||||
<fileset dir="${meta.inf.dir}" includes="persistence.xml"/> |
||||
</copy> |
||||
</target> |
||||
<target name="-post-compile"> |
||||
<!-- Empty placeholder for easier customization. --> |
||||
<!-- You can override this target in the ../build.xml file. --> |
||||
</target> |
||||
<target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile,-do-compile,-post-compile" description="Compile project." name="compile"/> |
||||
<target name="-pre-compile-single"> |
||||
<!-- Empty placeholder for easier customization. --> |
||||
<!-- You can override this target in the ../build.xml file. --> |
||||
</target> |
||||
<target depends="init,deps-jar,-pre-pre-compile" name="-do-compile-single"> |
||||
<fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail> |
||||
<j2seproject3:force-recompile/> |
||||
<j2seproject3:javac excludes="" gensrcdir="${build.generated.sources.dir}" includes="${javac.includes}" sourcepath="${src.dir}"/> |
||||
</target> |
||||
<target name="-post-compile-single"> |
||||
<!-- Empty placeholder for easier customization. --> |
||||
<!-- You can override this target in the ../build.xml file. --> |
||||
</target> |
||||
<target depends="init,deps-jar,-verify-automatic-build,-pre-pre-compile,-pre-compile-single,-do-compile-single,-post-compile-single" name="compile-single"/> |
||||
<!-- |
||||
==================== |
||||
JAR BUILDING SECTION |
||||
==================== |
||||
--> |
||||
<target depends="init" name="-pre-pre-jar"> |
||||
<dirname file="${dist.jar}" property="dist.jar.dir"/> |
||||
<mkdir dir="${dist.jar.dir}"/> |
||||
</target> |
||||
<target name="-pre-jar"> |
||||
<!-- Empty placeholder for easier customization. --> |
||||
<!-- You can override this target in the ../build.xml file. --> |
||||
</target> |
||||
<target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive" name="-do-jar-without-manifest" unless="manifest.available"> |
||||
<j2seproject1:jar/> |
||||
</target> |
||||
<target depends="init,compile,-pre-pre-jar,-pre-jar" if="do.archive+manifest.available" name="-do-jar-with-manifest" unless="manifest.available+main.class"> |
||||
<j2seproject1:jar manifest="${manifest.file}"/> |
||||
</target> |
||||
<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"> |
||||
<j2seproject1:jar manifest="${manifest.file}"> |
||||
<j2seproject1:manifest> |
||||
<j2seproject1:attribute name="Main-Class" value="${main.class}"/> |
||||
</j2seproject1:manifest> |
||||
</j2seproject1:jar> |
||||
<echo>To run this application from the command line without Ant, try:</echo> |
||||
<property location="${build.classes.dir}" name="build.classes.dir.resolved"/> |
||||
<property location="${dist.jar}" name="dist.jar.resolved"/> |
||||
<pathconvert property="run.classpath.with.dist.jar"> |
||||
<path path="${run.classpath}"/> |
||||
<map from="${build.classes.dir.resolved}" to="${dist.jar.resolved}"/> |
||||
</pathconvert> |
||||
<echo>java -cp "${run.classpath.with.dist.jar}" ${main.class}</echo> |
||||
</target> |
||||
<target depends="init,compile,-pre-pre-jar,-pre-jar,-init-macrodef-copylibs" if="do.archive+manifest.available+main.class+mkdist.available+splashscreen.available" name="-do-jar-with-libraries-and-splashscreen"> |
||||
<basename file="${application.splash}" property="splashscreen.basename"/> |
||||
<mkdir dir="${build.classes.dir}/META-INF"/> |
||||
<copy failonerror="false" file="${application.splash}" todir="${build.classes.dir}/META-INF"/> |
||||
<j2seproject3:copylibs> |
||||
<customize> |
||||
<attribute name="Main-Class" value="${main.class}"/> |
||||
<attribute name="SplashScreen-Image" value="META-INF/${splashscreen.basename}"/> |
||||
</customize> |
||||
</j2seproject3:copylibs> |
||||
<echo>To run this application from the command line without Ant, try:</echo> |
||||
<property location="${dist.jar}" name="dist.jar.resolved"/> |
||||
<echo>java -jar "${dist.jar.resolved}"</echo> |
||||
</target> |
||||
<target depends="init,compile,-pre-pre-jar,-pre-jar,-init-macrodef-copylibs" if="do.archive+manifest.available+main.class+mkdist.available" name="-do-jar-with-libraries" unless="splashscreen.available"> |
||||
<j2seproject3:copylibs> |
||||
<customize> |
||||
<attribute name="Main-Class" value="${main.class}"/> |
||||
</customize> |
||||
</j2seproject3:copylibs> |
||||
<echo>To run this application from the command line without Ant, try:</echo> |
||||
<property location="${dist.jar}" name="dist.jar.resolved"/> |
||||
<echo>java -jar "${dist.jar.resolved}"</echo> |
||||
</target> |
||||
<target name="-post-jar"> |
||||
<!-- Empty placeholder for easier customization. --> |
||||
<!-- You can override this target in the ../build.xml file. --> |
||||
</target> |
||||
<target depends="init,compile,-pre-jar,-do-jar-with-manifest,-do-jar-without-manifest,-do-jar-with-mainclass,-do-jar-with-libraries-and-splashscreen,-do-jar-with-libraries,-post-jar" description="Build JAR." name="jar"/> |
||||
<!-- |
||||
================= |
||||
EXECUTION SECTION |
||||
================= |
||||
--> |
||||
<target depends="init,compile" description="Run a main class." name="run"> |
||||
<j2seproject1:java> |
||||
<customize> |
||||
<arg line="${application.args}"/> |
||||
</customize> |
||||
</j2seproject1:java> |
||||
</target> |
||||
<target name="-do-not-recompile"> |
||||
<property name="javac.includes.binary" value=""/> |
||||
</target> |
||||
<target depends="init,compile-single" name="run-single"> |
||||
<fail unless="run.class">Must select one file in the IDE or set run.class</fail> |
||||
<j2seproject1:java classname="${run.class}"/> |
||||
</target> |
||||
<target depends="init,compile-test-single" name="run-test-with-main"> |
||||
<fail unless="run.class">Must select one file in the IDE or set run.class</fail> |
||||
<j2seproject1:java classname="${run.class}" classpath="${run.test.classpath}"/> |
||||
</target> |
||||
<!-- |
||||
================= |
||||
DEBUGGING SECTION |
||||
================= |
||||
--> |
||||
<target depends="init" if="netbeans.home" name="-debug-start-debugger"> |
||||
<j2seproject1:nbjpdastart name="${debug.class}"/> |
||||
</target> |
||||
<target depends="init" if="netbeans.home" name="-debug-start-debugger-main-test"> |
||||
<j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${debug.class}"/> |
||||
</target> |
||||
<target depends="init,compile" name="-debug-start-debuggee"> |
||||
<j2seproject3:debug> |
||||
<customize> |
||||
<arg line="${application.args}"/> |
||||
</customize> |
||||
</j2seproject3:debug> |
||||
</target> |
||||
<target depends="init,compile,-debug-start-debugger,-debug-start-debuggee" description="Debug project in IDE." if="netbeans.home" name="debug"/> |
||||
<target depends="init" if="netbeans.home" name="-debug-start-debugger-stepinto"> |
||||
<j2seproject1:nbjpdastart stopclassname="${main.class}"/> |
||||
</target> |
||||
<target depends="init,compile,-debug-start-debugger-stepinto,-debug-start-debuggee" if="netbeans.home" name="debug-stepinto"/> |
||||
<target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-single"> |
||||
<fail unless="debug.class">Must select one file in the IDE or set debug.class</fail> |
||||
<j2seproject3:debug classname="${debug.class}"/> |
||||
</target> |
||||
<target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-single" if="netbeans.home" name="debug-single"/> |
||||
<target depends="init,compile-test-single" if="netbeans.home" name="-debug-start-debuggee-main-test"> |
||||
<fail unless="debug.class">Must select one file in the IDE or set debug.class</fail> |
||||
<j2seproject3:debug classname="${debug.class}" classpath="${debug.test.classpath}"/> |
||||
</target> |
||||
<target depends="init,compile-test-single,-debug-start-debugger-main-test,-debug-start-debuggee-main-test" if="netbeans.home" name="debug-test-with-main"/> |
||||
<target depends="init" name="-pre-debug-fix"> |
||||
<fail unless="fix.includes">Must set fix.includes</fail> |
||||
<property name="javac.includes" value="${fix.includes}.java"/> |
||||
</target> |
||||
<target depends="init,-pre-debug-fix,compile-single" if="netbeans.home" name="-do-debug-fix"> |
||||
<j2seproject1:nbjpdareload/> |
||||
</target> |
||||
<target depends="init,-pre-debug-fix,-do-debug-fix" if="netbeans.home" name="debug-fix"/> |
||||
<!-- |
||||
=============== |
||||
JAVADOC SECTION |
||||
=============== |
||||
--> |
||||
<target depends="init" if="have.sources" name="-javadoc-build"> |
||||
<mkdir dir="${dist.javadoc.dir}"/> |
||||
<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}"> |
||||
<classpath> |
||||
<path path="${javac.classpath}"/> |
||||
</classpath> |
||||
<fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}"> |
||||
<filename name="**/*.java"/> |
||||
</fileset> |
||||
<fileset dir="${build.generated.sources.dir}" erroronmissingdir="false"> |
||||
<include name="**/*.java"/> |
||||
</fileset> |
||||
</javadoc> |
||||
<copy todir="${dist.javadoc.dir}"> |
||||
<fileset dir="${src.dir}" excludes="${excludes}" includes="${includes}"> |
||||
<filename name="**/doc-files/**"/> |
||||
</fileset> |
||||
<fileset dir="${build.generated.sources.dir}" erroronmissingdir="false"> |
||||
<include name="**/doc-files/**"/> |
||||
</fileset> |
||||
</copy> |
||||
</target> |
||||
<target depends="init,-javadoc-build" if="netbeans.home" name="-javadoc-browse" unless="no.javadoc.preview"> |
||||
<nbbrowse file="${dist.javadoc.dir}/index.html"/> |
||||
</target> |
||||
<target depends="init,-javadoc-build,-javadoc-browse" description="Build Javadoc." name="javadoc"/> |
||||
<!-- |
||||
========================= |
||||
JUNIT COMPILATION SECTION |
||||
========================= |
||||
--> |
||||
<target depends="init,compile" if="have.tests" name="-pre-pre-compile-test"> |
||||
<mkdir dir="${build.test.classes.dir}"/> |
||||
</target> |
||||
<target name="-pre-compile-test"> |
||||
<!-- Empty placeholder for easier customization. --> |
||||
<!-- You can override this target in the ../build.xml file. --> |
||||
</target> |
||||
<target if="do.depend.true" name="-compile-test-depend"> |
||||
<j2seproject3:depend classpath="${javac.test.classpath}" destdir="${build.test.classes.dir}" srcdir=""/> |
||||
</target> |
||||
<target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-compile-test-depend" if="have.tests" name="-do-compile-test"> |
||||
<j2seproject3:javac apgeneratedsrcdir="${build.test.classes.dir}" classpath="${javac.test.classpath}" debug="true" destdir="${build.test.classes.dir}" processorpath="${javac.test.processorpath}" srcdir=""/> |
||||
<copy todir="${build.test.classes.dir}"/> |
||||
</target> |
||||
<target name="-post-compile-test"> |
||||
<!-- Empty placeholder for easier customization. --> |
||||
<!-- You can override this target in the ../build.xml file. --> |
||||
</target> |
||||
<target depends="init,compile,-pre-pre-compile-test,-pre-compile-test,-do-compile-test,-post-compile-test" name="compile-test"/> |
||||
<target name="-pre-compile-test-single"> |
||||
<!-- Empty placeholder for easier customization. --> |
||||
<!-- You can override this target in the ../build.xml file. --> |
||||
</target> |
||||
<target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single" if="have.tests" name="-do-compile-test-single"> |
||||
<fail unless="javac.includes">Must select some files in the IDE or set javac.includes</fail> |
||||
<j2seproject3:force-recompile destdir="${build.test.classes.dir}"/> |
||||
<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="" srcdir=""/> |
||||
<copy todir="${build.test.classes.dir}"/> |
||||
</target> |
||||
<target name="-post-compile-test-single"> |
||||
<!-- Empty placeholder for easier customization. --> |
||||
<!-- You can override this target in the ../build.xml file. --> |
||||
</target> |
||||
<target depends="init,compile,-pre-pre-compile-test,-pre-compile-test-single,-do-compile-test-single,-post-compile-test-single" name="compile-test-single"/> |
||||
<!-- |
||||
======================= |
||||
JUNIT EXECUTION SECTION |
||||
======================= |
||||
--> |
||||
<target depends="init" if="have.tests" name="-pre-test-run"> |
||||
<mkdir dir="${build.test.results.dir}"/> |
||||
</target> |
||||
<target depends="init,compile-test,-pre-test-run" if="have.tests" name="-do-test-run"> |
||||
<j2seproject3:junit testincludes="**/*Test.java"/> |
||||
</target> |
||||
<target depends="init,compile-test,-pre-test-run,-do-test-run" if="have.tests" name="-post-test-run"> |
||||
<fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail> |
||||
</target> |
||||
<target depends="init" if="have.tests" name="test-report"/> |
||||
<target depends="init" if="netbeans.home+have.tests" name="-test-browse"/> |
||||
<target depends="init,compile-test,-pre-test-run,-do-test-run,test-report,-post-test-run,-test-browse" description="Run unit tests." name="test"/> |
||||
<target depends="init" if="have.tests" name="-pre-test-run-single"> |
||||
<mkdir dir="${build.test.results.dir}"/> |
||||
</target> |
||||
<target depends="init,compile-test-single,-pre-test-run-single" if="have.tests" name="-do-test-run-single"> |
||||
<fail unless="test.includes">Must select some files in the IDE or set test.includes</fail> |
||||
<j2seproject3:junit excludes="" includes="${test.includes}"/> |
||||
</target> |
||||
<target depends="init,compile-test-single,-pre-test-run-single,-do-test-run-single" if="have.tests" name="-post-test-run-single"> |
||||
<fail if="tests.failed" unless="ignore.failing.tests">Some tests failed; see details above.</fail> |
||||
</target> |
||||
<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"/> |
||||
<!-- |
||||
======================= |
||||
JUNIT DEBUGGING SECTION |
||||
======================= |
||||
--> |
||||
<target depends="init,compile-test" if="have.tests" name="-debug-start-debuggee-test"> |
||||
<fail unless="test.class">Must select one file in the IDE or set test.class</fail> |
||||
<property location="${build.test.results.dir}/TEST-${test.class}.xml" name="test.report.file"/> |
||||
<delete file="${test.report.file}"/> |
||||
<mkdir dir="${build.test.results.dir}"/> |
||||
<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}"> |
||||
<customize> |
||||
<syspropertyset> |
||||
<propertyref prefix="test-sys-prop."/> |
||||
<mapper from="test-sys-prop.*" to="*" type="glob"/> |
||||
</syspropertyset> |
||||
<arg value="${test.class}"/> |
||||
<arg value="showoutput=true"/> |
||||
<arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.BriefJUnitResultFormatter"/> |
||||
<arg value="formatter=org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,${test.report.file}"/> |
||||
</customize> |
||||
</j2seproject3:debug> |
||||
</target> |
||||
<target depends="init,compile-test" if="netbeans.home+have.tests" name="-debug-start-debugger-test"> |
||||
<j2seproject1:nbjpdastart classpath="${debug.test.classpath}" name="${test.class}"/> |
||||
</target> |
||||
<target depends="init,compile-test-single,-debug-start-debugger-test,-debug-start-debuggee-test" name="debug-test"/> |
||||
<target depends="init,-pre-debug-fix,compile-test-single" if="netbeans.home" name="-do-debug-fix-test"> |
||||
<j2seproject1:nbjpdareload dir="${build.test.classes.dir}"/> |
||||
</target> |
||||
<target depends="init,-pre-debug-fix,-do-debug-fix-test" if="netbeans.home" name="debug-fix-test"/> |
||||
<!-- |
||||
========================= |
||||
APPLET EXECUTION SECTION |
||||
========================= |
||||
--> |
||||
<target depends="init,compile-single" name="run-applet"> |
||||
<fail unless="applet.url">Must select one file in the IDE or set applet.url</fail> |
||||
<j2seproject1:java classname="sun.applet.AppletViewer"> |
||||
<customize> |
||||
<arg value="${applet.url}"/> |
||||
</customize> |
||||
</j2seproject1:java> |
||||
</target> |
||||
<!-- |
||||
========================= |
||||
APPLET DEBUGGING SECTION |
||||
========================= |
||||
--> |
||||
<target depends="init,compile-single" if="netbeans.home" name="-debug-start-debuggee-applet"> |
||||
<fail unless="applet.url">Must select one file in the IDE or set applet.url</fail> |
||||
<j2seproject3:debug classname="sun.applet.AppletViewer"> |
||||
<customize> |
||||
<arg value="${applet.url}"/> |
||||
</customize> |
||||
</j2seproject3:debug> |
||||
</target> |
||||
<target depends="init,compile-single,-debug-start-debugger,-debug-start-debuggee-applet" if="netbeans.home" name="debug-applet"/> |
||||
<!-- |
||||
=============== |
||||
CLEANUP SECTION |
||||
=============== |
||||
--> |
||||
<target name="-deps-clean-init" unless="built-clean.properties"> |
||||
<property location="${build.dir}/built-clean.properties" name="built-clean.properties"/> |
||||
<delete file="${built-clean.properties}" quiet="true"/> |
||||
</target> |
||||
<target if="already.built.clean.${basedir}" name="-warn-already-built-clean"> |
||||
<echo level="warn" message="Cycle detected: JME3TestsTemplate was already built"/> |
||||
</target> |
||||
<target depends="init,-deps-clean-init" name="deps-clean" unless="no.deps"> |
||||
<mkdir dir="${build.dir}"/> |
||||
<touch file="${built-clean.properties}" verbose="false"/> |
||||
<property file="${built-clean.properties}" prefix="already.built.clean."/> |
||||
<antcall target="-warn-already-built-clean"/> |
||||
<propertyfile file="${built-clean.properties}"> |
||||
<entry key="${basedir}" value=""/> |
||||
</propertyfile> |
||||
</target> |
||||
<target depends="init" name="-do-clean"> |
||||
<delete dir="${build.dir}"/> |
||||
<delete dir="${dist.dir}" followsymlinks="false" includeemptydirs="true"/> |
||||
</target> |
||||
<target name="-post-clean"> |
||||
<!-- Empty placeholder for easier customization. --> |
||||
<!-- You can override this target in the ../build.xml file. --> |
||||
</target> |
||||
<target depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products." name="clean"/> |
||||
<target name="-check-call-dep"> |
||||
<property file="${call.built.properties}" prefix="already.built."/> |
||||
<condition property="should.call.dep"> |
||||
<not> |
||||
<isset property="already.built.${call.subproject}"/> |
||||
</not> |
||||
</condition> |
||||
</target> |
||||
<target depends="-check-call-dep" if="should.call.dep" name="-maybe-call-dep"> |
||||
<ant antfile="${call.script}" inheritall="false" target="${call.target}"> |
||||
<propertyset> |
||||
<propertyref prefix="transfer."/> |
||||
<mapper from="transfer.*" to="*" type="glob"/> |
||||
</propertyset> |
||||
</ant> |
||||
</target> |
||||
</project> |
@ -1,8 +0,0 @@ |
||||
build.xml.data.CRC32=0f706f4a |
||||
build.xml.script.CRC32=82b8b23d |
||||
build.xml.stylesheet.CRC32=8064a381@1.75.2.48 |
||||
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. |
||||
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. |
||||
nbproject/build-impl.xml.data.CRC32=0f706f4a |
||||
nbproject/build-impl.xml.script.CRC32=46d1a69a |
||||
nbproject/build-impl.xml.stylesheet.CRC32=0ae3a408@1.44.1.45 |
@ -1,83 +0,0 @@ |
||||
application.title=JME3TestsTemplate |
||||
application.vendor=jMonkeyEngine |
||||
build.classes.dir=${build.dir}/classes |
||||
build.classes.excludes=**/*.java,**/*.form |
||||
# This directory is removed when the project is cleaned: |
||||
build.dir=build |
||||
build.generated.dir=${build.dir}/generated |
||||
build.generated.sources.dir=${build.dir}/generated-sources |
||||
# Only compile against the classpath explicitly listed here: |
||||
build.sysclasspath=ignore |
||||
build.test.classes.dir=${build.dir}/test/classes |
||||
build.test.results.dir=${build.dir}/test/results |
||||
# Uncomment to specify the preferred debugger connection transport: |
||||
#debug.transport=dt_socket |
||||
debug.classpath=\ |
||||
${run.classpath} |
||||
debug.test.classpath=\ |
||||
${run.test.classpath} |
||||
# This directory is removed when the project is cleaned: |
||||
dist.dir=dist |
||||
dist.jar=${dist.dir}/JME3TestsTemplate.jar |
||||
dist.javadoc.dir=${dist.dir}/javadoc |
||||
endorsed.classpath= |
||||
excludes= |
||||
includes=** |
||||
jar.compress=false |
||||
javac.classpath=\ |
||||
${libs.jme3-jogg.classpath}:\ |
||||
${libs.jme3-blender.classpath}:\ |
||||
${libs.jme3-networking.classpath}:\ |
||||
${libs.jme3-plugins.classpath}:\ |
||||
${libs.jme3-core.classpath}:\ |
||||
${libs.jme3-desktop.classpath}:\ |
||||
${libs.jme3-lwjgl.classpath}:\ |
||||
${libs.jme3-niftygui.classpath}:\ |
||||
${libs.jme3-effects.classpath}:\ |
||||
${libs.jme3-terrain.classpath}:\ |
||||
${libs.jme3-jbullet.classpath}:\ |
||||
${libs.jme3-test-data.classpath} |
||||
# Space-separated list of extra javac options |
||||
javac.compilerargs= |
||||
javac.deprecation=false |
||||
javac.source=1.6 |
||||
javac.target=1.6 |
||||
javac.test.classpath=\ |
||||
${javac.classpath}:\ |
||||
${build.classes.dir} |
||||
javadoc.additionalparam= |
||||
javadoc.author=false |
||||
javadoc.encoding=${source.encoding} |
||||
javadoc.noindex=false |
||||
javadoc.nonavbar=false |
||||
javadoc.notree=false |
||||
javadoc.private=false |
||||
javadoc.splitindex=true |
||||
javadoc.use=true |
||||
javadoc.version=false |
||||
javadoc.windowtitle= |
||||
jaxbwiz.endorsed.dirs="${netbeans.home}/../ide12/modules/ext/jaxb/api" |
||||
jnlp.applet.class=jme3test.awt.TestApplet |
||||
jnlp.applet.height=300 |
||||
jnlp.applet.width=300 |
||||
jnlp.codebase.type=local |
||||
jnlp.descriptor=application |
||||
jnlp.enabled=false |
||||
jnlp.offline-allowed=false |
||||
jnlp.signed=false |
||||
main.class=jme3test.TestChooser |
||||
manifest.file=manifest.mf |
||||
meta.inf.dir=${src.dir}/META-INF |
||||
platform.active=default_platform |
||||
run.classpath=\ |
||||
${javac.classpath}:\ |
||||
${build.classes.dir} |
||||
# Space-separated list of JVM arguments used when running the project |
||||
# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value |
||||
# or test-sys-prop.name=value to set system properties for unit tests): |
||||
run.jvmargs= |
||||
run.test.classpath=\ |
||||
${javac.test.classpath}:\ |
||||
${build.test.classes.dir} |
||||
source.encoding=UTF-8 |
||||
src.dir=src |
@ -1,13 +0,0 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project xmlns="http://www.netbeans.org/ns/project/1"> |
||||
<type>org.netbeans.modules.java.j2seproject</type> |
||||
<configuration> |
||||
<data xmlns="http://www.netbeans.org/ns/j2se-project/3"> |
||||
<name>JME3TestsTemplate</name> |
||||
<source-roots> |
||||
<root id="src.dir" name="JME3 Examples"/> |
||||
</source-roots> |
||||
<test-roots/> |
||||
</data> |
||||
</configuration> |
||||
</project> |
@ -1 +0,0 @@ |
||||
X-Comment: Created with jMonkeyPlatform |
@ -1,76 +0,0 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!-- You may freely edit this file. See commented blocks below for --> |
||||
<!-- some examples of how to customize the build. --> |
||||
<!-- (If you delete it and reopen the project it will be recreated.) --> |
||||
<!-- By default, only the Clean and Build commands use this build script. --> |
||||
<!-- Commands such as Run, Debug, and Test only use this build script if --> |
||||
<!-- the Compile on Save feature is turned off for the project. --> |
||||
<!-- You can turn off the Compile on Save (or Deploy on Save) setting --> |
||||
<!-- in the project's Project Properties dialog box.--> |
||||
<project name="BasicGameTemplate" default="default" basedir="."> |
||||
<description>Builds, tests, and runs the project BasicGameTemplate.</description> |
||||
<import file="nbproject/build-impl.xml"/> |
||||
|
||||
<!-- |
||||
|
||||
There exist several targets which are by default empty and which can be |
||||
used for execution of your tasks. These targets are usually executed |
||||
before and after some main targets. They are: |
||||
|
||||
-pre-init: called before initialization of project properties |
||||
-post-init: called after initialization of project properties |
||||
-pre-compile: called before javac compilation |
||||
-post-compile: called after javac compilation |
||||
-pre-compile-single: called before javac compilation of single file |
||||
-post-compile-single: called after javac compilation of single file |
||||
-pre-compile-test: called before javac compilation of JUnit tests |
||||
-post-compile-test: called after javac compilation of JUnit tests |
||||
-pre-compile-test-single: called before javac compilation of single JUnit test |
||||
-post-compile-test-single: called after javac compilation of single JUunit test |
||||
-pre-jar: called before JAR building |
||||
-post-jar: called after JAR building |
||||
-post-clean: called after cleaning build products |
||||
|
||||
(Targets beginning with '-' are not intended to be called on their own.) |
||||
|
||||
Example of inserting an obfuscator after compilation could look like this: |
||||
|
||||
<target name="-post-compile"> |
||||
<obfuscate> |
||||
<fileset dir="${build.classes.dir}"/> |
||||
</obfuscate> |
||||
</target> |
||||
|
||||
For list of available properties check the imported |
||||
nbproject/build-impl.xml file. |
||||
|
||||
|
||||
Another way to customize the build is by overriding existing main targets. |
||||
The targets of interest are: |
||||
|
||||
-init-macrodef-javac: defines macro for javac compilation |
||||
-init-macrodef-junit: defines macro for junit execution |
||||
-init-macrodef-debug: defines macro for class debugging |
||||
-init-macrodef-java: defines macro for class execution |
||||
-do-jar-with-manifest: JAR building (if you are using a manifest) |
||||
-do-jar-without-manifest: JAR building (if you are not using a manifest) |
||||
run: execution of project |
||||
-javadoc-build: Javadoc generation |
||||
test-report: JUnit report generation |
||||
|
||||
An example of overriding the target for project execution could look like this: |
||||
|
||||
<target name="run" depends="BasicGameTemplate-impl.jar"> |
||||
<exec dir="bin" executable="launcher.exe"> |
||||
<arg file="${dist.jar}"/> |
||||
</exec> |
||||
</target> |
||||
|
||||
Notice that the overridden target depends on the jar target and not only on |
||||
the compile target as the regular run target does. Again, for a list of available |
||||
properties which you can use, check the target you are overriding in the |
||||
nbproject/build-impl.xml file. |
||||
|
||||
--> |
||||
|
||||
</project> |
@ -1,22 +0,0 @@ |
||||
<jnlp spec="1.0+" codebase="${jnlp.codebase}" href="launch.jnlp"> |
||||
<information> |
||||
<title>${APPLICATION.TITLE}</title> |
||||
<vendor>${APPLICATION.VENDOR}</vendor> |
||||
<homepage href="${APPLICATION.HOMEPAGE}"/> |
||||
<description>${APPLICATION.DESC}</description> |
||||
<description kind="short">${APPLICATION.DESC.SHORT}</description> |
||||
<!--${JNLP.ICONS}--> |
||||
<!--${JNLP.OFFLINE.ALLOWED}--> |
||||
</information> |
||||
<!--${JNLP.SECURITY}--> |
||||
<resources> |
||||
<!--${JNLP.RESOURCES.RUNTIME}--> |
||||
<!--${JNLP.RESOURCES.MAIN.JAR}--> |
||||
<!--${JNLP.RESOURCES.JARS}--> |
||||
<jar href='lib/assets.jar'/> |
||||
<!--${JNLP.RESOURCES.EXTENSIONS}--> |
||||
</resources> |
||||
<application-desc main-class="${jnlp.main.class}"> |
||||
<!--${JNLP.APPLICATION.ARGS}--> |
||||
</application-desc> |
||||
</jnlp> |
@ -1,15 +0,0 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="1" android:versionName="1.0" package="com.jmonkeyengine.tests"> |
||||
<application android:label="@string/app_name"> |
||||
<activity android:label="@string/app_name" android:name="MainActivity" android:launchMode="singleTask"> |
||||
<intent-filter> |
||||
<action android:name="android.intent.action.MAIN"/> |
||||
<category android:name="android.intent.category.LAUNCHER"/> |
||||
</intent-filter> |
||||
</activity> |
||||
<activity android:label="@string/app_name" android:name="TestsHarness" android:launchMode="singleTask" android:screenOrientation="landscape"> |
||||
</activity> |
||||
</application> |
||||
<uses-sdk android:minSdkVersion="8"/> |
||||
<supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:smallScreens="true"/> |
||||
</manifest> |
@ -1,17 +0,0 @@ |
||||
# This file is used to override default values used by the Ant build system. |
||||
# |
||||
# This file must be checked into Version Control Systems, as it is |
||||
# integral to the build system of your project. |
||||
|
||||
# This file is only used by the Ant script. |
||||
|
||||
# You can use this to override default values such as |
||||
# 'source.dir' for the location of your java source folder and |
||||
# 'out.dir' for the location of your output folder. |
||||
|
||||
# You can also use it define how the release builds are signed by declaring |
||||
# the following properties: |
||||
# 'key.store' for the location of your keystore and |
||||
# 'key.alias' for the name of the key to use. |
||||
# The password will be asked during the build when you use the 'release' target. |
||||
|
@ -1,92 +0,0 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project name="jMonkeyEngine Test Applications" default="help"> |
||||
|
||||
<!-- The local.properties file is created and updated by the 'android' tool. |
||||
It contains the path to the SDK. It should *NOT* be checked into |
||||
Version Control Systems. --> |
||||
<property file="local.properties" /> |
||||
|
||||
<!-- The ant.properties file can be created by you. It is only edited by the |
||||
'android' tool to add properties to it. |
||||
This is the place to change some Ant specific build properties. |
||||
Here are some properties you may want to change/update: |
||||
|
||||
source.dir |
||||
The name of the source directory. Default is 'src'. |
||||
out.dir |
||||
The name of the output directory. Default is 'bin'. |
||||
|
||||
For other overridable properties, look at the beginning of the rules |
||||
files in the SDK, at tools/ant/build.xml |
||||
|
||||
Properties related to the SDK location or the project target should |
||||
be updated using the 'android' tool with the 'update' action. |
||||
|
||||
This file is an integral part of the build system for your |
||||
application and should be checked into Version Control Systems. |
||||
|
||||
--> |
||||
<property file="ant.properties" /> |
||||
|
||||
<!-- if sdk.dir was not set from one of the property file, then |
||||
get it from the ANDROID_HOME env var. |
||||
This must be done before we load project.properties since |
||||
the proguard config can use sdk.dir --> |
||||
<property environment="env" /> |
||||
<condition property="sdk.dir" value="${env.ANDROID_HOME}"> |
||||
<isset property="env.ANDROID_HOME" /> |
||||
</condition> |
||||
|
||||
<!-- The project.properties file is created and updated by the 'android' |
||||
tool, as well as ADT. |
||||
|
||||
This contains project specific properties such as project target, and library |
||||
dependencies. Lower level build properties are stored in ant.properties |
||||
(or in .classpath for Eclipse projects). |
||||
|
||||
This file is an integral part of the build system for your |
||||
application and should be checked into Version Control Systems. --> |
||||
<loadproperties srcFile="project.properties" /> |
||||
|
||||
<!-- quick check on sdk.dir --> |
||||
<fail |
||||
message="sdk.dir is missing. Make sure to generate local.properties using 'android update project' or to inject it through the ANDROID_HOME environment variable." |
||||
unless="sdk.dir" |
||||
/> |
||||
|
||||
<!-- |
||||
Import per project custom build rules if present at the root of the project. |
||||
This is the place to put custom intermediary targets such as: |
||||
-pre-build |
||||
-pre-compile |
||||
-post-compile (This is typically used for code obfuscation. |
||||
Compiled code location: ${out.classes.absolute.dir} |
||||
If this is not done in place, override ${out.dex.input.absolute.dir}) |
||||
-post-package |
||||
-post-build |
||||
-pre-clean |
||||
--> |
||||
<import file="custom_rules.xml" optional="true" /> |
||||
|
||||
<!-- Import the actual build file. |
||||
|
||||
To customize existing targets, there are two options: |
||||
- Customize only one target: |
||||
- copy/paste the target into this file, *before* the |
||||
<import> task. |
||||
- customize it to your needs. |
||||
- Customize the whole content of build.xml |
||||
- copy/paste the content of the rules files (minus the top node) |
||||
into this file, replacing the <import> task. |
||||
- customize to your needs. |
||||
|
||||
*********************** |
||||
****** IMPORTANT ****** |
||||
*********************** |
||||
In all cases you must update the value of version-tag below to read 'custom' instead of an integer, |
||||
in order to avoid having your file be overridden by tools such as "android update project" |
||||
--> |
||||
<!-- version-tag: 1 --> |
||||
<import file="${sdk.dir}/tools/ant/build.xml" /> |
||||
|
||||
</project> |
@ -1,20 +0,0 @@ |
||||
# To enable ProGuard in your project, edit project.properties |
||||
# to define the proguard.config property as described in that file. |
||||
# |
||||
# Add project specific ProGuard rules here. |
||||
# By default, the flags in this file are appended to flags specified |
||||
# in ${sdk.dir}/tools/proguard/proguard-android.txt |
||||
# You can edit the include path and order by changing the ProGuard |
||||
# include property in project.properties. |
||||
# |
||||
# For more details, see |
||||
# http://developer.android.com/guide/developing/tools/proguard.html |
||||
|
||||
# Add any project specific keep options here: |
||||
|
||||
# If your project uses WebView with JS, uncomment the following |
||||
# and specify the fully qualified class name to the JavaScript interface |
||||
# class: |
||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview { |
||||
# public *; |
||||
#} |
@ -1,14 +0,0 @@ |
||||
# This file is automatically generated by Android Tools. |
||||
# Do not modify this file -- YOUR CHANGES WILL BE ERASED! |
||||
# |
||||
# This file must be checked in Version Control Systems. |
||||
# |
||||
# To customize properties used by the Ant build system edit |
||||
# "ant.properties", and override values to adapt the script to your |
||||
# project structure. |
||||
# |
||||
# To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home): |
||||
#proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt |
||||
|
||||
# Project target. |
||||
target=android-8 |
Before Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 100 KiB |
Before Width: | Height: | Size: 108 KiB |
Before Width: | Height: | Size: 134 B |
Before Width: | Height: | Size: 124 B |
@ -1,13 +0,0 @@ |
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" |
||||
android:orientation="vertical" |
||||
android:layout_width="fill_parent" |
||||
android:layout_height="fill_parent" |
||||
> |
||||
<TextView |
||||
android:layout_width="fill_parent" |
||||
android:layout_height="wrap_content" |
||||
android:text="Hello World, MainActivity" |
||||
/> |
||||
</LinearLayout> |
||||
|
@ -1,119 +0,0 @@ |
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" |
||||
android:id="@+id/layoutTestChooser" |
||||
android:layout_width="fill_parent" |
||||
android:layout_height="fill_parent" |
||||
android:background="#FFFFFF" |
||||
> |
||||
|
||||
<TextView |
||||
android:id="@+id/lblTitle" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:layout_alignParentLeft="true" |
||||
android:layout_alignParentTop="true" |
||||
android:layout_marginTop="10dp" |
||||
android:layout_marginLeft="10dp" |
||||
android:layout_marginRight="10dp" |
||||
android:text="@string/strLblTitle" |
||||
android:textSize="20sp" |
||||
android:textColor="#000000" |
||||
/> |
||||
|
||||
<LinearLayout |
||||
android:id="@+id/layoutFilter" |
||||
android:layout_width="fill_parent" |
||||
android:layout_height="wrap_content" |
||||
android:layout_below="@id/lblTitle" |
||||
android:layout_marginBottom="10dp" |
||||
android:layout_marginTop="10dp" |
||||
android:layout_marginLeft="10dp" |
||||
android:layout_marginRight="10dp" |
||||
android:orientation="horizontal" |
||||
> |
||||
|
||||
<TextView |
||||
android:id="@+id/lblFindTitle" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="wrap_content" |
||||
android:layout_marginRight="10dp" |
||||
android:text="@string/strLblFindTitle" |
||||
android:textSize="20sp" |
||||
android:textColor="#000000" |
||||
/> |
||||
|
||||
<EditText |
||||
android:id="@+id/txtFilter" |
||||
android:layout_width="fill_parent" |
||||
android:layout_height="wrap_content" |
||||
android:layout_weight="1" |
||||
android:ems="10" |
||||
android:hint="@string/strTxtFilterHint" |
||||
android:inputType="text" |
||||
android:textSize="20sp" |
||||
android:textColor="#000000" |
||||
/> |
||||
|
||||
</LinearLayout> |
||||
|
||||
<LinearLayout |
||||
android:id="@+id/layoutButtons" |
||||
android:layout_width="fill_parent" |
||||
android:layout_height="wrap_content" |
||||
android:layout_alignParentBottom="true" |
||||
android:gravity="center" |
||||
android:layout_marginTop="20dp" |
||||
android:focusable="true" |
||||
android:focusableInTouchMode="true" |
||||
> |
||||
|
||||
<Button |
||||
android:id="@+id/btnOK" |
||||
android:layout_width="100dp" |
||||
android:layout_height="wrap_content" |
||||
android:text="@string/strBtnOK" |
||||
android:layout_marginRight="20dp" |
||||
android:textSize="20sp" |
||||
android:textColor="#000000" |
||||
/> |
||||
|
||||
<Button |
||||
android:id="@+id/btnCancel" |
||||
android:layout_width="100dp" |
||||
android:layout_height="wrap_content" |
||||
android:text="@string/strBtnCancel" |
||||
android:layout_marginLeft="20dp" |
||||
android:textSize="20sp" |
||||
android:textColor="#000000" |
||||
/> |
||||
<requestFocus/> |
||||
|
||||
</LinearLayout> |
||||
|
||||
<LinearLayout |
||||
android:layout_width="fill_parent" |
||||
android:layout_height="wrap_content" |
||||
android:layout_above="@id/layoutButtons" |
||||
android:layout_below="@id/layoutFilter" |
||||
android:gravity="center" |
||||
android:background="@drawable/selected" |
||||
> |
||||
|
||||
<ListView |
||||
android:id="@+id/listClasses" |
||||
android:layout_width="fill_parent" |
||||
android:layout_height="fill_parent" |
||||
android:choiceMode="singleChoice" |
||||
android:listSelector="@drawable/selected" |
||||
android:layout_marginTop="5dp" |
||||
android:layout_marginBottom="5dp" |
||||
android:scrollbars="vertical" |
||||
android:fadeScrollbars="false" |
||||
android:textFilterEnabled="true" |
||||
> |
||||
|
||||
</ListView> |
||||
|
||||
</LinearLayout> |
||||
|
||||
</RelativeLayout> |
@ -1,30 +0,0 @@ |
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<LinearLayout |
||||
xmlns:android="http://schemas.android.com/apk/res/android" |
||||
android:id="@+id/layoutTestChooserRow" |
||||
android:orientation="horizontal" |
||||
android:layout_width="fill_parent" |
||||
android:layout_height="fill_parent" |
||||
android:padding="10dp"> |
||||
|
||||
<!-- |
||||
<ImageView android:id="@+id/imgIcon" |
||||
android:layout_width="wrap_content" |
||||
android:layout_height="fill_parent" |
||||
android:gravity="center_vertical" |
||||
android:layout_marginRight="15dp" |
||||
android:layout_marginTop="5dp" |
||||
android:layout_marginBottom="5dp" /> |
||||
--> |
||||
|
||||
<TextView android:id="@+id/txtClassName" |
||||
android:layout_width="fill_parent" |
||||
android:layout_height="fill_parent" |
||||
android:gravity="center_vertical" |
||||
android:textStyle="bold" |
||||
android:textSize="22sp" |
||||
android:textColor="#000000" |
||||
android:layout_marginTop="5dp" |
||||
android:layout_marginBottom="5dp" /> |
||||
|
||||
</LinearLayout> |
@ -1,9 +0,0 @@ |
||||
<?xml version="1.0" encoding="utf-8"?> |
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"> |
||||
<item |
||||
android:id="@+id/optionEnableMouseEvents" |
||||
android:title="@string/strOptionEnableMouseEventsTitle" |
||||
/> |
||||
<item android:id="@+id/optionEnableJoystickEvents" |
||||
android:title="@string/strOptionEnableJoystickEventsTitle" /> |
||||
</menu> |
@ -1,18 +0,0 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<resources> |
||||
<!-- Main Application Title --> |
||||
<string name="app_name">jMonkeyEngine Test Applications</string> |
||||
|
||||
<!-- MainActivity UIF Labels --> |
||||
<string name="strLblTitle">Choose a demo to start:</string> |
||||
<string name="strLblFindTitle">Find:</string> |
||||
<string name="strTxtFilterHint">Enter a Filter</string> |
||||
<string name="strBtnOK">OK</string> |
||||
<string name="strBtnCancel">Cancel</string> |
||||
|
||||
<!-- MainActivity Menu Labels --> |
||||
<string name="strOptionEnableMouseEventsTitle">Enable Mouse Events</string> |
||||
<string name="strOptionDisableMouseEventsTitle">Disable Mouse Events</string> |
||||
<string name="strOptionEnableJoystickEventsTitle">Enable Joystick Events</string> |
||||
<string name="strOptionDisableJoystickEventsTitle">Disable Joystick Events</string> |
||||
</resources> |
@ -1,169 +0,0 @@ |
||||
/* |
||||
* To change this template, choose Tools | Templates |
||||
* and open the template in the editor. |
||||
*/ |
||||
package com.jmonkeyengine.tests; |
||||
|
||||
import android.content.Context; |
||||
import android.util.Log; |
||||
import android.view.LayoutInflater; |
||||
import android.view.View; |
||||
import android.view.ViewGroup; |
||||
import android.widget.ArrayAdapter; |
||||
import android.widget.Filter; |
||||
import android.widget.LinearLayout; |
||||
import android.widget.TextView; |
||||
import java.util.ArrayList; |
||||
import java.util.List; |
||||
|
||||
public class CustomArrayAdapter extends ArrayAdapter<String> { |
||||
private static final String TAG = "CustomArrayAdapter"; |
||||
|
||||
/* List of items */ |
||||
private List<String> entries; |
||||
private Context activity; |
||||
|
||||
/* Position of selected answer */ |
||||
private int selectedPosition = -1; |
||||
/* Background Color of selected item */ |
||||
private int selectedBackgroundColor = 0xffff00; |
||||
/* Background Color of non selected item */ |
||||
private int nonselectedBackgroundColor = 0x000000; |
||||
/* Background Drawable Resource ID of selected item */ |
||||
private int selectedBackgroundResource = 0; |
||||
/* Background Drawable Resource ID of non selected items */ |
||||
private int nonselectedBackgroundResource = 0; |
||||
|
||||
/* Variables to support list filtering */ |
||||
private ArrayList<String> filteredEntries; |
||||
private Filter filter; |
||||
|
||||
public CustomArrayAdapter(Context context, int textViewResourceId, List<String> objects) { |
||||
super(context, textViewResourceId, objects); |
||||
activity = context; |
||||
entries = new ArrayList<String>(objects); |
||||
filteredEntries = new ArrayList<String>(objects); |
||||
filter = new ClassNameFilter(); |
||||
} |
||||
|
||||
/** Setter for selected item position */ |
||||
public void setSelectedPosition(int selectedPosition) { |
||||
this.selectedPosition = selectedPosition; |
||||
Log.i(TAG, "Setting position to: " + this.selectedPosition); |
||||
} |
||||
|
||||
/** Setter for selected item background color */ |
||||
public void setSelectedBackgroundColor(int selectedBackgroundColor) { |
||||
this.selectedBackgroundColor = selectedBackgroundColor; |
||||
} |
||||
|
||||
/** Setter for non selected background color */ |
||||
public void setNonSelectedBackgroundColor(int nonselectedBackgroundColor) { |
||||
this.nonselectedBackgroundColor = nonselectedBackgroundColor; |
||||
} |
||||
|
||||
/** Setter for selected item background resource id*/ |
||||
public void setSelectedBackgroundResource(int selectedBackgroundResource) { |
||||
this.selectedBackgroundResource = selectedBackgroundResource; |
||||
} |
||||
|
||||
/** Setter for non selected background resource id*/ |
||||
public void setNonSelectedBackgroundResource(int nonselectedBackgroundResource) { |
||||
this.nonselectedBackgroundResource = nonselectedBackgroundResource; |
||||
} |
||||
|
||||
@Override |
||||
public View getView(int position, View convertView, ViewGroup parent) { |
||||
Log.i(TAG, "getView for position: " + position + " with selectedItem: " + selectedPosition); |
||||
|
||||
View v = convertView; |
||||
ViewHolder holder; |
||||
if (v == null) { |
||||
LayoutInflater vi = |
||||
(LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); |
||||
v = vi.inflate(R.layout.test_chooser_row, null); |
||||
holder = new ViewHolder(); |
||||
holder.textView = (TextView) v.findViewById(R.id.txtClassName); |
||||
holder.layoutRow = (LinearLayout) v.findViewById(R.id.layoutTestChooserRow); |
||||
v.setTag(holder); |
||||
} else { |
||||
holder=(ViewHolder)v.getTag(); |
||||
} |
||||
|
||||
final String itemText = filteredEntries.get(position); |
||||
if (itemText != null) { |
||||
holder.textView.setText(itemText); |
||||
if (position == selectedPosition) { |
||||
Log.i(TAG, "setting Background Color to: " + selectedBackgroundColor); |
||||
// holder.textView.setBackgroundColor(selectedBackgroundColor);
|
||||
// holder.textView.setBackgroundResource(selectedBackgroundResource);
|
||||
holder.layoutRow.setBackgroundResource(selectedBackgroundResource); |
||||
} else { |
||||
Log.i(TAG, "setting Background Color to: " + nonselectedBackgroundColor); |
||||
// holder.textView.setBackgroundColor(nonselectedBackgroundColor);
|
||||
// holder.textView.setBackgroundResource(nonselectedBackgroundResource);
|
||||
holder.layoutRow.setBackgroundResource(nonselectedBackgroundResource); |
||||
} |
||||
} |
||||
return v; |
||||
|
||||
} |
||||
|
||||
@Override |
||||
public Filter getFilter(){ |
||||
if(filter == null){ |
||||
filter = new ClassNameFilter(); |
||||
} |
||||
return filter; |
||||
} |
||||
|
||||
public static class ViewHolder{ |
||||
public TextView textView; |
||||
public LinearLayout layoutRow; |
||||
} |
||||
|
||||
private class ClassNameFilter extends Filter{ |
||||
@Override |
||||
protected FilterResults performFiltering(CharSequence constraint){ |
||||
FilterResults results = new FilterResults(); |
||||
String prefix = constraint.toString().toLowerCase(); |
||||
Log.i(TAG, "performFiltering: entries size: " + entries.size()); |
||||
if (prefix == null || prefix.length() == 0){ |
||||
ArrayList<String> list = new ArrayList<String>(entries); |
||||
results.values = list; |
||||
results.count = list.size(); |
||||
Log.i(TAG, "clearing filter with size: " + list.size()); |
||||
}else{ |
||||
final ArrayList<String> list = new ArrayList<String>(entries); |
||||
final ArrayList<String> nlist = new ArrayList<String>(); |
||||
int count = list.size(); |
||||
|
||||
for (int i = 0; i<count; i++){ |
||||
if(list.get(i).toLowerCase().contains(prefix)){ |
||||
nlist.add(list.get(i)); |
||||
} |
||||
results.values = nlist; |
||||
results.count = nlist.size(); |
||||
} |
||||
Log.i(TAG, "filtered list size: " + nlist.size() + ", entries size: " + entries.size()); |
||||
} |
||||
Log.i(TAG, "Returning filter count: " + results.count); |
||||
return results; |
||||
} |
||||
|
||||
@SuppressWarnings("unchecked") |
||||
@Override |
||||
protected void publishResults(CharSequence constraint, FilterResults results) { |
||||
filteredEntries = (ArrayList<String>)results.values; |
||||
notifyDataSetChanged(); |
||||
clear(); |
||||
int count = filteredEntries.size(); |
||||
for(int i = 0; i<count; i++){ |
||||
add(filteredEntries.get(i)); |
||||
notifyDataSetInvalidated(); |
||||
} |
||||
Log.i(TAG, "publishing results with size: " + count); |
||||
} |
||||
} |
||||
|
||||
} |
@ -1,390 +0,0 @@ |
||||
/* |
||||
* To change this template, choose Tools | Templates |
||||
* and open the template in the editor. |
||||
*/ |
||||
package com.jmonkeyengine.tests; |
||||
|
||||
import android.app.Activity; |
||||
import android.content.Intent; |
||||
import android.content.pm.ApplicationInfo; |
||||
import android.os.Bundle; |
||||
import android.text.Editable; |
||||
import android.text.TextWatcher; |
||||
import android.util.Log; |
||||
import android.view.Menu; |
||||
import android.view.MenuInflater; |
||||
import android.view.MenuItem; |
||||
import android.view.View; |
||||
import android.widget.AdapterView; |
||||
import android.widget.AdapterView.OnItemClickListener; |
||||
import android.widget.Button; |
||||
import android.widget.EditText; |
||||
import android.widget.ListView; |
||||
import com.jme3.app.Application; |
||||
import dalvik.system.DexFile; |
||||
import java.io.IOException; |
||||
import java.util.ArrayList; |
||||
import java.util.Enumeration; |
||||
import java.util.List; |
||||
|
||||
//TODO: Create onscreen virtual keypad for triggering normal mapped keys used by test apps or modify test apps for touch with onscreen keypad
|
||||
|
||||
/** |
||||
* Main Activity started by the application. Users select different jME3 test |
||||
* applications that are started via TestsHarness Activity. |
||||
* @author iwgeric |
||||
*/ |
||||
public class MainActivity extends Activity implements OnItemClickListener, View.OnClickListener, TextWatcher { |
||||
private static final String TAG = "MainActivity"; |
||||
|
||||
/** |
||||
* Static String to pass the key for the selected test app to the |
||||
* TestsHarness class to start the application. Also used to store the |
||||
* current selection to the savedInstanceState Bundle. |
||||
*/ |
||||
public static final String SELECTED_APP_CLASS = "Selected_App_Class"; |
||||
|
||||
/** |
||||
* Static String to pass the key for the selected list position to the |
||||
* savedInstanceState Bundle so the list position can be restored after |
||||
* exiting the test application. |
||||
*/ |
||||
public static final String SELECTED_LIST_POSITION = "Selected_List_Position"; |
||||
|
||||
/** |
||||
* Static String to pass the key for the setting for enabling mouse events to the |
||||
* savedInstanceState Bundle. |
||||
*/ |
||||
public static final String ENABLE_MOUSE_EVENTS = "Enable_Mouse_Events"; |
||||
|
||||
/** |
||||
* Static String to pass the key for the setting for enabling joystick events to the |
||||
* savedInstanceState Bundle. |
||||
*/ |
||||
public static final String ENABLE_JOYSTICK_EVENTS = "Enable_Joystick_Events"; |
||||
|
||||
/* Fields to contain the current position and display contents of the spinner */ |
||||
private int currentPosition = 0; |
||||
private String currentSelection = ""; |
||||
private List<String> classNames = new ArrayList<String>(); |
||||
private List<String> exclusions = new ArrayList<String>(); |
||||
private String rootPackage; |
||||
|
||||
/* ListView that displays the test application class names. */ |
||||
private ListView listClasses; |
||||
|
||||
/* ArrayAdapter connects the spinner widget to array-based data. */ |
||||
private CustomArrayAdapter arrayAdapter; |
||||
|
||||
/* Buttons to start application or stop the activity. */ |
||||
private Button btnOK; |
||||
private Button btnCancel; |
||||
|
||||
/* Filter Edit Box */ |
||||
EditText editFilterText; |
||||
|
||||
/* Custom settings for the test app */ |
||||
private boolean enableMouseEvents = true; |
||||
private boolean enableJoystickEvents = false; |
||||
|
||||
|
||||
/** |
||||
* Called when the activity is first created. |
||||
*/ |
||||
@Override |
||||
public void onCreate(Bundle savedInstanceState) { |
||||
super.onCreate(savedInstanceState); |
||||
|
||||
if (savedInstanceState != null) { |
||||
Log.i(TAG, "Restoring selections in onCreate: " |
||||
+ "position: " + savedInstanceState.getInt(SELECTED_LIST_POSITION, 0) |
||||
+ "class: " + savedInstanceState.getString(SELECTED_APP_CLASS) |
||||
); |
||||
currentPosition = savedInstanceState.getInt(SELECTED_LIST_POSITION, 0); |
||||
currentSelection = savedInstanceState.getString(SELECTED_APP_CLASS); |
||||
enableMouseEvents = savedInstanceState.getBoolean(ENABLE_MOUSE_EVENTS, true); |
||||
enableJoystickEvents = savedInstanceState.getBoolean(ENABLE_JOYSTICK_EVENTS, false); |
||||
} |
||||
|
||||
|
||||
/* Set content view and register views */ |
||||
setContentView(R.layout.test_chooser_layout); |
||||
btnOK = (Button) findViewById(R.id.btnOK); |
||||
btnCancel = (Button) findViewById(R.id.btnCancel); |
||||
listClasses = (ListView) findViewById(R.id.listClasses); |
||||
editFilterText = (EditText) findViewById(R.id.txtFilter); |
||||
|
||||
|
||||
/* Define the root package to start with */ |
||||
rootPackage = "jme3test"; |
||||
|
||||
/* Create an array of Strings to define which classes to exclude */ |
||||
exclusions.add("$"); // inner classes
|
||||
exclusions.add("TestChooser"); // Desktop test chooser class
|
||||
exclusions.add("awt"); // Desktop test chooser class
|
||||
|
||||
// mExclusions.add("");
|
||||
|
||||
/* |
||||
* Read the class names from the dex file and filter based on |
||||
* name and super class. |
||||
*/ |
||||
|
||||
Log.i(TAG, "Composing Test list..."); |
||||
|
||||
ApplicationInfo ai = this.getApplicationInfo(); |
||||
String classPath = ai.sourceDir; |
||||
DexFile dex = null; |
||||
Enumeration<String> apkClassNames = null; |
||||
try { |
||||
dex = new DexFile(classPath); |
||||
apkClassNames = dex.entries(); |
||||
while (apkClassNames.hasMoreElements()) { |
||||
String className = apkClassNames.nextElement(); |
||||
if (checkClassName(className) && checkClassType(className)) { |
||||
classNames.add(className); |
||||
} |
||||
// classNames.add(className);
|
||||
} |
||||
} catch (IOException e) { |
||||
e.printStackTrace(); |
||||
} finally { |
||||
try { |
||||
dex.close(); |
||||
} catch (IOException e) { |
||||
e.printStackTrace(); |
||||
} |
||||
} |
||||
|
||||
/* |
||||
* Create a backing Adapter for the List View from a list of the |
||||
* classes. The list is defined by array of class names. |
||||
*/ |
||||
arrayAdapter = new CustomArrayAdapter( |
||||
this, |
||||
R.layout.test_chooser_row, // text view to display selection
|
||||
classNames // array of strings to display
|
||||
); |
||||
|
||||
/* Set the resource id for selected and non selected backgrounds */ |
||||
Log.i(TAG, "Setting Adapter Background Resource IDs"); |
||||
arrayAdapter.setSelectedBackgroundResource(R.drawable.selected); |
||||
arrayAdapter.setNonSelectedBackgroundResource(R.drawable.nonselected); |
||||
|
||||
/* Attach the Adapter to the spinner */ |
||||
Log.i(TAG, "Setting ListView Adapter"); |
||||
listClasses.setAdapter(arrayAdapter); |
||||
|
||||
/* Set initial selection for the list */ |
||||
setSelection(currentPosition); |
||||
|
||||
/* Set Click and Text Changed listeners */ |
||||
listClasses.setOnItemClickListener(this); |
||||
btnOK.setOnClickListener(this); |
||||
btnCancel.setOnClickListener(this); |
||||
editFilterText.addTextChangedListener(this); |
||||
|
||||
} |
||||
|
||||
/** |
||||
* User selected an application. Sets the current selection and redraws |
||||
* the list view to highlight the selected item. |
||||
* @param parent AdapterView tied to the list |
||||
* @param view The ListView |
||||
* @param position Selection position in the list of class names |
||||
* @param id |
||||
*/ |
||||
@Override |
||||
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { |
||||
setSelection(position); |
||||
} |
||||
|
||||
/** |
||||
* User clicked a view on the screen. Check for the OK and Cancel buttons |
||||
* and either start the applicaiton or exit. |
||||
* @param view |
||||
*/ |
||||
public void onClick(View view) { |
||||
if (view.equals(btnOK)) { |
||||
/* Get selected class, pack it in the intent and start the test app */ |
||||
Log.i(TAG, "User selected OK for class: " + currentSelection); |
||||
Intent intent = new Intent(this, TestsHarness.class); |
||||
intent.putExtra(SELECTED_APP_CLASS, currentSelection); |
||||
intent.putExtra(ENABLE_MOUSE_EVENTS, enableMouseEvents); |
||||
intent.putExtra(ENABLE_JOYSTICK_EVENTS, enableJoystickEvents); |
||||
startActivity(intent); |
||||
} else if (view.equals(btnCancel)) { |
||||
/* Exit */ |
||||
Log.i(TAG, "User selected Cancel"); |
||||
finish(); |
||||
} |
||||
} |
||||
|
||||
/** |
||||
* Check class name to see if the class is in the root package and if it |
||||
* contains any of the exclusion strings |
||||
* @param className Class name to check |
||||
* @return true if the check passes, false otherwise |
||||
*/ |
||||
private boolean checkClassName(String className) { |
||||
boolean include = true; |
||||
/* check to see if the class in inside the rootPackage package */ |
||||
if (className.startsWith(rootPackage)) { |
||||
/* check to see if the class contains any of the exlusion strings */ |
||||
for (int i = 0; i < exclusions.size(); i++) { |
||||
if (className.contains(exclusions.get(i))) { |
||||
Log.i(TAG, "Skipping Class " + className + ". Includes exclusion string: " + exclusions.get(i) + "."); |
||||
include = false; |
||||
break; |
||||
} |
||||
} |
||||
} else { |
||||
include = false; |
||||
Log.i(TAG, "Skipping Class " + className + ". Not in the root package: " + rootPackage + "."); |
||||
} |
||||
return include; |
||||
} |
||||
|
||||
/** |
||||
* Check to see if the class extends Application or SimpleApplication |
||||
* @param className Class name to check |
||||
* @return true if the check passes, false otherwise |
||||
*/ |
||||
private boolean checkClassType(String className) { |
||||
boolean include = true; |
||||
try { |
||||
Class<?> clazz = (Class<?>)Class.forName(className); |
||||
if (Application.class.isAssignableFrom(clazz)) { |
||||
Log.i(TAG, "Class " + className + " is a jME Application"); |
||||
} else { |
||||
include = false; |
||||
Log.i(TAG, "Skipping Class " + className + ". Not a jME Application"); |
||||
} |
||||
|
||||
} catch (ClassNotFoundException cnfe) { |
||||
include = false; |
||||
Log.i(TAG, "Skipping Class " + className + ". Class not found."); |
||||
} |
||||
return include; |
||||
} |
||||
|
||||
private void setSelection(int position) { |
||||
if (position == -1) { |
||||
arrayAdapter.setSelectedPosition(-1); |
||||
currentPosition = -1; |
||||
currentSelection = ""; |
||||
btnOK.setEnabled(false); |
||||
listClasses.invalidateViews(); |
||||
} else { |
||||
arrayAdapter.setSelectedPosition(position); |
||||
currentPosition = position; |
||||
currentSelection = arrayAdapter.getItem(position); |
||||
btnOK.setEnabled(true); |
||||
listClasses.invalidateViews(); |
||||
} |
||||
} |
||||
|
||||
@Override |
||||
public void onSaveInstanceState(Bundle savedInstanceState) { |
||||
super.onSaveInstanceState(savedInstanceState); |
||||
Log.i(TAG, "Saving selections in onSaveInstanceState: " |
||||
+ "position: " + currentPosition + ", " |
||||
+ "class: " + currentSelection + ", " |
||||
+ "mouseEvents: " + enableMouseEvents + ", " |
||||
+ "joystickEvents: " + enableJoystickEvents + ", " |
||||
); |
||||
// Save current selections to the savedInstanceState.
|
||||
// This bundle will be passed to onCreate if the process is
|
||||
// killed and restarted.
|
||||
savedInstanceState.putString(SELECTED_APP_CLASS, currentSelection); |
||||
savedInstanceState.putInt(SELECTED_LIST_POSITION, currentPosition); |
||||
savedInstanceState.putBoolean(ENABLE_MOUSE_EVENTS, enableMouseEvents); |
||||
savedInstanceState.putBoolean(ENABLE_JOYSTICK_EVENTS, enableJoystickEvents); |
||||
} |
||||
|
||||
@Override |
||||
public void onRestoreInstanceState(Bundle savedInstanceState) { |
||||
super.onRestoreInstanceState(savedInstanceState); |
||||
// Log.i(TAG, "Restoring selections in onRestoreInstanceState: "
|
||||
// + "position: " + savedInstanceState.getInt(SELECTED_LIST_POSITION, 0)
|
||||
// + "class: " + savedInstanceState.getString(SELECTED_APP_CLASS)
|
||||
// );
|
||||
// //Restore selections from the savedInstanceState.
|
||||
// // This bundle has also been passed to onCreate.
|
||||
// currentPosition = savedInstanceState.getInt(SELECTED_LIST_POSITION, 0);
|
||||
// currentSelection = savedInstanceState.getString(SELECTED_APP_CLASS);
|
||||
} |
||||
|
||||
public void beforeTextChanged(CharSequence cs, int i, int i1, int i2) { |
||||
} |
||||
|
||||
public void onTextChanged(CharSequence cs, int startPos, int beforePos, int count) { |
||||
Log.i(TAG, "onTextChanged with cs: " + cs + ", startPos: " + startPos + ", beforePos: " + beforePos + ", count: " + count); |
||||
arrayAdapter.getFilter().filter(cs.toString()); |
||||
setSelection(-1); |
||||
} |
||||
|
||||
public void afterTextChanged(Editable edtbl) { |
||||
} |
||||
|
||||
@Override |
||||
protected void onDestroy() { |
||||
super.onDestroy(); |
||||
editFilterText.removeTextChangedListener(this); |
||||
} |
||||
|
||||
@Override |
||||
public boolean onCreateOptionsMenu(Menu menu) { |
||||
MenuInflater inflater = getMenuInflater(); |
||||
inflater.inflate(R.menu.optionsmenu, menu); |
||||
|
||||
return true; |
||||
} |
||||
|
||||
@Override |
||||
public boolean onPrepareOptionsMenu (Menu menu) { |
||||
MenuItem item; |
||||
|
||||
item = menu.findItem(R.id.optionEnableMouseEvents); |
||||
if (item != null) { |
||||
Log.i(TAG, "Found EnableMouseEvents menu item"); |
||||
if (enableMouseEvents) { |
||||
item.setTitle(R.string.strOptionDisableMouseEventsTitle); |
||||
} else { |
||||
item.setTitle(R.string.strOptionEnableMouseEventsTitle); |
||||
} |
||||
} |
||||
|
||||
item = menu.findItem(R.id.optionEnableJoystickEvents); |
||||
if (item != null) { |
||||
Log.i(TAG, "Found EnableJoystickEvents menu item"); |
||||
if (enableJoystickEvents) { |
||||
item.setTitle(R.string.strOptionDisableJoystickEventsTitle); |
||||
} else { |
||||
item.setTitle(R.string.strOptionEnableJoystickEventsTitle); |
||||
} |
||||
} |
||||
|
||||
return true; |
||||
} |
||||
|
||||
@Override |
||||
public boolean onOptionsItemSelected(MenuItem item) { |
||||
switch (item.getItemId()) { |
||||
case R.id.optionEnableMouseEvents: |
||||
enableMouseEvents = !enableMouseEvents; |
||||
Log.i(TAG, "enableMouseEvents set to: " + enableMouseEvents); |
||||
break; |
||||
case R.id.optionEnableJoystickEvents: |
||||
enableJoystickEvents = !enableJoystickEvents; |
||||
Log.i(TAG, "enableJoystickEvents set to: " + enableJoystickEvents); |
||||
break; |
||||
default: |
||||
return super.onOptionsItemSelected(item); |
||||
} |
||||
|
||||
return true; |
||||
|
||||
} |
||||
|
||||
} |
@ -1,57 +0,0 @@ |
||||
package com.jmonkeyengine.tests; |
||||
|
||||
import android.content.Intent; |
||||
import com.jme3.app.AndroidHarness; |
||||
import android.content.pm.ActivityInfo; |
||||
import android.os.Bundle; |
||||
import com.jme3.system.android.AndroidConfigChooser.ConfigType; |
||||
|
||||
public class TestsHarness extends AndroidHarness{ |
||||
|
||||
/* |
||||
* Note that you can ignore the errors displayed in this file, |
||||
* the android project will build regardless. |
||||
* Install the 'Android' plugin under Tools->Plugins->Available Plugins |
||||
* to get error checks and code completion for the Android project files. |
||||
*/ |
||||
|
||||
public TestsHarness(){ |
||||
// Set the application class to run
|
||||
appClass = "mygame.Main"; |
||||
// Try ConfigType.FASTEST; or ConfigType.LEGACY if you have problems
|
||||
eglConfigType = ConfigType.BEST; |
||||
// Exit Dialog title & message
|
||||
exitDialogTitle = "Exit?"; |
||||
exitDialogMessage = "Press Yes"; |
||||
// Enable verbose logging
|
||||
eglConfigVerboseLogging = false; |
||||
// Choose screen orientation
|
||||
// This test project also set the Activity to Landscape in the AndroidManifest.xml
|
||||
// If you modify this, also modify AndroidManifest.xml
|
||||
screenOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE; |
||||
// Invert the MouseEvents X (default = true)
|
||||
mouseEventsInvertX = true; |
||||
// Invert the MouseEvents Y (default = true)
|
||||
mouseEventsInvertY = true; |
||||
// Add splash screen drawable resource
|
||||
splashPicID = R.drawable.monkey256_9; |
||||
// Simulate a joystick with Android device orientation data (default = false)
|
||||
joystickEventsEnabled = false; |
||||
// Simulate mouse events with Android touch input (default = true)
|
||||
mouseEventsEnabled = true; |
||||
mouseEventsInvertX = false; |
||||
mouseEventsInvertY = false; |
||||
|
||||
} |
||||
|
||||
@Override |
||||
public void onCreate(Bundle savedInstanceState) { |
||||
Intent intent = getIntent(); |
||||
appClass = intent.getStringExtra(MainActivity.SELECTED_APP_CLASS); |
||||
mouseEventsEnabled = intent.getBooleanExtra(MainActivity.ENABLE_MOUSE_EVENTS, mouseEventsEnabled); |
||||
joystickEventsEnabled = intent.getBooleanExtra(MainActivity.ENABLE_JOYSTICK_EVENTS, joystickEventsEnabled); |
||||
|
||||
super.onCreate(savedInstanceState); |
||||
} |
||||
|
||||
} |
@ -1,15 +0,0 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!--assets-impl.xml v1.0--> |
||||
<project name="assets-impl" basedir=".."> |
||||
<target name="-init-assets"> |
||||
<jar jarfile="${build.dir}/${assets.jar.name}" excludes="${assets.excludes}" basedir="${assets.folder.name}" compress="${assets.compress}"/> |
||||
<property location="${assets.folder.name}" name="assets.dir.resolved"/> |
||||
<property location="${build.dir}/${assets.jar.name}" name="assets.jar.resolved"/> |
||||
<property location="${build.classes.dir}" name="build.classes.dir.resolved"/> |
||||
<pathconvert property="run.classpath.without.build.classes.dir"> |
||||
<path path="${run.classpath}"/> |
||||
<map from="${build.classes.dir.resolved}" to=""/> |
||||
<map from="${assets.dir.resolved}" to="${assets.jar.resolved}"/> |
||||
</pathconvert> |
||||
</target> |
||||
</project> |
@ -1,4 +0,0 @@ |
||||
$label=Android Device |
||||
$target.clean=clean clean-android |
||||
$target.debug=run-android |
||||
$target.run=run-android |
@ -1,8 +0,0 @@ |
||||
build.xml.data.CRC32=94bf7c61 |
||||
build.xml.script.CRC32=79a29eb7 |
||||
build.xml.stylesheet.CRC32=958a1d3e@1.32.1.45 |
||||
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. |
||||
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. |
||||
nbproject/build-impl.xml.data.CRC32=e2c7a974 |
||||
nbproject/build-impl.xml.script.CRC32=0bb68565 |
||||
nbproject/build-impl.xml.stylesheet.CRC32=6ddba6b6@1.53.1.46 |
@ -1,132 +0,0 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!--mobile-impl.xml v0.18--> |
||||
<project name="mobile-impl" basedir=".."> |
||||
<condition property="android-adb-name" value="${file.separator}platform-tools${file.separator}adb.exe" else="${file.separator}platform-tools${file.separator}adb"> |
||||
<os family="windows" /> |
||||
</condition> |
||||
|
||||
<target name="run-android" depends="-flag-no-android, jar, -test-android-enabled, -copy-android-libs" if="is.android.enabled"> |
||||
<echo>Building debug android application version.</echo> |
||||
<ant dir="mobile" target="debug" inheritall="false"/> |
||||
<antcall target="-start-android-device"/> |
||||
<ant dir="mobile" target="installd" inheritall="false"/> |
||||
<antcall target="-run-android-device"/> |
||||
</target> |
||||
|
||||
<target name="clean-android"> |
||||
<ant dir="mobile" target="clean" inheritall="false"/> |
||||
</target> |
||||
|
||||
<target name="-mobile-deployment" depends="-test-android-enabled, -copy-android-libs" if="is.android.enabled" unless="no.android.build"> |
||||
<ant dir="mobile" target="release" inheritall="false"/> |
||||
<copy todir="dist" verbose="false" flatten="true"> |
||||
<fileset dir="mobile/bin/"> |
||||
<include name="**/*.apk"/> |
||||
</fileset> |
||||
</copy> |
||||
</target> |
||||
|
||||
<target name="-copy-android-libs" if="is.android.enabled"> |
||||
<echo>Copying application libraries to android project.</echo> |
||||
<delete dir="mobile/libs" failonerror="false"/> |
||||
<mkdir dir="mobile/libs"/> |
||||
<copy todir="mobile/libs" verbose="false" flatten="true"> |
||||
<fileset dir="dist/lib/"> |
||||
<exclude name="${assets.jar.name}"/> |
||||
<exclude name="jME3-desktop.jar"/> |
||||
<exclude name="jME3-blender.jar"/> |
||||
<exclude name="jME3-lwjgl.jar"/> |
||||
<exclude name="jME3-lwjgl-natives.jar"/> |
||||
<exclude name="jME3-bullet-natives.jar"/> |
||||
<exclude name="jME3-jbullet.jar"/> |
||||
<exclude name="jME3-bullet.jar"/> |
||||
<exclude name="jbullet.jar"/> |
||||
<exclude name="stack-alloc.jar"/> |
||||
<exclude name="vecmath.jar"/> |
||||
<exclude name="lwjgl.jar"/> |
||||
<exclude name="jinput.jar"/> |
||||
</fileset> |
||||
</copy> |
||||
|
||||
<antcall target="-add-android-lib"/> |
||||
<antcall target="-unzip-bullet-libs"/> |
||||
<antcall target="-unzip-assets"/> |
||||
<copy file="${dist.jar}" todir="mobile/libs/" verbose="false"/> |
||||
</target> |
||||
|
||||
<target name="-add-android-lib"> |
||||
<echo>Adding libraries for android.</echo> |
||||
<copy todir="mobile/libs" flatten="true"> |
||||
<path> |
||||
<pathelement path="${libs.android-base.classpath}"/> |
||||
</path> |
||||
</copy> |
||||
</target> |
||||
|
||||
<target name="-unzip-bullet-libs" depends="-delete-bullet-libs" if="bulletIsIncluded"> |
||||
<echo>Replacing bullet library with android native version.</echo> |
||||
<unzip src="mobile/libs/jME3-bullet-natives-android.jar" dest="mobile/libs"/> |
||||
<delete file="mobile/libs/jME3-bullet-natives-android.jar"/> |
||||
<delete dir="mobile/libs/x86"/> |
||||
</target> |
||||
|
||||
<target name="-delete-bullet-libs" depends="-test-bullet-included" unless="bulletIsIncluded"> |
||||
<delete file="mobile/libs/jME3-bullet.jar"/> |
||||
<delete file="mobile/libs/jME3-bullet-natives-android.jar"/> |
||||
</target> |
||||
|
||||
<target name="-unzip-assets"> |
||||
<echo>Unzipping Assets to Android Directories</echo> |
||||
<delete dir="mobile/assets" failonerror="false"/> |
||||
<mkdir dir="mobile/assets"/> |
||||
<unzip src="dist/lib/${assets.jar.name}" dest="mobile/assets"/> |
||||
<delete file="mobile/libs/${assets.jar.name}" failonerror="true"/> |
||||
</target> |
||||
|
||||
<target name="-test-bullet-included"> |
||||
<condition property="bulletIsIncluded"> |
||||
<contains string="${javac.classpath}" substring="bullet.jar"/> |
||||
</condition> |
||||
</target> |
||||
|
||||
<target name="-start-android-device"> |
||||
<property file="mobile/local.properties"/> |
||||
<exec executable="${sdk.dir}${android-adb-name}" failonerror="true"> |
||||
<arg value="start-server"/> |
||||
</exec> |
||||
<echo>Waiting for device to be ready.. Connect your device now if its not connected yet.</echo> |
||||
<exec executable="${sdk.dir}${android-adb-name}" failonerror="true"> |
||||
<arg value="wait-for-device"/> |
||||
</exec> |
||||
</target> |
||||
|
||||
<target name="-run-android-device"> |
||||
<property file="mobile/local.properties"/> |
||||
<exec executable="${sdk.dir}${android-adb-name}" failonerror="true"> |
||||
<arg value="logcat"/> |
||||
<arg value="-c"/> |
||||
</exec> |
||||
<exec executable="${sdk.dir}${android-adb-name}" failonerror="true"> |
||||
<arg value="shell"/> |
||||
<arg value="am start -n ${mobile.android.package}/.MainActivity"/> |
||||
</exec> |
||||
<echo>Logging android device output, cancel build or disconnect device to stop logging.</echo> |
||||
<exec executable="${sdk.dir}${android-adb-name}" failonerror="true"> |
||||
<arg value="logcat"/> |
||||
<arg value="AndroidRuntime:E"/> |
||||
<arg value="System.out:I"/> |
||||
<arg value="System.err:W"/> |
||||
<arg value="NSLog:*"/> |
||||
</exec> |
||||
</target> |
||||
|
||||
<target name="-test-android-enabled"> |
||||
<condition property="is.android.enabled"> |
||||
<istrue value="${mobile.android.enabled}"/> |
||||
</condition> |
||||
</target> |
||||
|
||||
<target name="-flag-no-android"> |
||||
<property name="no.android.build" value="true"/> |
||||
</target> |
||||
</project> |
@ -1,99 +0,0 @@ |
||||
annotation.processing.enabled=true |
||||
annotation.processing.enabled.in.editor=false |
||||
annotation.processing.processors.list= |
||||
annotation.processing.run.all.processors=true |
||||
ant.customtasks.libs=android-base |
||||
application.homepage=http://jmonkeyenging.org |
||||
application.title=jMonkeyEngine Test Applications |
||||
application.vendor=jMonkeyEngine |
||||
assets.jar.name=assets.jar |
||||
assets.excludes=**/*.j3odata,**/*.mesh.xml,**/*.skeleton.xml,**/*.scene,**/*.material,**/*.obj,**/*.mtl,**/*.blend |
||||
assets.folder.name=assets |
||||
assets.compress=true |
||||
build.classes.dir=${build.dir}/classes |
||||
build.classes.excludes=**/*.java,**/*.form |
||||
# This directory is removed when the project is cleaned: |
||||
build.dir=build |
||||
build.generated.dir=${build.dir}/generated |
||||
build.generated.sources.dir=${build.dir}/generated-sources |
||||
# Only compile against the classpath explicitly listed here: |
||||
build.sysclasspath=ignore |
||||
build.test.classes.dir=${build.dir}/test/classes |
||||
build.test.results.dir=${build.dir}/test/results |
||||
compile.on.save=false |
||||
# Uncomment to specify the preferred debugger connection transport: |
||||
#debug.transport=dt_socket |
||||
debug.classpath=\ |
||||
${run.classpath} |
||||
debug.test.classpath=\ |
||||
${run.test.classpath} |
||||
# This directory is removed when the project is cleaned: |
||||
dist.dir=dist |
||||
dist.jar=${dist.dir}/${application.title}.jar |
||||
dist.javadoc.dir=${dist.dir}/javadoc |
||||
endorsed.classpath= |
||||
excludes= |
||||
includes=** |
||||
jar.archive.disabled=${jnlp.enabled} |
||||
jar.compress=false |
||||
jar.index=${jnlp.enabled} |
||||
javac.classpath=\ |
||||
${libs.jme3.classpath}:\ |
||||
${libs.jme3-libraries.classpath}:\ |
||||
${libs.jme3-libraries-blender.classpath}:\ |
||||
${libs.jme3-test-data.classpath} |
||||
# Space-separated list of extra javac options |
||||
javac.compilerargs= |
||||
javac.deprecation=false |
||||
javac.processorpath=\ |
||||
${javac.classpath} |
||||
javac.source=1.6 |
||||
javac.target=1.6 |
||||
javac.test.classpath=\ |
||||
${javac.classpath}:\ |
||||
${build.classes.dir} |
||||
javadoc.additionalparam= |
||||
javadoc.author=false |
||||
javadoc.encoding=${source.encoding} |
||||
javadoc.noindex=false |
||||
javadoc.nonavbar=false |
||||
javadoc.notree=false |
||||
javadoc.private=false |
||||
javadoc.splitindex=true |
||||
javadoc.use=true |
||||
javadoc.version=false |
||||
javadoc.windowtitle= |
||||
jaxbwiz.endorsed.dirs="${netbeans.home}/../ide12/modules/ext/jaxb/api" |
||||
jnlp.applet.class=jme3test.awt.AppHarness |
||||
jnlp.applet.height=300 |
||||
jnlp.applet.width=300 |
||||
jnlp.codebase.type=local |
||||
jnlp.descriptor=application |
||||
jnlp.enabled=false |
||||
jnlp.mixed.code=default |
||||
jnlp.offline-allowed=false |
||||
jnlp.signed=false |
||||
jnlp.signing= |
||||
jnlp.signing.alias= |
||||
jnlp.signing.keystore= |
||||
main.class=jme3test.TestChooser |
||||
meta.inf.dir=${src.dir}/META-INF |
||||
manifest.file=MANIFEST.MF |
||||
mkdist.disabled=false |
||||
mobile.android.enabled=true |
||||
mobile.android.package=com.jmonkeyengine.tests |
||||
mobile.android.target=android-8 |
||||
platform.active=default_platform |
||||
run.classpath=\ |
||||
${javac.classpath}:\ |
||||
${build.classes.dir}:\ |
||||
${assets.folder.name} |
||||
# Space-separated list of JVM arguments used when running the project |
||||
# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value |
||||
# or test-sys-prop.name=value to set system properties for unit tests): |
||||
run.jvmargs= |
||||
run.test.classpath=\ |
||||
${javac.test.classpath}:\ |
||||
${build.test.classes.dir} |
||||
source.encoding=UTF-8 |
||||
src.dir=src |
@ -1,21 +0,0 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project xmlns="http://www.netbeans.org/ns/project/1"> |
||||
<type>org.netbeans.modules.java.j2seproject</type> |
||||
<configuration> |
||||
<buildExtensions xmlns="http://www.netbeans.org/ns/ant-build-extender/1"> |
||||
<extension file="assets-impl.xml" id="assets"> |
||||
<dependency dependsOn="-init-assets" target="-do-init"/> |
||||
</extension> |
||||
<extension file="mobile-impl.xml" id="mobile"> |
||||
<dependency dependsOn="-mobile-deployment" target="jar"/> |
||||
</extension> |
||||
</buildExtensions> |
||||
<data xmlns="http://www.netbeans.org/ns/j2se-project/3"> |
||||
<name>jME3TestsTemplateAndroid</name> |
||||
<source-roots> |
||||
<root id="src.dir"/> |
||||
</source-roots> |
||||
<test-roots/> |
||||
</data> |
||||
</configuration> |
||||
</project> |
@ -1,77 +0,0 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!-- You may freely edit this file. See commented blocks below for --> |
||||
<!-- some examples of how to customize the build. --> |
||||
<!-- (If you delete it and reopen the project it will be recreated.) --> |
||||
<!-- By default, only the Clean and Build commands use this build script. --> |
||||
<!-- Commands such as Run, Debug, and Test only use this build script if --> |
||||
<!-- the Compile on Save feature is turned off for the project. --> |
||||
<!-- You can turn off the Compile on Save (or Deploy on Save) setting --> |
||||
<!-- in the project's Project Properties dialog box.--> |
||||
<project name="LoadImagesAntTask" default="default" basedir="."> |
||||
<description>Builds, tests, and runs the project LoadImagesAntTask.</description> |
||||
<import file="nbproject/build-impl.xml"/> |
||||
<target name="-post-jar"> |
||||
<copy file="${dist.jar}" todir="../ant-lib" overwrite="true"/> |
||||
</target> |
||||
<!-- |
||||
|
||||
There exist several targets which are by default empty and which can be |
||||
used for execution of your tasks. These targets are usually executed |
||||
before and after some main targets. They are: |
||||
|
||||
-pre-init: called before initialization of project properties |
||||
-post-init: called after initialization of project properties |
||||
-pre-compile: called before javac compilation |
||||
-post-compile: called after javac compilation |
||||
-pre-compile-single: called before javac compilation of single file |
||||
-post-compile-single: called after javac compilation of single file |
||||
-pre-compile-test: called before javac compilation of JUnit tests |
||||
-post-compile-test: called after javac compilation of JUnit tests |
||||
-pre-compile-test-single: called before javac compilation of single JUnit test |
||||
-post-compile-test-single: called after javac compilation of single JUunit test |
||||
-pre-jar: called before JAR building |
||||
-post-jar: called after JAR building |
||||
-post-clean: called after cleaning build products |
||||
|
||||
(Targets beginning with '-' are not intended to be called on their own.) |
||||
|
||||
Example of inserting an obfuscator after compilation could look like this: |
||||
|
||||
<target name="-post-compile"> |
||||
<obfuscate> |
||||
<fileset dir="${build.classes.dir}"/> |
||||
</obfuscate> |
||||
</target> |
||||
|
||||
For list of available properties check the imported |
||||
nbproject/build-impl.xml file. |
||||
|
||||
|
||||
Another way to customize the build is by overriding existing main targets. |
||||
The targets of interest are: |
||||
|
||||
-init-macrodef-javac: defines macro for javac compilation |
||||
-init-macrodef-junit: defines macro for junit execution |
||||
-init-macrodef-debug: defines macro for class debugging |
||||
-init-macrodef-java: defines macro for class execution |
||||
-do-jar-with-manifest: JAR building (if you are using a manifest) |
||||
-do-jar-without-manifest: JAR building (if you are not using a manifest) |
||||
run: execution of project |
||||
-javadoc-build: Javadoc generation |
||||
test-report: JUnit report generation |
||||
|
||||
An example of overriding the target for project execution could look like this: |
||||
|
||||
<target name="run" depends="LoadImagesAntTask-impl.jar"> |
||||
<exec dir="bin" executable="launcher.exe"> |
||||
<arg file="${dist.jar}"/> |
||||
</exec> |
||||
</target> |
||||
|
||||
Notice that the overridden target depends on the jar target and not only on |
||||
the compile target as the regular run target does. Again, for a list of available |
||||
properties which you can use, check the target you are overriding in the |
||||
nbproject/build-impl.xml file. |
||||
|
||||
--> |
||||
</project> |
@ -1,6 +0,0 @@ |
||||
libs.ANT.classpath=\ |
||||
${base}/ANT/ant.jar |
||||
libs.CopyLibs.classpath=\ |
||||
${base}/CopyLibs/org-netbeans-modules-java-j2seproject-copylibstask.jar |
||||
libs.CopyLibs.displayName=CopyLibs Task |
||||
libs.CopyLibs.prop-version=2.0 |
@ -1,8 +0,0 @@ |
||||
build.xml.data.CRC32=7f939454 |
||||
build.xml.script.CRC32=9384ed68 |
||||
build.xml.stylesheet.CRC32=28e38971@1.38.2.45 |
||||
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. |
||||
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. |
||||
nbproject/build-impl.xml.data.CRC32=dd1578ef |
||||
nbproject/build-impl.xml.script.CRC32=f481ade2 |
||||
nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 |
@ -1,71 +0,0 @@ |
||||
annotation.processing.enabled=true |
||||
annotation.processing.enabled.in.editor=false |
||||
annotation.processing.processors.list= |
||||
annotation.processing.run.all.processors=true |
||||
annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output |
||||
application.title=ant-jme |
||||
application.vendor=normenhansen |
||||
build.classes.dir=${build.dir}/classes |
||||
build.classes.excludes=**/*.java,**/*.form |
||||
# This directory is removed when the project is cleaned: |
||||
build.dir=build |
||||
build.generated.dir=${build.dir}/generated |
||||
build.generated.sources.dir=${build.dir}/generated-sources |
||||
# Only compile against the classpath explicitly listed here: |
||||
build.sysclasspath=ignore |
||||
build.test.classes.dir=${build.dir}/test/classes |
||||
build.test.results.dir=${build.dir}/test/results |
||||
# Uncomment to specify the preferred debugger connection transport: |
||||
#debug.transport=dt_socket |
||||
debug.classpath=\ |
||||
${run.classpath} |
||||
debug.test.classpath=\ |
||||
${run.test.classpath} |
||||
# This directory is removed when the project is cleaned: |
||||
dist.dir=dist |
||||
dist.jar=${dist.dir}/ant-jme.jar |
||||
dist.javadoc.dir=${dist.dir}/javadoc |
||||
endorsed.classpath= |
||||
excludes= |
||||
includes=** |
||||
jar.compress=false |
||||
javac.classpath=\ |
||||
${libs.ANT.classpath} |
||||
# Space-separated list of extra javac options |
||||
javac.compilerargs= |
||||
javac.deprecation=false |
||||
javac.processorpath=\ |
||||
${javac.classpath} |
||||
javac.source=1.6 |
||||
javac.target=1.6 |
||||
javac.test.classpath=\ |
||||
${javac.classpath}:\ |
||||
${build.classes.dir} |
||||
javac.test.processorpath=\ |
||||
${javac.test.classpath} |
||||
javadoc.additionalparam= |
||||
javadoc.author=false |
||||
javadoc.encoding=${source.encoding} |
||||
javadoc.noindex=false |
||||
javadoc.nonavbar=false |
||||
javadoc.notree=false |
||||
javadoc.private=false |
||||
javadoc.splitindex=true |
||||
javadoc.use=true |
||||
javadoc.version=false |
||||
javadoc.windowtitle= |
||||
meta.inf.dir=${src.dir}/META-INF |
||||
mkdist.disabled=false |
||||
platform.active=default_platform |
||||
run.classpath=\ |
||||
${javac.classpath}:\ |
||||
${build.classes.dir} |
||||
# Space-separated list of JVM arguments used when running the project |
||||
# (you may also define separate properties like run-sys-prop.name=value instead of -Dname=value |
||||
# or test-sys-prop.name=value to set system properties for unit tests): |
||||
run.jvmargs= |
||||
run.test.classpath=\ |
||||
${javac.test.classpath}:\ |
||||
${build.test.classes.dir} |
||||
source.encoding=UTF-8 |
||||
src.dir=src |
@ -1,16 +0,0 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project xmlns="http://www.netbeans.org/ns/project/1"> |
||||
<type>org.netbeans.modules.java.j2seproject</type> |
||||
<configuration> |
||||
<data xmlns="http://www.netbeans.org/ns/j2se-project/3"> |
||||
<name>ant-jme</name> |
||||
<source-roots> |
||||
<root id="src.dir"/> |
||||
</source-roots> |
||||
<test-roots/> |
||||
</data> |
||||
<libraries xmlns="http://www.netbeans.org/ns/ant-project-libraries/1"> |
||||
<definitions>./lib/nblibraries.properties</definitions> |
||||
</libraries> |
||||
</configuration> |
||||
</project> |
@ -1,98 +0,0 @@ |
||||
/* |
||||
* To change this template, choose Tools | Templates |
||||
* and open the template in the editor. |
||||
*/ |
||||
package com.jme.ant; |
||||
|
||||
import java.io.BufferedReader; |
||||
import java.io.File; |
||||
import java.io.FileReader; |
||||
import java.io.FileWriter; |
||||
import java.io.StringWriter; |
||||
import org.apache.tools.ant.BuildException; |
||||
import org.apache.tools.ant.Task; |
||||
|
||||
/** |
||||
* |
||||
* @author normenhansen |
||||
*/ |
||||
public class FixWikiLinks extends Task { |
||||
|
||||
File file; |
||||
String helpPath; |
||||
|
||||
@Override |
||||
public void execute() throws BuildException { |
||||
validate(); |
||||
BufferedReader rdr; |
||||
try { |
||||
rdr = new BufferedReader(new FileReader(file)); |
||||
StringWriter out = new StringWriter(); |
||||
String line = rdr.readLine(); |
||||
while (line != null) { |
||||
//internal links
|
||||
line = line.replaceAll("doku\\.php/([^>]*):([^>]*):([^>]*):([^>]*)\\?do=export_xhtmlbody", helpPath + "$1/$2/$3/$4.html"); |
||||
line = line.replaceAll("doku\\.php/([^>]*):([^>]*):([^>]*)\\?do=export_xhtmlbody", helpPath + "$1/$2/$3.html"); |
||||
line = line.replaceAll("doku\\.php/([^>]*):([^>]*)\\?do=export_xhtmlbody", helpPath + "$1/$2.html"); |
||||
line = line.replaceAll("doku\\.php/([^>]*)\\?do=export_xhtmlbody", helpPath + "$1.html"); |
||||
//images
|
||||
line = line.replaceAll("/lib/exe/fetch\\.php/([^>]*):([^>]*):([^>]*):([^>]*)\"", "nbdocs:/" + helpPath + "$1/$2/$3/$4\""); |
||||
line = line.replaceAll("/lib/exe/fetch\\.php/([^>]*):([^>]*):([^>]*)\"", "nbdocs:/" + helpPath + "$1/$2/$3\""); |
||||
line = line.replaceAll("/lib/exe/fetch\\.php/([^>]*):([^>]*)\"", "nbdocs:/" + helpPath + "$1/$2\""); |
||||
line = line.replaceAll("/lib/exe/fetch\\.php/([^>]*)\"", "nbdocs:/" + helpPath + "$1\""); |
||||
// line = line.replaceAll("/lib/exe/fetch\\.php?([^>]*)\"", "nbdocs:/" + helpPath + "external/$1\"").replaceAll("[_[^\\w\\däüö:ÄÜÖ\\/\\+\\-\\. ]]", "_");
|
||||
|
||||
line = line.replaceAll("<a href=([^>]*)><img src=\"([^\"]*)\"([^>]*)></a>", "<img src=\"$2\">"); |
||||
line = line.replaceAll("<img src=\"([^>]*)\\?([^>]*)\">", "<img src=\"$1\">"); |
||||
// vvvv------v
|
||||
//line=line.replaceAll("<span([^>]*)>(.*(?<!/span>))</span>","$2");
|
||||
//remove class, name and id from tags
|
||||
line = line.replaceAll(" class=\"([^>]*)\">", ">"); |
||||
line = line.replaceAll(" name=\"([^>]*)\">", ">"); |
||||
line = line.replaceAll(" id=\"([^>]*)\">", ">"); |
||||
//remove obnoxious spans using negative look-behind..
|
||||
line = line.replaceAll("<span>([^>]*)</span>", "$1"); |
||||
//remove links to http://www.google.com/search added by wiki
|
||||
line = line.replaceAll("<a href=\"http://www\\.google\\.com/search([^\"]*)\"(.*)>(.*)</a>", "$3"); |
||||
//make external links netbeans help external links
|
||||
// line = line.replaceAll("<a href=\"http://([^\"]*)\"(.*)>(.*)</a>", "<object classid=\"java:org.netbeans.modules.javahelp.BrowserDisplayer\"><param name=\"content\" value=\"http://$1\"><param name=\"text\" value=\"<html><u>$3</u></html>\"><param name=\"textColor\" value=\"blue\"></object>");
|
||||
// line = line.replaceAll("<a href=\"https://([^\"]*)\"(.*)>(.*)</a>", "<object classid=\"java:org.netbeans.modules.javahelp.BrowserDisplayer\"><param name=\"content\" value=\"https://$1\"><param name=\"text\" value=\"<html><u>$3</u></html>\"><param name=\"textColor\" value=\"blue\"></object>");
|
||||
line = line.replaceAll("<a href=\"http://([^\"]*)\">([^<]*)</a>", "<object classid=\"java:org.netbeans.modules.javahelp.BrowserDisplayer\"><param name=\"content\" value=\"http://$1\"><param name=\"text\" value=\"<html><u>$2</u></html>\"><param name=\"textColor\" value=\"blue\"></object>"); |
||||
line = line.replaceAll("<a href=\"https://([^\"]*)\">([^<]*)</a>", "<object classid=\"java:org.netbeans.modules.javahelp.BrowserDisplayer\"><param name=\"content\" value=\"https://$1\"><param name=\"text\" value=\"<html><u>$2</u></html>\"><param name=\"textColor\" value=\"blue\"></object>"); |
||||
//other stuff
|
||||
// line = line.replaceAll("<note [^>]*>([^>]*)</note>", "<p>$2</p>");
|
||||
|
||||
out.write(line + "\n"); |
||||
line = rdr.readLine(); |
||||
} |
||||
rdr.close(); |
||||
FileWriter outWriter = new FileWriter(file); |
||||
out.flush(); |
||||
outWriter.write(out.toString()); |
||||
out.close(); |
||||
outWriter.close(); |
||||
} catch (Exception e) { |
||||
throw new BuildException(e, getLocation()); |
||||
} |
||||
} |
||||
|
||||
protected void validate() { |
||||
if (file == null) { |
||||
throw new BuildException("You must specify a file to read."); |
||||
} |
||||
if (!file.canRead()) { |
||||
throw new BuildException("Can not read file " + file.getAbsolutePath()); |
||||
} |
||||
if (helpPath == null) { |
||||
throw new BuildException("You must specify a help path."); |
||||
} |
||||
} |
||||
|
||||
public void setFile(File file) { |
||||
this.file = file; |
||||
} |
||||
|
||||
public void setHelpPath(String helpPath) { |
||||
this.helpPath = helpPath; |
||||
} |
||||
} |
@ -1,136 +0,0 @@ |
||||
/* |
||||
* To change this template, choose Tools | Templates |
||||
* and open the template in the editor. |
||||
*/ |
||||
package com.jme.ant; |
||||
|
||||
import java.io.BufferedReader; |
||||
import java.io.File; |
||||
import java.io.FileOutputStream; |
||||
import java.io.FileReader; |
||||
import java.io.InputStream; |
||||
import java.net.URL; |
||||
import org.apache.tools.ant.BuildException; |
||||
import org.apache.tools.ant.Task; |
||||
|
||||
/** |
||||
* |
||||
* @author normenhansen |
||||
*/ |
||||
public class LoadWikiImages extends Task { |
||||
|
||||
File file; |
||||
String targetFolder; |
||||
private String host; |
||||
|
||||
@Override |
||||
public void execute() throws BuildException { |
||||
validate(); |
||||
BufferedReader rdr; |
||||
try { |
||||
rdr = new BufferedReader(new FileReader(file)); |
||||
String line = rdr.readLine(); |
||||
while (line != null) { |
||||
line = line.trim(); |
||||
int idx = line.indexOf("<img src="); |
||||
while (idx >= 0) { |
||||
int endIdx = line.indexOf("\"", idx + 10); |
||||
if (endIdx >= 0) { |
||||
String link = line.substring(idx + 10, endIdx); |
||||
link = link.replace("&", "&"); |
||||
int wikidx = link.indexOf("/lib/exe/fetch.php/"); |
||||
//int extidx = link.indexOf("/lib/exe/fetch.php?");
|
||||
int extidx = -1; |
||||
if (wikidx >= 0) { |
||||
String name = link.replaceAll("/lib/exe/fetch\\.php/", ""); |
||||
int markIdx = name.indexOf("?"); |
||||
if (markIdx >= 0) { |
||||
name = name.substring(0, markIdx); |
||||
} |
||||
name = name.replaceAll(":", "/"); |
||||
URL url = new URL(host + link); |
||||
InputStream in = null; |
||||
FileOutputStream out = null; |
||||
try { |
||||
|
||||
in = url.openStream(); |
||||
File file = new File(getLocation().getFileName().replaceAll("build.xml", "") + File.separator + targetFolder + File.separator + name.replaceAll("/", File.separator)); |
||||
log("Getting image: " + host + link); |
||||
log("To: " + file); |
||||
File parent = file.getParentFile(); |
||||
parent.mkdirs(); |
||||
out = new FileOutputStream(file); |
||||
int byte_ = in.read(); |
||||
while (byte_ != -1) { |
||||
out.write(byte_); |
||||
byte_ = in.read(); |
||||
} |
||||
} catch (Exception e) { |
||||
e.printStackTrace(); |
||||
} finally { |
||||
if (in != null) { |
||||
in.close(); |
||||
} |
||||
if (out != null) { |
||||
out.close(); |
||||
} |
||||
} |
||||
} else if (extidx >= 0) { |
||||
String name = link.replaceAll("/lib/exe/fetch\\.php\\?([^>]*);media=([^>]*)\"", ""); |
||||
int markIdx = name.indexOf("?"); |
||||
if (markIdx >= 0) { |
||||
name = name.substring(0, markIdx); |
||||
} |
||||
//make external folder and clean filename
|
||||
name = "external/" + name.replaceAll("[_[^\\w\\däüöÄÜÖ\\/\\+\\-\\. ]]", "_"); |
||||
URL url = new URL(host + link); |
||||
InputStream in = url.openStream(); |
||||
File file = new File(getLocation().getFileName().replaceAll("build.xml", "") + File.separator + targetFolder + File.separator + name.replaceAll("/", File.separator)); |
||||
log("Getting external image: " + host + link); |
||||
log("To: " + file); |
||||
File parent = file.getParentFile(); |
||||
parent.mkdirs(); |
||||
FileOutputStream out = new FileOutputStream(file); |
||||
int byte_ = in.read(); |
||||
while (byte_ != -1) { |
||||
out.write(byte_); |
||||
byte_ = in.read(); |
||||
} |
||||
in.close(); |
||||
out.close(); |
||||
} |
||||
} |
||||
idx = line.indexOf("<img src=", idx + 1); |
||||
} |
||||
line = rdr.readLine(); |
||||
} |
||||
rdr.close(); |
||||
} catch (Exception e) { |
||||
throw new BuildException(e, getLocation()); |
||||
} |
||||
} |
||||
|
||||
protected void validate() { |
||||
if (file == null) { |
||||
throw new BuildException("You must specify a file to read."); |
||||
} |
||||
if (!file.canRead()) { |
||||
throw new BuildException("Can not read file " + file.getAbsolutePath()); |
||||
} |
||||
if (targetFolder == null) { |
||||
throw new BuildException("You must specify a destination folder."); |
||||
} |
||||
} |
||||
|
||||
public void setFile(File file) { |
||||
this.file = file; |
||||
} |
||||
|
||||
public void setTarget(String targetFolder) { |
||||
this.targetFolder = targetFolder; |
||||
} |
||||
|
||||
public void setHost(String host) { |
||||
this.host = host; |
||||
} |
||||
} |
@ -1,173 +0,0 @@ |
||||
package com.jme.ant; |
||||
|
||||
import java.io.BufferedOutputStream; |
||||
import java.io.File; |
||||
import java.io.FileOutputStream; |
||||
import java.io.IOException; |
||||
import java.io.OutputStreamWriter; |
||||
import java.util.HashMap; |
||||
import java.util.logging.Level; |
||||
import java.util.logging.Logger; |
||||
import javax.xml.parsers.DocumentBuilderFactory; |
||||
import javax.xml.parsers.ParserConfigurationException; |
||||
import javax.xml.transform.Transformer; |
||||
import javax.xml.transform.TransformerFactory; |
||||
import javax.xml.transform.dom.DOMSource; |
||||
import javax.xml.transform.stream.StreamResult; |
||||
import org.apache.tools.ant.BuildException; |
||||
import org.apache.tools.ant.Task; |
||||
import org.apache.tools.ant.types.LogLevel; |
||||
import org.w3c.dom.Document; |
||||
import org.w3c.dom.Element; |
||||
import org.w3c.dom.NodeList; |
||||
import org.xml.sax.SAXException; |
||||
|
||||
/** |
||||
* |
||||
* @author normenhansen |
||||
*/ |
||||
public class UpdateNetBeansDependencies extends Task { |
||||
|
||||
File projectFile; |
||||
File platformFolder; |
||||
private HashMap<String, String> versionMap = new HashMap<String, String>(); |
||||
|
||||
@Override |
||||
public void execute() throws BuildException { |
||||
if (projectFile == null || platformFolder == null) { |
||||
throw new BuildException("Please set projectfile and version"); |
||||
} |
||||
clearVesionMap(); |
||||
gatherVersionMap(platformFolder); |
||||
try { |
||||
boolean change = false; |
||||
Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(projectFile); |
||||
Element project = doc.getDocumentElement(); |
||||
if (project == null) { |
||||
return; |
||||
} |
||||
Element configuration = findChildElement(project, "configuration"); |
||||
if (configuration == null) { |
||||
return; |
||||
} |
||||
Element data = findChildElement(configuration, "data"); |
||||
if (data == null) { |
||||
return; |
||||
} |
||||
Element deps = findChildElement(data, "module-dependencies"); |
||||
if (deps == null) { |
||||
return; |
||||
} |
||||
NodeList list = deps.getElementsByTagName("dependency"); |
||||
for (int i = 0; i < list.getLength(); i++) { |
||||
Element elem = (Element) list.item(i); |
||||
Element base = findChildElement(elem, "code-name-base"); |
||||
if (base != null) { |
||||
Element runDep = findChildElement(elem, "run-dependency"); |
||||
if (runDep != null) { |
||||
Element specVersion = findChildElement(runDep, "specification-version"); |
||||
if (specVersion != null) { |
||||
String name = base.getTextContent().trim(); |
||||
String version = specVersion.getTextContent().trim(); |
||||
String newVersion = versionMap.get(name); |
||||
if (newVersion != null && !newVersion.equals(version)) { |
||||
specVersion.setTextContent(newVersion); |
||||
change = true; |
||||
log("Updating dependency in for " + name + " to " + newVersion); |
||||
} else { |
||||
if(newVersion == null){ |
||||
log("Unknown " + name + ", cannot update dependency.", LogLevel.WARN.getLevel()); |
||||
}else{ |
||||
log("Dependency " + name + " is up to date.", LogLevel.INFO.getLevel()); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
if (change) { |
||||
TransformerFactory transformerFactory = TransformerFactory.newInstance(); |
||||
Transformer transformer = transformerFactory.newTransformer(); |
||||
DOMSource source = new DOMSource(doc); |
||||
StreamResult result = new StreamResult(projectFile); |
||||
transformer.transform(source, result); |
||||
OutputStreamWriter out = new OutputStreamWriter(new BufferedOutputStream(new FileOutputStream(projectFile, true))); |
||||
out.write("\n"); |
||||
out.close(); |
||||
} |
||||
} catch (Exception ex) { |
||||
throw new BuildException("Error changing file: " + ex); |
||||
} |
||||
} |
||||
|
||||
public void setProjectFile(File projectFile) { |
||||
this.projectFile = projectFile; |
||||
} |
||||
|
||||
public void setPlatformFolder(File platformFolder) { |
||||
this.platformFolder = platformFolder; |
||||
} |
||||
|
||||
private void clearVesionMap() { |
||||
versionMap.clear(); |
||||
} |
||||
|
||||
private void gatherVersionMap(File baseFolder) { |
||||
File[] packages = baseFolder.listFiles(); |
||||
for (File pkg : packages) { |
||||
if (pkg.isDirectory()) { |
||||
for (File utr : pkg.listFiles()) { |
||||
if (utr.isDirectory() && utr.getName().equals("update_tracking")) { |
||||
File[] xmls = utr.listFiles(); |
||||
for (File file : xmls) { |
||||
if (file.getName().toLowerCase().endsWith(".xml")) { |
||||
parseModules(file); |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
private void parseModules(File file) { |
||||
try { |
||||
Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(file); |
||||
if (doc == null) { |
||||
return; |
||||
} |
||||
Element moduleElement = doc.getDocumentElement(); |
||||
if (moduleElement == null || !moduleElement.getTagName().equalsIgnoreCase("module")) { |
||||
return; |
||||
} |
||||
Element versionElement = findChildElement(moduleElement, "module_version"); |
||||
if (versionElement == null) { |
||||
return; |
||||
} |
||||
String name = moduleElement.getAttribute("codename"); |
||||
int idx = name.indexOf("/"); |
||||
if (idx != -1) { |
||||
name = name.substring(0, idx); |
||||
} |
||||
String version = versionElement.getAttribute("specification_version"); |
||||
versionMap.put(name, version); |
||||
} catch (SAXException ex) { |
||||
Logger.getLogger(UpdateNetBeansDependencies.class.getName()).log(Level.SEVERE, null, ex); |
||||
} catch (IOException ex) { |
||||
Logger.getLogger(UpdateNetBeansDependencies.class.getName()).log(Level.SEVERE, null, ex); |
||||
} catch (ParserConfigurationException ex) { |
||||
Logger.getLogger(UpdateNetBeansDependencies.class.getName()).log(Level.SEVERE, null, ex); |
||||
} |
||||
} |
||||
|
||||
private Element findChildElement(Element parent, String name) { |
||||
if (parent == null) { |
||||
return null; |
||||
} |
||||
org.w3c.dom.Node ret = parent.getFirstChild(); |
||||
while (ret != null && (!(ret instanceof Element) || !ret.getNodeName().equals(name))) { |
||||
ret = ret.getNextSibling(); |
||||
} |
||||
return (Element) ret; |
||||
} |
||||
} |
@ -1,108 +0,0 @@ |
||||
package com.jme.ant; |
||||
|
||||
import java.io.BufferedOutputStream; |
||||
import java.io.File; |
||||
import java.io.FileOutputStream; |
||||
import java.io.OutputStreamWriter; |
||||
import javax.xml.parsers.DocumentBuilderFactory; |
||||
import javax.xml.transform.Transformer; |
||||
import javax.xml.transform.TransformerFactory; |
||||
import javax.xml.transform.dom.DOMSource; |
||||
import javax.xml.transform.stream.StreamResult; |
||||
import org.apache.tools.ant.BuildException; |
||||
import org.apache.tools.ant.Task; |
||||
import org.w3c.dom.Document; |
||||
import org.w3c.dom.Element; |
||||
import org.w3c.dom.NodeList; |
||||
|
||||
/** |
||||
* |
||||
* @author normenhansen |
||||
*/ |
||||
public class UpdateSdkDependencies extends Task { |
||||
|
||||
File projectFile; |
||||
String version; |
||||
String basePackage = "com.jme3.gde"; |
||||
|
||||
@Override |
||||
public void execute() throws BuildException { |
||||
if (projectFile == null || version == null) { |
||||
throw new BuildException("Please set projectfile and version"); |
||||
} |
||||
try { |
||||
boolean change = false; |
||||
Document doc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(projectFile); |
||||
Element project = doc.getDocumentElement(); |
||||
if (project == null) { |
||||
return; |
||||
} |
||||
Element configuration = findChildElement(project, "configuration"); |
||||
if (configuration == null) { |
||||
return; |
||||
} |
||||
Element data = findChildElement(configuration, "data"); |
||||
if (data == null) { |
||||
return; |
||||
} |
||||
Element deps = findChildElement(data, "module-dependencies"); |
||||
if (deps == null) { |
||||
return; |
||||
} |
||||
NodeList list = deps.getElementsByTagName("dependency"); |
||||
for (int i = 0; i < list.getLength(); i++) { |
||||
Element elem = (Element) list.item(i); |
||||
Element base = findChildElement(elem, "code-name-base"); |
||||
if (base != null) { |
||||
if (base.getTextContent().trim().startsWith(basePackage)) { |
||||
Element runDep = findChildElement(elem, "run-dependency"); |
||||
if (runDep != null) { |
||||
Element specVersion = findChildElement(runDep, "specification-version"); |
||||
if (specVersion != null && !version.equals(specVersion.getTextContent().trim())) { |
||||
specVersion.setTextContent(version); |
||||
log("Updating plugin dependency in " + projectFile); |
||||
change = true; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
if (change) { |
||||
TransformerFactory transformerFactory = TransformerFactory.newInstance(); |
||||
Transformer transformer = transformerFactory.newTransformer(); |
||||
DOMSource source = new DOMSource(doc); |
||||
StreamResult result = new StreamResult(projectFile); |
||||
transformer.transform(source, result); |
||||
OutputStreamWriter out = new OutputStreamWriter(new BufferedOutputStream(new FileOutputStream(projectFile, true))); |
||||
out.write("\n"); |
||||
out.close(); |
||||
} |
||||
} catch (Exception ex) { |
||||
throw new BuildException("Error changing file: " + ex); |
||||
} |
||||
} |
||||
|
||||
public void setBasePackage(String basePackage) { |
||||
this.basePackage = basePackage; |
||||
} |
||||
|
||||
public void setProjectFile(File projectFile) { |
||||
this.projectFile = projectFile; |
||||
} |
||||
|
||||
public void setVersion(String version) { |
||||
this.version = version; |
||||
} |
||||
|
||||
private Element findChildElement(Element parent, String name) { |
||||
if (parent == null) { |
||||
return null; |
||||
} |
||||
org.w3c.dom.Node ret = parent.getFirstChild(); |
||||
while (ret != null && (!(ret instanceof Element) || !ret.getNodeName().equals(name))) { |
||||
ret = ret.getNextSibling(); |
||||
} |
||||
return (Element) ret; |
||||
} |
||||
|
||||
} |
@ -1,4 +0,0 @@ |
||||
loadwikiimages=com.jme.ant.LoadWikiImages |
||||
fixwikilinks=com.jme.ant.FixWikiLinks |
||||
updatesdkdeps=com.jme.ant.UpdateSdkDependencies |
||||
updatenbdeps=com.jme.ant.UpdateNetBeansDependencies |
@ -1,9 +0,0 @@ |
||||
#Updated by build script |
||||
#Sat, 27 Aug 2011 22:46:29 +0200 |
||||
currentVersion=jMonkeyEngine SDK 3.1-snapshot-github |
||||
LBL_splash_window_title=Starting jMonkeyEngine SDK |
||||
SPLASH_HEIGHT=350 |
||||
SPLASH_WIDTH=500 |
||||
SplashProgressBarBounds=0,347,500,6 |
||||
SplashRunningTextBounds=3,335,497,12 |
||||
SplashRunningTextFontSize=10 |
Before Width: | Height: | Size: 966 B |
Before Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 26 KiB |
@ -1,2 +0,0 @@ |
||||
MSG_InstallJava6=Cannot run on older versions of Java than JDK 6.\nPlease install JDK 6 or newer or use --jdkhome\nswitch to point to its installation directory. |
||||
MSG_NeedsJava6=JDK 6 or newer required |
@ -1,21 +0,0 @@ |
||||
UpdaterFrame.TextBackground_R=0 |
||||
UpdaterFrame.TextBackground_G=0 |
||||
UpdaterFrame.TextBackground_B=0 |
||||
|
||||
UpdaterFrame.TextForeground_R=255 |
||||
UpdaterFrame.TextForeground_G=255 |
||||
UpdaterFrame.TextForeground_B=255 |
||||
|
||||
UpdaterFrame.Background_R=0 |
||||
UpdaterFrame.Background_G=0 |
||||
UpdaterFrame.Background_B=0 |
||||
|
||||
UpdaterFrame.outerColor_R=28 |
||||
UpdaterFrame.outerColor_G=43 |
||||
UpdaterFrame.outerColor_B=29 |
||||
|
||||
UpdaterFrame.centerColor_R=85 |
||||
UpdaterFrame.centerColor_G=73 |
||||
UpdaterFrame.centerColor_B=16 |
||||
|
||||
UpdaterFrame.isGradient=false |
Before Width: | Height: | Size: 17 KiB |
@ -1,4 +0,0 @@ |
||||
#Updated by build script |
||||
#Sat, 27 Aug 2011 22:46:29 +0200 |
||||
CTL_MainWindow_Title=jMonkeyEngine SDK 3.1-snapshot-github |
||||
CTL_MainWindow_Title_No_Project=jMonkeyEngine SDK 3.1-snapshot-github |
@ -1,3 +0,0 @@ |
||||
LBL_Copyright=<p><em>Copyright © 2015 jMonkeyEngine.\n<br>Please visit <a style="color: #1E2A60;" href="http://jmonkeyengine.org">http://jmonkeyengine.org</a> for more information.</em></p><p>Icons sets : <ul><li><a href="http://brankic1979.com/icons/">Brankic1979</a></li><li><a href="http://www.entypo.com/index.php">Entypo+</a></li><ul> </p> |
||||
updates_not_found=<p style="margin: 0"><b>Updates:</b> jMonkeyEngine SDK is updated to version {0}</p>\n |
||||
URL_ON_IMG=http://jmonkeyengine.org/ |
Before Width: | Height: | Size: 967 B |
@ -1 +0,0 @@ |
||||
OperationDescriptionStep_BrokenPackageDepInit=<h3>jMonkeyEngine SDK requires the JDK</h3>Currently, jMonkeyEngine SDK appears to be running with the JRE instead of the full JDK.<br><br>To use the SDK, edit the <code>--jdkhome</code> command line option in jmonkeyplatform/etc/jmonkeyplatform.conf to the location of a JDK installation. See <a href="http://jmonkeyengine.org/wiki/doku.php/sdk:troubleshooting">the jME wiki</a> for more information.<br><br> |
@ -1,3 +0,0 @@ |
||||
LBL_NeedRestartTitle=Restart jMonkeyEngine SDK |
||||
MSG_NeedsRestart=The jMonkeyEngine SDK Installer has successfully installed the JIRA plugin. You must restart the IDE to complete the plugin installation. |
||||
MSG_PROJECT_NEEDS_JIRA=This project uses the JIRA issue tracking system. Click Download to install the JIRA plugin from the Update Center. |
@ -1 +0,0 @@ |
||||
ERR_NotThere=The Java DB database installation was not found in your copy of jMonkeyEngine SDK. |
@ -1 +0,0 @@ |
||||
GEN_copy=Generated by jMonkeyEngine SDK |
@ -1 +0,0 @@ |
||||
TXT_ProjectUpdate=<html><b>Project Needs Upgrading</b></html>\nThis project was created in an earlier version of jMonkeyEngine SDK. If you\nedit its properties in jMonkeyEngine SDK {0}, the project will be upgraded and\n<html><b>will no longer work in earlier versions of the SDK.</b></html>\n\nDo you want to upgrade your project to version {0}? |
Before Width: | Height: | Size: 966 B |
@ -1 +0,0 @@ |
||||
LBL_Pre_Delete_Warning=This will delete project "{0}" so that it cannot be opened in the jMonkeyEngine SDK anymore. |
@ -1,425 +0,0 @@ |
||||
//ant.importBuild 'build.xml' |
||||
import groovy.xml.MarkupBuilder |
||||
import java.util.zip.ZipFile |
||||
|
||||
if (!hasProperty('mainClass')) { |
||||
ext.mainClass = '' |
||||
} |
||||
|
||||
configurations { |
||||
corelibs |
||||
optlibs |
||||
testdatalibs |
||||
examplelibs |
||||
} |
||||
|
||||
dependencies { |
||||
corelibs project(':jme3-blender') |
||||
corelibs project(':jme3-core') |
||||
corelibs project(':jme3-desktop') |
||||
corelibs project(':jme3-effects') |
||||
corelibs project(':jme3-jbullet') |
||||
corelibs project(':jme3-jogg') |
||||
corelibs project(':jme3-lwjgl') |
||||
corelibs project(':jme3-networking') |
||||
corelibs project(':jme3-niftygui') |
||||
corelibs project(':jme3-plugins') |
||||
corelibs project(':jme3-terrain') |
||||
|
||||
optlibs project(':jme3-bullet') |
||||
optlibs project(':jme3-jogl') |
||||
optlibs project(':jme3-android') |
||||
optlibs project(':jme3-ios') |
||||
optlibs project(':jme3-android-native') |
||||
optlibs project(':jme3-bullet-native') |
||||
optlibs project(':jme3-bullet-native-android') |
||||
testdatalibs project(':jme3-testdata') |
||||
|
||||
examplelibs project(':jme3-examples') |
||||
|
||||
} |
||||
|
||||
artifacts { |
||||
// jar null |
||||
} |
||||
|
||||
task checkPlatformConfig { |
||||
description = "Downloads the NetBeans platform base and registers it in the SDK project if needed" |
||||
def platformFile = file("nbproject/private/platform-private.properties") |
||||
if(!platformFile.exists()){ |
||||
def netbeansFolder = file("../netbeans") |
||||
if(!netbeansFolder.exists() || netbeansFolder.list().length == 0){ |
||||
println "Downloading NetBeans Platform base, this only has to be done once.." |
||||
def f = file("netbeans.zip") |
||||
new URL(netbeansUrl).withInputStream{ i -> f.withOutputStream{ it << i }} |
||||
copy{ |
||||
from zipTree(f) |
||||
into "../" |
||||
} |
||||
f.delete() |
||||
} |
||||
file("nbproject/private/").mkdirs() |
||||
platformFile.createNewFile() |
||||
platformFile.write("nbplatform.default.netbeans.dest.dir=${netbeansFolder.absolutePath.replace('\\','/')}\r\n"+\ |
||||
"nbplatform.default.harness.dir=${netbeansFolder.absolutePath.replace('\\','/')}/harness\r\n") |
||||
} |
||||
} |
||||
|
||||
task copyBaseLibs(dependsOn:configurations.corelibs) <<{ |
||||
description "Copies the library files needed to run the SDK to "+ |
||||
"jme3-core-baselibs and jme3-core-libraries" |
||||
|
||||
// for each dependency in corelibs.. |
||||
project.configurations.corelibs.dependencies.each {dep -> |
||||
// copy built jme3 jar files to jme3-core-baselibs |
||||
dep.dependencyProject.configurations.archives.allArtifacts.each{ artifact-> |
||||
if(artifact.classifier == "sources"){ |
||||
} else if(artifact.classifier == "javadoc"){ |
||||
} else{ |
||||
copy { |
||||
from artifact.file |
||||
into "jme3-core-baselibs/release/modules/ext/" |
||||
} |
||||
} |
||||
} |
||||
// copy external jar files to jme3-core-libraries |
||||
copy { |
||||
from dep.dependencyProject.configurations.compile.copyRecursive({ !(it instanceof ProjectDependency); }).resolve() |
||||
into "jme3-core-libraries/release/modules/ext/" |
||||
} |
||||
} |
||||
} |
||||
copyBaseLibs.inputs.files configurations.corelibs.resolve() |
||||
copyBaseLibs.outputs.dir "jme3-core-baselibs/release/modules/ext/" |
||||
copyBaseLibs.outputs.dir "jme3-core-libraries/release/modules/ext/" |
||||
|
||||
task createBaseXml(dependsOn: configurations.corelibs) <<{ |
||||
description "Creates the project.xml files for "+ |
||||
"jme3-core-baselibs and jme3-core-libraries" |
||||
def jmeJarFiles = [] // jme3 jar files |
||||
def externalJarFiles = [] // external jar files |
||||
|
||||
// collect jar files |
||||
project.configurations.corelibs.dependencies.each {dep -> |
||||
// collect external jar files |
||||
dep.dependencyProject.configurations.compile.copyRecursive({ !(it instanceof ProjectDependency); }).resolve().each{ file-> |
||||
externalJarFiles.add(file) |
||||
} |
||||
// collect internal jar files (classes, sources and javadoc) |
||||
dep.dependencyProject.configurations.archives.allArtifacts.each{ artifact-> |
||||
if(artifact.classifier == "sources"){ |
||||
} else if(artifact.classifier == "javadoc"){ |
||||
} else if(artifact.file.name.endsWith('.pom')) { |
||||
} else{ |
||||
if(!jmeJarFiles.contains(artifact.file)){ |
||||
jmeJarFiles.add(artifact.file) |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
// collect base packages |
||||
def packages = [] |
||||
jmeJarFiles.each{jarFile -> |
||||
ZipFile file = new ZipFile(jarFile) |
||||
file.entries().each { entry -> |
||||
if(entry.name.endsWith('.class')){ |
||||
// TODO: "/" works on windows? |
||||
def pathPart = entry.name.substring(0,entry.name.lastIndexOf('/')) |
||||
def classPath = pathPart.replace('/','.'); |
||||
if(!packages.contains(classPath)){ |
||||
packages.add(classPath) |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
// collect library packages |
||||
def extPackages = [] |
||||
externalJarFiles.each{jarFile -> |
||||
ZipFile file = new ZipFile(jarFile) |
||||
file.entries().each { entry -> |
||||
if(entry.name.endsWith('.class')){ |
||||
// TODO: "/" works on windows? |
||||
def pathPart = entry.name.substring(0,entry.name.lastIndexOf('/')) |
||||
def classPath = pathPart.replace('/','.'); |
||||
if(!extPackages.contains(classPath)){ |
||||
extPackages.add(classPath) |
||||
} |
||||
} |
||||
} |
||||
} |
||||
|
||||
def writer = new StringWriter() |
||||
def xml = new MarkupBuilder(writer) |
||||
xml.mkp.xmlDeclaration(version:'1.0') |
||||
xml.project(xmlns:"http://www.netbeans.org/ns/project/1"){ |
||||
type "org.netbeans.modules.apisupport.project" |
||||
configuration { |
||||
data(xmlns:"http://www.netbeans.org/ns/nb-module-project/3") { |
||||
"code-name-base" "com.jme3.gde.core.baselibs" |
||||
"suite-component"{} |
||||
"module-dependencies"{ |
||||
dependency{ |
||||
"code-name-base" "com.jme3.gde.core.libraries" |
||||
"build-prerequisite"{} |
||||
"compile-dependency"{} |
||||
"run-dependency"{ |
||||
"release-version" "1" |
||||
"specification-version" jmeVersion |
||||
} |
||||
} |
||||
} |
||||
"public-packages"{ |
||||
packages.each{ |
||||
"package" it |
||||
} |
||||
} |
||||
jmeJarFiles.each{jarFile -> |
||||
"class-path-extension"{ |
||||
"runtime-relative-path" "ext/${jarFile.name}" |
||||
"binary-origin" "release/modules/ext/${jarFile.name}" |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
// write XML file |
||||
File baselibsProjectFile = file("jme3-core-baselibs/nbproject/project.xml"); |
||||
baselibsProjectFile.write(writer.toString()) |
||||
|
||||
def extWriter = new StringWriter() |
||||
def extXml = new MarkupBuilder(extWriter) |
||||
// extXml.mkp.xmlDeclaration(version:'1.0') |
||||
extXml.project(xmlns:"http://www.netbeans.org/ns/project/1"){ |
||||
type "org.netbeans.modules.apisupport.project" |
||||
configuration { |
||||
data(xmlns:"http://www.netbeans.org/ns/nb-module-project/3") { |
||||
"code-name-base" "com.jme3.gde.core.libraries" |
||||
"suite-component"{} |
||||
"module-dependencies"{} |
||||
"public-packages"{ |
||||
extPackages.each{ |
||||
"package" it |
||||
} |
||||
} |
||||
externalJarFiles.each{jarFile -> |
||||
"class-path-extension"{ |
||||
"runtime-relative-path" "ext/${jarFile.name}" |
||||
"binary-origin" "release/modules/ext/${jarFile.name}" |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
// write XML file |
||||
File librariesProjectFile = file("jme3-core-libraries/nbproject/project.xml"); |
||||
librariesProjectFile.write(extWriter.toString()) |
||||
} |
||||
createBaseXml.inputs.files configurations.corelibs.resolve() |
||||
createBaseXml.outputs.file "jme3-core-baselibs/nbproject/project.xml" |
||||
createBaseXml.outputs.file "jme3-core-libraries/nbproject/project.xml" |
||||
|
||||
task copyProjectLibs(dependsOn: [configurations.corelibs, configurations.testdatalibs]) <<{ |
||||
description "Copies the jar files needed to supply the J2SE Libraries in the "+ |
||||
"SDK to jme3-project-baselibs and jme3-project-libraries" |
||||
|
||||
// for each dependency in corelibs and optlibs.. |
||||
def deps = [] |
||||
deps.addAll(project.configurations.corelibs.dependencies) |
||||
deps.addAll(project.configurations.optlibs.dependencies) |
||||
deps.each {dep -> |
||||
// copy jme3 jar files, sources and javadocs to jme3-project-baselibs |
||||
dep.dependencyProject.configurations.archives.allArtifacts.each{ artifact-> |
||||
if(artifact.classifier == "sources"){ |
||||
copy { |
||||
from artifact.file |
||||
into "jme3-project-baselibs/release/libs/" |
||||
} |
||||
} else if(artifact.classifier == "javadoc"){ |
||||
copy { |
||||
from artifact.file |
||||
into "jme3-project-baselibs/release/libs/" |
||||
} |
||||
} else{ |
||||
copy { |
||||
from artifact.file |
||||
into "jme3-project-baselibs/release/libs/" |
||||
} |
||||
} |
||||
} |
||||
// copy external jar files to jme3-project-libraries |
||||
copy { |
||||
from dep.dependencyProject.configurations.compile.copyRecursive({ !(it instanceof ProjectDependency); }).resolve() |
||||
into "jme3-project-libraries/release/libs/" |
||||
} |
||||
} |
||||
|
||||
project.configurations.testdatalibs.dependencies.each {dep -> |
||||
// copy jme3 test data to jme3-project-testdata |
||||
dep.dependencyProject.configurations.archives.allArtifacts.each{ artifact-> |
||||
if(artifact.classifier == "sources"){ |
||||
} else if(artifact.classifier == "javadoc"){ |
||||
} else{ |
||||
copy { |
||||
from artifact.file |
||||
into "jme3-project-testdata/release/libs/" |
||||
rename ("jme3-testdata(.*)", "jme3-testdata.jar") |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
copyProjectLibs.inputs.files configurations.corelibs.resolve() |
||||
copyProjectLibs.inputs.files configurations.optlibs.resolve() |
||||
copyProjectLibs.inputs.files configurations.testdatalibs.resolve() |
||||
copyProjectLibs.outputs.dir "jme3-project-baselibs/release/libs/" |
||||
copyProjectLibs.outputs.dir "jme3-project-libraries/release/libs/" |
||||
copyProjectLibs.outputs.dir "jme3-project-testdata/release/libs/" |
||||
|
||||
// workaround method to add a tag with the name "name" and "file" to an XML MarkupBuilder |
||||
def makeName(builder, nameR) { builder.name nameR } |
||||
def makeFile(builder, nameR) { builder.file(name:nameR, url:nameR) } |
||||
|
||||
task createProjectXml(dependsOn: configurations.corelibs) <<{ |
||||
description "Creates needed J2SE library and layer XML files in jme3-project-baselibs" |
||||
|
||||
def eol = System.properties.'line.separator' |
||||
def j2seLibraries = [] // created J2SE library descriptors |
||||
|
||||
// for each dependency in corelibs.. |
||||
def deps = [] |
||||
deps.addAll(project.configurations.corelibs.dependencies) |
||||
deps.addAll(project.configurations.optlibs.dependencies) |
||||
deps.each {dep -> |
||||
def jmeJarFiles = [] // jme3 jar files |
||||
def jmeSourceFiles = [] // jme3 sources |
||||
def jmeJavadocFiles = [] // jme3 javadoc |
||||
def externalJarFiles = [] // external jar files |
||||
j2seLibraries.add(dep.dependencyProject.name+".xml") |
||||
// collect external jar files |
||||
dep.dependencyProject.configurations.compile.copyRecursive({ !(it instanceof ProjectDependency); }).resolve().each{ file-> |
||||
externalJarFiles.add(file.name) |
||||
} |
||||
// collect internal jar files (classes, sources and javadoc) |
||||
dep.dependencyProject.configurations.archives.allArtifacts.each{ artifact-> |
||||
if(artifact.classifier == "sources"){ |
||||
jmeSourceFiles.add(artifact.file.name) |
||||
} else if(artifact.classifier == "javadoc"){ |
||||
jmeJavadocFiles.add(artifact.file.name) |
||||
} else{ |
||||
if(!jmeJarFiles.contains(artifact.file.name)){ |
||||
jmeJarFiles.add(artifact.file.name) |
||||
} |
||||
} |
||||
} |
||||
// create J2SE library descriptor xml file |
||||
def libraryWriter = new StringWriter() |
||||
def libraryXml = new MarkupBuilder(libraryWriter) |
||||
// xml.mkp.xmlDeclaration(version:'1.0') |
||||
libraryWriter << '<?xml version="1.0" encoding="UTF-8"?>' << eol |
||||
libraryWriter << '<!DOCTYPE library PUBLIC "-//NetBeans//DTD Library Declaration 1.0//EN" "http://www.netbeans.org/dtds/library-declaration-1_0.dtd">' << eol |
||||
libraryXml.library(version:"1.0", encoding: "UTF-8"){ |
||||
makeName(libraryXml, "${dep.dependencyProject.name}") |
||||
type "j2se" |
||||
"localizing-bundle" "com.jme3.gde.project.baselibs.Bundle" |
||||
volume{ |
||||
type "classpath" |
||||
jmeJarFiles.each{jar -> |
||||
resource "jar:nbinst://com.jme3.gde.project.baselibs/libs/${jar}!/" |
||||
} |
||||
externalJarFiles.each{jar -> |
||||
resource "jar:nbinst://com.jme3.gde.project.libraries/libs/${jar}!/" |
||||
} |
||||
} |
||||
volume{ |
||||
type "src" |
||||
jmeSourceFiles.each{jar -> |
||||
resource "jar:nbinst://com.jme3.gde.project.baselibs/libs/${jar}!/" |
||||
} |
||||
} |
||||
volume{ |
||||
type "javadoc" |
||||
jmeJavadocFiles.each{jar -> |
||||
resource "jar:nbinst://com.jme3.gde.project.baselibs/libs/${jar}!/" |
||||
} |
||||
} |
||||
} |
||||
// write XML file |
||||
File libraryXmlFile = file("jme3-project-baselibs/src/com/jme3/gde/project/baselibs/${dep.dependencyProject.name}.xml"); |
||||
libraryXmlFile.write(libraryWriter.toString()) |
||||
} |
||||
|
||||
// create layer.xml file with entries of library xml files |
||||
def layerWriter = new StringWriter() |
||||
def layerXml = new MarkupBuilder(layerWriter) |
||||
// layerXml.mkp.xmlDeclaration(version:'1.0') |
||||
layerWriter << '<?xml version="1.0" encoding="UTF-8"?>' << eol |
||||
layerWriter << '<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.1//EN" "http://www.netbeans.org/dtds/filesystem-1_1.dtd">' << eol |
||||
layerXml.filesystem{ |
||||
folder(name:"org-netbeans-api-project-libraries"){ |
||||
folder(name:"Libraries"){ |
||||
j2seLibraries.each{lib -> |
||||
makeFile(layerXml, lib) |
||||
} |
||||
} |
||||
} |
||||
} |
||||
File layerXmlFile = file("jme3-project-baselibs/src/com/jme3/gde/project/baselibs/layer.xml"); |
||||
layerXmlFile.write(layerWriter.toString()) |
||||
} |
||||
createProjectXml.inputs.files configurations.corelibs.resolve() |
||||
createProjectXml.inputs.files configurations.optlibs.resolve() |
||||
createProjectXml.outputs.dir "jme3-project-baselibs/src/com/jme3/gde/project/baselibs/" |
||||
|
||||
task copyTestSources <<{ |
||||
project.configurations.examplelibs.dependencies.each{dep -> |
||||
copy{ |
||||
from dep.dependencyProject.sourceSets*.allSource |
||||
into "JME3TestsTemplate/src/" |
||||
} |
||||
copy{ |
||||
from dep.dependencyProject.sourceSets*.allSource |
||||
into "JME3TestsTemplateAndroid/src/" |
||||
} |
||||
} |
||||
} |
||||
copyTestSources.inputs.files project.configurations.examplelibs |
||||
copyTestSources.outputs.dir "JME3TestsTemplate/src/" |
||||
copyTestSources.outputs.dir "JME3TestsTemplateAndroid/src/" |
||||
|
||||
ant.properties['plugins.version'] = jmeVersion |
||||
ant.properties['app.version']= jmeFullVersion |
||||
ant.properties['nbm.revision']= jmeNbmRevision |
||||
|
||||
task buildSdk(dependsOn: [copyBaseLibs, copyProjectLibs, createProjectXml, createBaseXml, copyTestSources]) <<{ |
||||
ant.propertyfile(file: "nbproject/project.properties") { |
||||
entry( key: "plugins.version", value: "${jmeVersion}") |
||||
entry( key: "app.version", value: "${jmeFullVersion}") |
||||
entry( key: "nbm.revision", value: "${jmeNbmRevision}") |
||||
} |
||||
ant.ant(dir: ".", antfile: "build.xml", target: "build") |
||||
} |
||||
buildSdk.inputs.files configurations.corelibs.resolve() |
||||
buildSdk.inputs.files configurations.optlibs.resolve() |
||||
file('.').eachDir{ |
||||
if(it.name.startsWith("jme3-") && it.isDirectory()){ |
||||
buildSdk.inputs.dir it |
||||
} |
||||
} |
||||
buildSdk.outputs.dir "build" |
||||
|
||||
task cleanSdk() <<{ |
||||
ant.ant(dir: ".", antfile: "build.xml", target: "clean") |
||||
file("jme3-core-baselibs/release/").deleteDir() |
||||
file("jme3-core-libraries/release/").deleteDir() |
||||
file("jme3-project-baselibs/release/").deleteDir() |
||||
file("jme3-project-libraries/release/").deleteDir() |
||||
file("JME3TestsTemplate/src/jmetest/").deleteDir() |
||||
file("JME3TestsTemplateAndroid/src/jmetest/").deleteDir() |
||||
} |
||||
|
||||
tasks.remove(uploadArchives) |
||||
|
||||
jar.dependsOn(buildSdk) |
||||
clean.dependsOn(cleanSdk) |
@ -1,275 +0,0 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!-- You may freely edit this file. See harness/README in the NetBeans platform --> |
||||
<!-- for some information on what you could do (e.g. targets to override). --> |
||||
<!-- If you delete this file and reopen the project it will be recreated. --> |
||||
<project name="jme-gde" basedir="."> |
||||
<description>Builds the module suite jme-gde.</description> |
||||
<import file="nbproject/build-impl.xml"/> |
||||
<!--Load ant extensions--> |
||||
<path id="ant-import.classpath"> |
||||
<fileset dir="ant-lib/" includes="*.jar"/> |
||||
</path> |
||||
<taskdef resource="net/sf/antcontrib/antcontrib.properties" classpathref="ant-import.classpath"/> |
||||
<taskdef resource="com/jme/ant/ant-jme.properties" classpathref="ant-import.classpath"/> |
||||
<taskdef name="deb" classname="com.googlecode.ant_deb_task.Deb" classpathref="ant-import.classpath"/> |
||||
<taskdef name="desktopentry" classname="com.googlecode.ant_deb_task.DesktopEntry" classpathref="ant-import.classpath"/> |
||||
|
||||
<!--override branding target to include netbeans config file creation, using this target makes sure init was called--> |
||||
<target name="branding" depends="-create-netbeans-config, -set-base-version, -zip-templates, suite.branding"/> |
||||
|
||||
<!--updates the help sets--> |
||||
<target name="update-help-sets" description="Loads the wiki pages from the web and converts them to JavaHelp html for manual."> |
||||
<ant antfile="build.xml" target="update-help-sets" inheritall="false" inheritrefs="false" dir="jme3-documentation/"/> |
||||
</target> |
||||
|
||||
<target name="update-nb-dependencies" description="Updates the dependencies of all projects to the currently used platform module versions"> |
||||
<property file="nbproject/project.properties"/> |
||||
<foreach target="-update-nb-dep" list="${modules}" delimiter=":" param="module_dir" inheritall="true"/> |
||||
</target> |
||||
|
||||
<target name="-update-nb-dep"> |
||||
<updatenbdeps projectFile="${module_dir}/nbproject/project.xml" platformFolder="../netbeans"/> |
||||
</target> |
||||
|
||||
<target name="-create-netbeans-config"> |
||||
<!--replaces default values in jmonkeyplatform.conf file with run.args.extra from project.properties--> |
||||
<mkdir dir="build/launcher/etc"/> |
||||
<property name="jdkhome.string" value='#jdkhome="/path/to/jdk"'/> |
||||
<copy file="${harness.dir}/etc/app.conf" tofile="build/launcher/etc/${app.name}.conf" overwrite="true"> |
||||
<filterchain> |
||||
<replacestring from="$${branding.token}" to="${branding.token}"/> |
||||
<replacestring from="$${APPNAME}/dev" to="$${APPNAME}/${app.version}"/> |
||||
<replacestring from="-J-Xmx64m" to="${run.args.extra}"/> |
||||
<replacestring from='#jdkhome="/path/to/jdk"' to ='${jdkhome.string}'/> |
||||
</filterchain> |
||||
</copy> |
||||
</target> |
||||
|
||||
<!--zips up the templates and adds them to the template project--> |
||||
<target name="-zip-templates" description="Updates the template zip files"> |
||||
<zip basedir="BasicGameTemplate/" destfile="jme3-templates/src/com/jme3/gde/templates/BasicGameProject.zip"> |
||||
<exclude name="**/build/"/> |
||||
<exclude name="**/dist/"/> |
||||
<exclude name="**/nbproject/private/"/> |
||||
<exclude name="**/*.keep"/> |
||||
</zip> |
||||
<zip basedir="JME3TestsTemplate/" destfile="jme3-tests-template/src/com/jme3/gde/templates/tests/JmeTestsProject.zip"> |
||||
<exclude name="**/build/"/> |
||||
<exclude name="**/dist/"/> |
||||
<exclude name="**/nbproject/private/"/> |
||||
</zip> |
||||
<zip basedir="JME3TestsTemplateAndroid/" destfile="jme3-tests-template/src/com/jme3/gde/templates/tests/JME3TestsAndroidProject.zip"> |
||||
<exclude name="**/build/"/> |
||||
<exclude name="**/dist/"/> |
||||
<exclude name="**/mobile/assets/"/> |
||||
<exclude name="**/mobile/bin/"/> |
||||
<exclude name="**/mobile/gen/"/> |
||||
<exclude name="**/mobile/libs/"/> |
||||
<exclude name="**/mobile/local.properties"/> |
||||
<exclude name="**/mobile/private/"/> |
||||
<exclude name="**/nbproject/private/"/> |
||||
</zip> |
||||
</target> |
||||
|
||||
<target name="-set-base-version" description ="sets/unsets base version to major version for all plugins, updates branding version"> |
||||
<!--sets/unsets base version to major version (e.g. 3.0.1) for all plugins--> |
||||
<foreach target="-do-base-version" list="${modules}" delimiter=":" param="module_dir" inheritall="true"/> |
||||
<!--sets version to application branding files--> |
||||
<replaceregexp file="${basedir}/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties" |
||||
match="currentVersion=(.*)" |
||||
replace="currentVersion=${app.title} ${app.version}" |
||||
byline="true"/> |
||||
<replaceregexp file="${basedir}/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties" |
||||
match="CTL_MainWindow_Title=(.*)" |
||||
replace="CTL_MainWindow_Title=${app.title} ${app.version}" |
||||
byline="true"/> |
||||
<replaceregexp file="${basedir}/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties" |
||||
match="CTL_MainWindow_Title_No_Project=(.*)" |
||||
replace="CTL_MainWindow_Title_No_Project=${app.title} ${app.version}" |
||||
byline="true"/> |
||||
<!--propertyfile |
||||
file="${basedir}/branding/core/core.jar/org/netbeans/core/startup/Bundle.properties" |
||||
comment="Updated by build script"> |
||||
<entry key="currentVersion" value="${app.title} ${app.version}" /> |
||||
</propertyfile--> |
||||
<!--propertyfile |
||||
file="${basedir}/branding/modules/org-netbeans-core-windows.jar/org/netbeans/core/windows/view/ui/Bundle.properties" |
||||
comment="Updated by build script"> |
||||
<entry key="CTL_MainWindow_Title" value="${app.title} ${app.version}" /> |
||||
<entry key="CTL_MainWindow_Title_No_Project" value="${app.title} ${app.version}" /> |
||||
</propertyfile--> |
||||
</target> |
||||
|
||||
<target name="-do-base-version"> |
||||
<!--propertyfile |
||||
file="${module_dir}/nbproject/project.properties" |
||||
comment="Updated by build script"> |
||||
<entry key="spec.version.base" value="${plugins.version}" /> |
||||
</propertyfile--> |
||||
<updatesdkdeps projectfile="${module_dir}/nbproject/project.xml" version="${plugins.version}" basepackage="com.jme3.gde"/> |
||||
<replace file="${module_dir}/nbproject/project.xml" token=' standalone="no"?>' value="?>${line.separator}"/> |
||||
<replaceregexp file="${module_dir}/nbproject/project.properties" |
||||
match="spec.version.base=(.*)" |
||||
replace="spec.version.base=${plugins.version}" |
||||
byline="true"/> |
||||
</target> |
||||
|
||||
<!-- |
||||
**************************************************************** |
||||
Only Relevant for building nightly on Hudson server from here on |
||||
**************************************************************** |
||||
--> |
||||
|
||||
<!--creates update center version via hudson build server (update-help-sets, )--> |
||||
<target name="hudson-nightly" depends="suite.clean, set-impl-version, suite.nbms, unset-impl-version"> |
||||
</target> |
||||
|
||||
<!--to be used after release, sets version number sans svn revision--> |
||||
<target name="hudson-stable" depends="suite.clean, set-spec-version, suite.nbms, unset-spec-version"> |
||||
</target> |
||||
|
||||
<!--builds release installers--> |
||||
<target name="hudson-release" depends="suite.clean, set-spec-version, build-installers, unset-spec-version"> |
||||
</target> |
||||
|
||||
<target name="set-spec-version"> |
||||
<property file="nbproject/project.properties"/> |
||||
<foreach target="-do-spec-version" list="${modules}" delimiter=":" param="module_dir" inheritall="true"> |
||||
<param name="set_spec_version" value="true"/> |
||||
</foreach> |
||||
</target> |
||||
|
||||
<target name="unset-spec-version"> |
||||
<property file="nbproject/project.properties"/> |
||||
<foreach target="-do-spec-version" list="${modules}" delimiter=":" param="module_dir" inheritall="true"> |
||||
<param name="set_spec_version" value="false"/> |
||||
</foreach> |
||||
</target> |
||||
|
||||
<!--sets/unsets specification version to major version (e.g. 3.0.1) for all plugins--> |
||||
<target name="-do-spec-version"> |
||||
<if> |
||||
<equals arg1="${set_spec_version}" arg2="true"/> |
||||
<then> |
||||
<replaceregexp file="${module_dir}/manifest.mf" |
||||
match="OpenIDE-Module-Implementation-Version:(.*)" |
||||
replace="OpenIDE-Module-Specification-Version: ${plugins.version}" |
||||
byline="true"/> |
||||
<replaceregexp file="${module_dir}/nbproject/project.properties" |
||||
match="#*spec\.version\.base" |
||||
replace="#spec.version.base" |
||||
byline="true"/> |
||||
</then> |
||||
<else> |
||||
<replaceregexp file="${module_dir}/manifest.mf" |
||||
match="OpenIDE-Module-Specification-Version:(.*)" |
||||
replace="OpenIDE-Module-Implementation-Version: 0" |
||||
byline="true"/> |
||||
<replaceregexp file="${module_dir}/nbproject/project.properties" |
||||
match="#*spec\.version\.base" |
||||
replace="spec.version.base" |
||||
byline="true"/> |
||||
</else> |
||||
</if> |
||||
</target> |
||||
|
||||
<target name="set-impl-version"> |
||||
<property file="nbproject/project.properties"/> |
||||
<foreach target="-do-impl-version" list="${modules}" delimiter=":" param="module_dir" inheritall="true"> |
||||
<param name="set_impl_version" value="true"/> |
||||
</foreach> |
||||
</target> |
||||
|
||||
<target name="unset-impl-version"> |
||||
<property file="nbproject/project.properties"/> |
||||
<foreach target="-do-impl-version" list="${modules}" delimiter=":" param="module_dir" inheritall="true"> |
||||
<param name="set_impl_version" value="false"/> |
||||
</foreach> |
||||
</target> |
||||
|
||||
<!--sets/unsets implementation version to GIT revision for plugins--> |
||||
<target name="-do-impl-version"> |
||||
<if> |
||||
<equals arg1="${set_impl_version}" arg2="true"/> |
||||
<then> |
||||
<echo>Setting implementation version for ${module_dir} to revision: ${nbm.revision}</echo> |
||||
<replace file="${module_dir}/manifest.mf" token="OpenIDE-Module-Implementation-Version: 0" value="OpenIDE-Module-Implementation-Version: ${nbm.revision}"/> |
||||
</then> |
||||
<else> |
||||
<echo>Removing implementation version for ${module_dir} from revision: ${nbm.revision}</echo> |
||||
<replace file="${module_dir}/manifest.mf" token="OpenIDE-Module-Implementation-Version: ${nbm.revision}" value="OpenIDE-Module-Implementation-Version: 0"/> |
||||
</else> |
||||
</if> |
||||
</target> |
||||
|
||||
<target name="build-installers"> |
||||
<property file="nbproject/project.properties"/> |
||||
<ant antfile="template.xml" dir="nbi/stub"> |
||||
<property name="suite.location" value="${basedir}"/> |
||||
<property name="suite.nbi.product.uid" value="${app.name}"/> |
||||
<!--TODO: this is .0.2 because of the pre-release static 3.0.0, else the RCs could not be installed next to a beta--> |
||||
<property name="suite.nbi.product.version" value="${plugins.version}.0.${nbm.revision}"/> |
||||
<property name="nbi.stub.location" value="${basedir}/nbi/stub"/> |
||||
<property name="nbi.stub.common.location" value="${basedir}/nbi/.common"/> |
||||
<property name="nbi.ant.tasks.jar" value="${basedir}/nbi/antlib/nbi-ant-tasks.jar"/> |
||||
<property name="nbi.registries.management.jar" value="${basedir}/nbi/antlib/nbi-registries-management.jar"/> |
||||
<property name="nbi.engine.jar" value="${basedir}/nbi/antlib/nbi-engine.jar"/> |
||||
<property name="nbi.license.file" value="${basedir}/licenses-sdk.txt"/> |
||||
<property name="generate.installer.for.platforms" value="windows-x86 windows-x64 linux-x86 linux-x64 macosx"/> |
||||
<property name="generator-jdk-location-forward-slashes" value="${java.home}"/> |
||||
<property name="generated-installers-location-forward-slashes" value="${basedir}/build/installer"/> |
||||
<property name="pack200.enabled" value="true"/> |
||||
<property name="nbi.icon.file" value="${basedir}/jmonkeyplatform.png"/> |
||||
<property name="nbi.dock.icon.file" value="${basedir}/jmonkeyplatform.icns"/> |
||||
<property name="product.description" value="${app.description}"/> |
||||
<property name="product.categories" value="${app.categories}"/> |
||||
</ant> |
||||
</target> |
||||
|
||||
<target name="build-zip-for-installer" depends="-set-bundled-jdkhome, suite.build-zip"/> |
||||
|
||||
<target name="-set-bundled-jdkhome"> |
||||
<property name="jdkhome.string" value='jdkhome="jdk"'/> |
||||
</target> |
||||
|
||||
<!--creates a debian package from the installer--> |
||||
<target name="create-deb-package" depends="suite.build-zip"> |
||||
<unzip src="${dist.dir}/${app.name}.zip" dest="${dist.dir}/${app.name}"> |
||||
<globmapper from="${app.name}/*" to="*"/> |
||||
</unzip> |
||||
<desktopentry |
||||
toFile="build/${app.name}.desktop" |
||||
name="${app.title}" |
||||
comment="${app.title}" |
||||
exec="/opt/${app.name}/bin/${app.name}" |
||||
icon="/opt/${app.name}/${app.name}.png" |
||||
categories="Development;Java" |
||||
/> |
||||
<deb toDir="dist" |
||||
package="jme3-sdk" |
||||
version="${app.version}" |
||||
section="devel" |
||||
depends="sun-java6-jdk" |
||||
maintainer="jMonkeyEngine" |
||||
homepage="http://www.jmonkeyengine.org" |
||||
postrm="debscripts/postrm" |
||||
> |
||||
<tarfileset dir="dist/${app.name}/" prefix="opt/${app.name}"> |
||||
<exclude name="bin/**"/> |
||||
</tarfileset> |
||||
<tarfileset dir="dist/${app.name}/bin" prefix="opt/${app.name}/bin" filemode="755"> |
||||
<exclude name="*.exe"/> |
||||
</tarfileset> |
||||
<tarfileset file="build/${app.name}.desktop" prefix="usr/share/applications"/> |
||||
<tarfileset file="${app.name}.png" prefix="opt/${app.name}"/> |
||||
<description synopsis="jMonkeyEngine3 SDK is a complete solution for Java OpenGL game development."> |
||||
jMonkeyEngine 3 was rebuilt from the ground up to be a modern 3D game engine, |
||||
compatible with OpenGL 2.0 and above. |
||||
Its architecture is shader-based, making it fully capable of current and |
||||
next generation graphics standards. The jMonkeyEngine SDK gives you a complete IDE |
||||
for coding and for managing and creating game assets. |
||||
</description> |
||||
</deb> |
||||
</target> |
||||
|
||||
</project> |
@ -1,2 +0,0 @@ |
||||
#!/bin/bash |
||||
rm -rf $HOME/.jmonkeyplatform |
@ -1,8 +0,0 @@ |
||||
#!/bin/sh |
||||
#(c) jmonkeyengine.org |
||||
#Author Normen Hansen |
||||
set -e |
||||
rm -rf jdk-macosx.zip |
||||
cp -r local/jdk7u11-macosx ./jdk |
||||
zip -9 -r -y ./jdk-macosx.zip ./jdk |
||||
rm -rf jdk |
@ -1,48 +0,0 @@ |
||||
#!/bin/bash |
||||
set -e |
||||
#(c) jmonkeyengine.org |
||||
#This script creates SFX binaries of the JDK for the specified platform |
||||
#Author Normen Hansen |
||||
|
||||
#gather options |
||||
os="$1" |
||||
source="$2" |
||||
if [ -z "$1" ]; then |
||||
echo "No platform supplied" |
||||
echo "Specify a platform like macosx, windows-x86, linux-x64 and a source like /path/to/jdk/home" |
||||
echo "If no source is specified, local/jdk-(platform) will be used" |
||||
exit 1 |
||||
fi |
||||
if [ -z "$2" ]; then |
||||
source="local/jdk-$os" |
||||
fi |
||||
if [ ! -d "$source" ]; then |
||||
echo "Source JDK directory $source was not found, specify another source folder as second parameter or copy the needed JDK to $source" |
||||
exit 1 |
||||
fi |
||||
unzipsfxname="unzipsfx/unzipsfx-$os" |
||||
if [ ! -f "$unzipsfxname" ]; then |
||||
echo "No unzipsfx for platform $os found at $unzipsfxname, cannot continue" |
||||
exit 1 |
||||
fi |
||||
suffix="bin" |
||||
if [[ "$os" == *"windows"* ]]; then |
||||
suffix="exe" |
||||
fi |
||||
name="jdk-$os.$suffix" |
||||
|
||||
echo "Creating SFX JDK package $name for $os with source $source." |
||||
|
||||
#code logic |
||||
rm -rf $name |
||||
cp -r $source ./jdk_tmp |
||||
cd jdk_tmp/jre |
||||
pack200 -J-Xmx1024m lib/rt.jar.pack.gz lib/rt.jar |
||||
rm -rf lib/rt.jar |
||||
cd .. |
||||
zip -9 -r -y ../jdk_tmp_sfx.zip . |
||||
cd .. |
||||
cat $unzipsfxname jdk_tmp_sfx.zip > $name |
||||
chmod +x $name |
||||
rm -rf jdk_tmp |
||||
rm -rf jdk_tmp_sfx.zip |
@ -1,5 +0,0 @@ |
||||
MacOSX: 1.7u51 |
||||
Win32: 1.7u51 |
||||
Win64: 1.7u51 |
||||
Linux32: 1.7u51 |
||||
Linux64: 1.7u51 |
@ -1,8 +0,0 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!-- You may freely edit this file. See harness/README in the NetBeans platform --> |
||||
<!-- for some information on what you could do (e.g. targets to override). --> |
||||
<!-- If you delete this file and reopen the project it will be recreated. --> |
||||
<project name="com.jme3.gde.android" default="netbeans" basedir="."> |
||||
<description>Builds, tests, and runs the project com.jme3.gde.android.</description> |
||||
<import file="nbproject/build-impl.xml"/> |
||||
</project> |
@ -1,6 +0,0 @@ |
||||
Manifest-Version: 1.0 |
||||
OpenIDE-Module: com.jme3.gde.android |
||||
OpenIDE-Module-Implementation-Version: 0 |
||||
OpenIDE-Module-Layer: com/jme3/gde/android/layer.xml |
||||
OpenIDE-Module-Localizing-Bundle: com/jme3/gde/android/Bundle.properties |
||||
|
@ -1,45 +0,0 @@ |
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<!-- |
||||
*** GENERATED FROM project.xml - DO NOT EDIT *** |
||||
*** EDIT ../build.xml INSTEAD *** |
||||
--> |
||||
<project name="com.jme3.gde.android-impl" basedir=".."> |
||||
<fail message="Please build using Ant 1.7.1 or higher."> |
||||
<condition> |
||||
<not> |
||||
<antversion atleast="1.7.1"/> |
||||
</not> |
||||
</condition> |
||||
</fail> |
||||
<property file="nbproject/private/suite-private.properties"/> |
||||
<property file="nbproject/suite.properties"/> |
||||
<fail unless="suite.dir">You must set 'suite.dir' to point to your containing module suite</fail> |
||||
<property file="${suite.dir}/nbproject/private/platform-private.properties"/> |
||||
<property file="${suite.dir}/nbproject/platform.properties"/> |
||||
<macrodef name="property" uri="http://www.netbeans.org/ns/nb-module-project/2"> |
||||
<attribute name="name"/> |
||||
<attribute name="value"/> |
||||
<sequential> |
||||
<property name="@{name}" value="${@{value}}"/> |
||||
</sequential> |
||||
</macrodef> |
||||
<macrodef name="evalprops" uri="http://www.netbeans.org/ns/nb-module-project/2"> |
||||
<attribute name="property"/> |
||||
<attribute name="value"/> |
||||
<sequential> |
||||
<property name="@{property}" value="@{value}"/> |
||||
</sequential> |
||||
</macrodef> |
||||
<property file="${user.properties.file}"/> |
||||
<nbmproject2:property name="harness.dir" value="nbplatform.${nbplatform.active}.harness.dir" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/> |
||||
<nbmproject2:property name="nbplatform.active.dir" value="nbplatform.${nbplatform.active}.netbeans.dest.dir" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/> |
||||
<nbmproject2:evalprops property="cluster.path.evaluated" value="${cluster.path}" xmlns:nbmproject2="http://www.netbeans.org/ns/nb-module-project/2"/> |
||||
<fail message="Path to 'platform' cluster missing in $${cluster.path} property or using corrupt Netbeans Platform (missing harness)."> |
||||
<condition> |
||||
<not> |
||||
<contains string="${cluster.path.evaluated}" substring="platform"/> |
||||
</not> |
||||
</condition> |
||||
</fail> |
||||
<import file="${harness.dir}/build.xml"/> |
||||
</project> |
@ -1,8 +0,0 @@ |
||||
build.xml.data.CRC32=01aeea16 |
||||
build.xml.script.CRC32=6461359b |
||||
build.xml.stylesheet.CRC32=a56c6a5b@2.67.1 |
||||
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. |
||||
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. |
||||
nbproject/build-impl.xml.data.CRC32=01aeea16 |
||||
nbproject/build-impl.xml.script.CRC32=abd1e01a |
||||
nbproject/build-impl.xml.stylesheet.CRC32=238281d1@2.67.1 |
@ -1,89 +0,0 @@ |
||||
cluster.path=\ |
||||
${nbplatform.active.dir}/extra:\ |
||||
${nbplatform.active.dir}/harness:\ |
||||
${nbplatform.active.dir}/ide:\ |
||||
${nbplatform.active.dir}/java:\ |
||||
${nbplatform.active.dir}/platform |
||||
disabled.modules=\ |
||||
org.netbeans.libs.bugtracking,\ |
||||
org.netbeans.libs.bugzilla,\ |
||||
org.netbeans.libs.jsr223,\ |
||||
org.netbeans.libs.smack,\ |
||||
org.netbeans.libs.springframework,\ |
||||
org.netbeans.libs.swingx,\ |
||||
org.netbeans.modules.apisupport.apidocs,\ |
||||
org.netbeans.modules.bugtracking,\ |
||||
org.netbeans.modules.bugtracking.bridge,\ |
||||
org.netbeans.modules.bugzilla,\ |
||||
org.netbeans.modules.db,\ |
||||
org.netbeans.modules.db.core,\ |
||||
org.netbeans.modules.db.dataview,\ |
||||
org.netbeans.modules.db.drivers,\ |
||||
org.netbeans.modules.db.kit,\ |
||||
org.netbeans.modules.db.metadata.model,\ |
||||
org.netbeans.modules.db.mysql,\ |
||||
org.netbeans.modules.db.sql.editor,\ |
||||
org.netbeans.modules.db.sql.visualeditor,\ |
||||
org.netbeans.modules.dbapi,\ |
||||
org.netbeans.modules.dbschema,\ |
||||
org.netbeans.modules.derby,\ |
||||
org.netbeans.modules.form,\ |
||||
org.netbeans.modules.form.binding,\ |
||||
org.netbeans.modules.form.j2ee,\ |
||||
org.netbeans.modules.form.kit,\ |
||||
org.netbeans.modules.form.nb,\ |
||||
org.netbeans.modules.form.refactoring,\ |
||||
org.netbeans.modules.glassfish.common,\ |
||||
org.netbeans.modules.hibernate,\ |
||||
org.netbeans.modules.hibernatelib,\ |
||||
org.netbeans.modules.hudson,\ |
||||
org.netbeans.modules.hudson.ant,\ |
||||
org.netbeans.modules.hudson.git,\ |
||||
org.netbeans.modules.hudson.maven,\ |
||||
org.netbeans.modules.hudson.mercurial,\ |
||||
org.netbeans.modules.hudson.subversion,\ |
||||
org.netbeans.modules.hudson.tasklist,\ |
||||
org.netbeans.modules.i18n.form,\ |
||||
org.netbeans.modules.j2ee.core.utilities,\ |
||||
org.netbeans.modules.j2ee.jpa.refactoring,\ |
||||
org.netbeans.modules.j2ee.jpa.verification,\ |
||||
org.netbeans.modules.j2ee.persistence,\ |
||||
org.netbeans.modules.j2ee.persistence.kit,\ |
||||
org.netbeans.modules.j2ee.toplinklib,\ |
||||
org.netbeans.modules.jellytools,\ |
||||
org.netbeans.modules.jellytools.ide,\ |
||||
org.netbeans.modules.jellytools.java,\ |
||||
org.netbeans.modules.jellytools.platform,\ |
||||
org.netbeans.modules.jemmy,\ |
||||
org.netbeans.modules.languages,\ |
||||
org.netbeans.modules.maven,\ |
||||
org.netbeans.modules.maven.checkstyle,\ |
||||
org.netbeans.modules.maven.coverage,\ |
||||
org.netbeans.modules.maven.embedder,\ |
||||
org.netbeans.modules.maven.grammar,\ |
||||
org.netbeans.modules.maven.graph,\ |
||||
org.netbeans.modules.maven.hints,\ |
||||
org.netbeans.modules.maven.indexer,\ |
||||
org.netbeans.modules.maven.junit,\ |
||||
org.netbeans.modules.maven.kit,\ |
||||
org.netbeans.modules.maven.model,\ |
||||
org.netbeans.modules.maven.osgi,\ |
||||
org.netbeans.modules.maven.persistence,\ |
||||
org.netbeans.modules.maven.refactoring,\ |
||||
org.netbeans.modules.maven.repository,\ |
||||
org.netbeans.modules.maven.search,\ |
||||
org.netbeans.modules.maven.spring,\ |
||||
org.netbeans.modules.server,\ |
||||
org.netbeans.modules.spellchecker,\ |
||||
org.netbeans.modules.spellchecker.bindings.htmlxml,\ |
||||
org.netbeans.modules.spellchecker.bindings.properties,\ |
||||
org.netbeans.modules.spellchecker.dictionary_en,\ |
||||
org.netbeans.modules.spellchecker.kit,\ |
||||
org.netbeans.modules.spring.beans,\ |
||||
org.netbeans.modules.websvc.saas.codegen.java,\ |
||||
org.netbeans.modules.xml.wsdl.model,\ |
||||
org.openide.compat,\ |
||||
org.openide.options,\ |
||||
org.openide.util.enumerations |
||||
nbjdk.active=default |
||||
nbplatform.active=default |