Merge branch 'master' into PBRisComing

This commit is contained in:
Nehon 2015-08-13 20:43:56 +02:00
commit cefdabf3c6
66 changed files with 535 additions and 360 deletions

10
.gitignore vendored
View File

@ -4,8 +4,9 @@
/dist/ /dist/
/build/ /build/
/netbeans/ /netbeans/
/sdk/jdks/local/
/jme3-core/build/ /jme3-core/build/
/jme3-core/src/main/java/com/jme3/system/JmeVersion.java /jme3-core/src/main/resources/com/jme3/system/version.properties
/jme3-plugins/build/ /jme3-plugins/build/
/jme3-desktop/build/ /jme3-desktop/build/
/jme3-android-native/build/ /jme3-android-native/build/
@ -132,3 +133,10 @@
!/jme3-bullet-native/libs/native/osx/x86_64/libbulletjme.dylib !/jme3-bullet-native/libs/native/osx/x86_64/libbulletjme.dylib
!/jme3-bullet-native/libs/native/linux/x86/libbulletjme.so !/jme3-bullet-native/libs/native/linux/x86/libbulletjme.so
!/jme3-bullet-native/libs/native/linux/x86_64/libbulletjme.so !/jme3-bullet-native/libs/native/linux/x86_64/libbulletjme.so
/.nb-gradle/
/sdk/ant-jme/nbproject/private/
/sdk/nbi/stub/ext/components/products/jdk/nbproject/private/
/sdk/nbi/stub/ext/components/products/blender/nbproject/private/
/sdk/BasicGameTemplate/nbproject/private/
/sdk/nbi/stub/ext/components/products/jdk/build/
/sdk/nbi/stub/ext/components/products/jdk/dist/

View File

@ -8,9 +8,9 @@ cache:
- gradle-cache - gradle-cache
- netbeans - netbeans
branches: # branches:
only: # only:
- master # - master
notifications: notifications:
slack: slack:
@ -29,10 +29,11 @@ script:
deploy: deploy:
provider: releases provider: releases
api_key: api_key:
secure: "KbFiMt0a8FxUKvCJUYwikLYaqqGMn1p6k4OsXnGqwptQZEUIayabNLHeaD2kTNT3e6AY1ETwQLff/lB2LttmIo4g5NWW63g1K3A/HwgnhJwETengiProZ/Udl+ugPeDL/+ar43HUhFq4knBnzFKnEcHAThTPVqH/RMDvZf1UUYI=" secure: PuEsJd6juXBH29ByITW3ntSAyrwWs0IeFvXJ5Y2YlhojhSMtTwkoWeB6YmDJWP4fhzbajk4TQ1HlOX2IxJXSW/8ShOEIUlGXz9fHiST0dkSM+iRAUgC5enCLW5ITPTiem7eY9ZhS9miIam7ngce9jHNMh75PTzZrEJtezoALT9w=
file: build/distributions/jME3.1.0_snapshot-github_2015-06-20.zip file: build/distributions/jME3.1.0_snapshot-github_2015-08-02.zip
skip_cleanup: true skip_cleanup: true
on: on:
repo: jMonkeyEngine/jmonkeyengine
tags: true tags: true
# before_install: # before_install:

View File

@ -1,15 +1,16 @@
import org.gradle.api.artifacts.* import org.gradle.api.artifacts.*
buildscript { buildscript {
repositories { repositories {
mavenCentral() mavenCentral()
} }
dependencies { dependencies {
classpath 'com.android.tools.build:gradle:1.1.0' classpath 'com.android.tools.build:gradle:1.1.0'
} }
} }
apply plugin: 'base' apply plugin: 'base'
apply from: file('version.gradle')
// This is applied to all sub projects // This is applied to all sub projects
subprojects { subprojects {
@ -114,7 +115,12 @@ task wrapper(type: Wrapper, description: 'Creates and deploys the Gradle wrapper
gradleVersion = '2.2.1' gradleVersion = '2.2.1'
} }
String findNDK() { ext {
ndkCommandPath = ""
ndkExists = false
}
task configureAndroidNDK {
def ndkBuildFile = "ndk-build" def ndkBuildFile = "ndk-build"
// if windows, use ndk-build.cmd instead // if windows, use ndk-build.cmd instead
if (System.properties['os.name'].toLowerCase().contains('windows')) { if (System.properties['os.name'].toLowerCase().contains('windows')) {
@ -127,27 +133,13 @@ String findNDK() {
if (System.env.ANDROID_NDK != null) { if (System.env.ANDROID_NDK != null) {
ndkBuildPath = System.env.ANDROID_NDK + File.separator + ndkBuildFile ndkBuildPath = System.env.ANDROID_NDK + File.separator + ndkBuildFile
} }
if (new File(ndkBuildPath).exists()) { if (new File(ndkBuildPath).exists()) {
return ndkBuildPath ndkExists = true
} else { ndkCommandPath = ndkBuildPath
return null
} }
} }
boolean checkNdkExists(String ndkCommandPath) {
// String ndkCommandPath = findNDK()
if (ndkCommandPath != null && new File(ndkCommandPath).exists()) {
return true
} else {
return false
}
}
ext {
ndkCommandPath = findNDK()
ndkExists = checkNdkExists(ndkCommandPath)
}
//class IncrementalReverseTask extends DefaultTask { //class IncrementalReverseTask extends DefaultTask {
// @InputDirectory // @InputDirectory
// def File inputDir // def File inputDir

View File

@ -6,8 +6,8 @@ apply plugin: 'java'
apply plugin: 'maven' apply plugin: 'maven'
apply plugin: 'maven-publish' apply plugin: 'maven-publish'
group = 'com.jme3' group = 'com.jme3'
version = jmeVersion + '-' + jmeVersionTag version = jmePomVersion
sourceCompatibility = '1.6' sourceCompatibility = '1.6'
[compileJava, compileTestJava]*.options*.encoding = 'UTF-8' [compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
@ -24,6 +24,13 @@ dependencies {
testCompile group: 'junit', name: 'junit', version: '4.10' testCompile group: 'junit', name: 'junit', version: '4.10'
} }
jar {
manifest {
attributes 'Implementation-Title': 'jMonkeyEngine',
'Implementation-Version': version
}
}
javadoc { javadoc {
failOnError = false failOnError = false
options.memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED options.memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED

View File

@ -3,7 +3,7 @@ jmeVersion = 3.1.0
# Version used for application and settings folder, no spaces! # Version used for application and settings folder, no spaces!
jmeMainVersion = 3.1 jmeMainVersion = 3.1
# Version addition pre-alpha-svn, Stable, Beta # Version addition pre-alpha-svn, Stable, Beta
jmeVersionTag = snapshot-github jmeVersionTag = SNAPSHOT
# specify if JavaDoc should be built # specify if JavaDoc should be built
buildJavaDoc = true buildJavaDoc = true

View File

@ -145,7 +145,7 @@ public class Ipo {
float[] times = new float[framesAmount + 1]; float[] times = new float[framesAmount + 1];
Vector3f[] translations = new Vector3f[framesAmount + 1]; Vector3f[] translations = new Vector3f[framesAmount + 1];
float[] translation = new float[] { localTranslation.x, localTranslation.y, localTranslation.z }; float[] translation = new float[3];
Quaternion[] rotations = new Quaternion[framesAmount + 1]; Quaternion[] rotations = new Quaternion[framesAmount + 1];
float[] quaternionRotation = new float[] { localRotation.getX(), localRotation.getY(), localRotation.getZ(), localRotation.getW(), }; float[] quaternionRotation = new float[] { localRotation.getX(), localRotation.getY(), localRotation.getZ(), localRotation.getW(), };
float[] eulerRotation = localRotation.toAngles(null); float[] eulerRotation = localRotation.toAngles(null);
@ -165,6 +165,8 @@ public class Ipo {
// calculating track data // calculating track data
for (int frame = startFrame; frame <= stopFrame; ++frame) { for (int frame = startFrame; frame <= stopFrame; ++frame) {
boolean translationSet = false;
translation[0] = translation[1] = translation[2] = 0;
int index = frame - startFrame; int index = frame - startFrame;
times[index] = index * timeBetweenFrames;// start + (frame - 1) * timeBetweenFrames; times[index] = index * timeBetweenFrames;// start + (frame - 1) * timeBetweenFrames;
for (int j = 0; j < bezierCurves.length; ++j) { for (int j = 0; j < bezierCurves.length; ++j) {
@ -173,15 +175,18 @@ public class Ipo {
// LOCATION // LOCATION
case AC_LOC_X: case AC_LOC_X:
translation[0] = (float) value; translation[0] = (float) value;
translationSet = true;
break; break;
case AC_LOC_Y: case AC_LOC_Y:
if (swapAxes && value != 0) { if (swapAxes && value != 0) {
value = -value; value = -value;
} }
translation[yIndex] = (float) value; translation[yIndex] = (float) value;
translationSet = true;
break; break;
case AC_LOC_Z: case AC_LOC_Z:
translation[zIndex] = (float) value; translation[zIndex] = (float) value;
translationSet = true;
break; break;
// EULER ROTATION // EULER ROTATION
@ -235,7 +240,11 @@ public class Ipo {
LOGGER.log(Level.WARNING, "Unknown ipo curve type: {0}.", bezierCurves[j].getType()); LOGGER.log(Level.WARNING, "Unknown ipo curve type: {0}.", bezierCurves[j].getType());
} }
} }
translations[index] = localRotation.multLocal(new Vector3f(translation[0], translation[1], translation[2])); if(translationSet) {
translations[index] = localRotation.multLocal(new Vector3f(translation[0], translation[1], translation[2]));
} else {
translations[index] = new Vector3f();
}
if(boneContext != null) { if(boneContext != null) {
if(boneContext.getBone().getParent() == null && boneContext.is(BoneContext.NO_LOCAL_LOCATION)) { if(boneContext.getBone().getParent() == null && boneContext.is(BoneContext.NO_LOCAL_LOCATION)) {

View File

@ -811,39 +811,72 @@ extern "C" {
/* /*
* Class: com_jme3_bullet_objects_PhysicsRigidBody * Class: com_jme3_bullet_objects_PhysicsRigidBody
* Method: getAngularFactor * Method: getAngularFactor
* Signature: (J)F * Signature: (JLcom/jme3/math/Vector3f;)V
*/ */
JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getAngularFactor JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getAngularFactor
(JNIEnv *env, jobject object, jlong bodyId) { (JNIEnv *env, jobject object, jlong bodyId, jobject factor) {
btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
if (body == NULL) {
jclass newExc = env->FindClass("java/lang/NullPointerException");
env->ThrowNew(newExc, "The native object does not exist.");
return 0;
}
return body->getAngularFactor().getX();
}
/*
* Class: com_jme3_bullet_objects_PhysicsRigidBody
* Method: setAngularFactor
* Signature: (JF)V
*/
JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setAngularFactor
(JNIEnv *env, jobject object, jlong bodyId, jfloat value) {
btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId); btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
if (body == NULL) { if (body == NULL) {
jclass newExc = env->FindClass("java/lang/NullPointerException"); jclass newExc = env->FindClass("java/lang/NullPointerException");
env->ThrowNew(newExc, "The native object does not exist."); env->ThrowNew(newExc, "The native object does not exist.");
return; return;
} }
btVector3 vec1 = btVector3(); jmeBulletUtil::convert(env, &body->getAngularFactor(), factor);
vec1.setX(value);
vec1.setY(value);
vec1.setZ(value);
body->setAngularFactor(vec1);
} }
/*
* Class: com_jme3_bullet_objects_PhysicsRigidBody
* Method: setAngularFactor
* Signature: (JLcom/jme3/math/Vector3f;)V
*/
JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setAngularFactor
(JNIEnv *env, jobject object, jlong bodyId, jobject factor) {
btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
if (body == NULL) {
jclass newExc = env->FindClass("java/lang/NullPointerException");
env->ThrowNew(newExc, "The native object does not exist.");
return;
}
btVector3 vec = btVector3();
jmeBulletUtil::convert(env, factor, &vec);
body->setAngularFactor(vec);
}
/*
* Class: com_jme3_bullet_objects_PhysicsRigidBody
* Method: getLinearFactor
* Signature: (JLcom/jme3/math/Vector3f;)V
*/
JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getLinearFactor
(JNIEnv *env, jobject object, jlong bodyId, jobject factor) {
btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
if (body == NULL) {
jclass newExc = env->FindClass("java/lang/NullPointerException");
env->ThrowNew(newExc, "The native object does not exist.");
return;
}
jmeBulletUtil::convert(env, &body->getLinearFactor(), factor);
}
/*
* Class: com_jme3_bullet_objects_PhysicsRigidBody
* Method: setLinearFactor
* Signature: (JLcom/jme3/math/Vector3f;)V
*/
JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setLinearFactor
(JNIEnv *env, jobject object, jlong bodyId, jobject factor) {
btRigidBody* body = reinterpret_cast<btRigidBody*>(bodyId);
if (body == NULL) {
jclass newExc = env->FindClass("java/lang/NullPointerException");
env->ThrowNew(newExc, "The native object does not exist.");
return;
}
btVector3 vec = btVector3();
jmeBulletUtil::convert(env, factor, &vec);
body->setLinearFactor(vec);
}
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

View File

@ -396,18 +396,35 @@ JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getAngula
/* /*
* Class: com_jme3_bullet_objects_PhysicsRigidBody * Class: com_jme3_bullet_objects_PhysicsRigidBody
* Method: getAngularFactor * Method: getAngularFactor
* Signature: (J)F * Signature: (JLcom/jme3/math/Vector3f;)V
*/ */
JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getAngularFactor JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getAngularFactor
(JNIEnv *, jobject, jlong); (JNIEnv *, jobject, jlong, jobject);
/* /*
* Class: com_jme3_bullet_objects_PhysicsRigidBody * Class: com_jme3_bullet_objects_PhysicsRigidBody
* Method: setAngularFactor * Method: setAngularFactor
* Signature: (JF)V * Signature: (JLcom/jme3/math/Vector3f;)V
*/ */
JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setAngularFactor JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setAngularFactor
(JNIEnv *, jobject, jlong, jfloat); (JNIEnv *, jobject, jlong, jobject);
/*
* Class: com_jme3_bullet_objects_PhysicsRigidBody
* Method: getLinearFactor
* Signature: (JLcom/jme3/math/Vector3f;)V
*/
JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getLinearFactor
(JNIEnv *, jobject, jlong, jobject);
/*
* Class: com_jme3_bullet_objects_PhysicsRigidBody
* Method: setLinearFactor
* Signature: (JLcom/jme3/math/Vector3f;)V
*/
JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setLinearFactor
(JNIEnv *, jobject, jlong, jobject);
#ifdef __cplusplus #ifdef __cplusplus
} }

View File

@ -627,16 +627,44 @@ public class PhysicsRigidBody extends PhysicsCollisionObject {
private native float getAngularSleepingThreshold(long objectId); private native float getAngularSleepingThreshold(long objectId);
public float getAngularFactor() { public float getAngularFactor() {
return getAngularFactor(objectId); return getAngularFactor(null).getX();
} }
private native float getAngularFactor(long objectId); public Vector3f getAngularFactor(Vector3f store) {
// doing like this prevent from breaking the API
if (store == null) {
store = new Vector3f();
}
getAngularFactor(objectId, store);
return store;
}
private native void getAngularFactor(long objectId, Vector3f vec);
public void setAngularFactor(float factor) { public void setAngularFactor(float factor) {
setAngularFactor(objectId, factor); setAngularFactor(objectId, new Vector3f(factor, factor, factor));
} }
private native void setAngularFactor(long objectId, float factor); public void setAngularFactor(Vector3f factor) {
setAngularFactor(objectId, factor);
}
private native void setAngularFactor(long objectId, Vector3f factor);
public Vector3f getLinearFactor() {
Vector3f vec = new Vector3f();
getLinearFactor(objectId, vec);
return vec;
}
private native void getLinearFactor(long objectId, Vector3f vec);
public void setLinearFactor(Vector3f factor) {
setLinearFactor(objectId, factor);
}
private native void setLinearFactor(long objectId, Vector3f factor);
/** /**
* do not use manually, joints are added automatically * do not use manually, joints are added automatically
@ -673,7 +701,13 @@ public class PhysicsRigidBody extends PhysicsCollisionObject {
capsule.write(getGravity(), "gravity", Vector3f.ZERO); capsule.write(getGravity(), "gravity", Vector3f.ZERO);
capsule.write(getFriction(), "friction", 0.5f); capsule.write(getFriction(), "friction", 0.5f);
capsule.write(getRestitution(), "restitution", 0); capsule.write(getRestitution(), "restitution", 0);
capsule.write(getAngularFactor(), "angularFactor", 1); Vector3f angularFactor = getAngularFactor(null);
if (angularFactor.x == angularFactor.y && angularFactor.y == angularFactor.z) {
capsule.write(getAngularFactor(), "angularFactor", 1);
} else {
capsule.write(getAngularFactor(null), "angularFactor", Vector3f.UNIT_XYZ);
capsule.write(getLinearFactor(), "linearFactor", Vector3f.UNIT_XYZ);
}
capsule.write(kinematic, "kinematic", false); capsule.write(kinematic, "kinematic", false);
capsule.write(getLinearDamping(), "linearDamping", 0); capsule.write(getLinearDamping(), "linearDamping", 0);
@ -703,7 +737,13 @@ public class PhysicsRigidBody extends PhysicsCollisionObject {
setKinematic(capsule.readBoolean("kinematic", false)); setKinematic(capsule.readBoolean("kinematic", false));
setRestitution(capsule.readFloat("restitution", 0)); setRestitution(capsule.readFloat("restitution", 0));
setAngularFactor(capsule.readFloat("angularFactor", 1)); Vector3f angularFactor = (Vector3f) capsule.readSavable("angularFactor", Vector3f.NAN.clone());
if(angularFactor == Vector3f.NAN) {
setAngularFactor(capsule.readFloat("angularFactor", 1));
} else {
setAngularFactor(angularFactor);
setLinearFactor((Vector3f) capsule.readSavable("linearFactor", Vector3f.UNIT_XYZ.clone()));
}
setDamping(capsule.readFloat("linearDamping", 0), capsule.readFloat("angularDamping", 0)); setDamping(capsule.readFloat("linearDamping", 0), capsule.readFloat("angularDamping", 0));
setSleepingThresholds(capsule.readFloat("linearSleepingThreshold", 0.8f), capsule.readFloat("angularSleepingThreshold", 1.0f)); setSleepingThresholds(capsule.readFloat("linearSleepingThreshold", 0.8f), capsule.readFloat("angularSleepingThreshold", 1.0f));
setCcdMotionThreshold(capsule.readFloat("ccdMotionThreshold", 0)); setCcdMotionThreshold(capsule.readFloat("ccdMotionThreshold", 0));

View File

@ -12,55 +12,23 @@ sourceSets {
} }
} }
buildscript { task updateVersionPropertiesFile << {
repositories { def verfile = file('src/main/resources/com/jme3/system/version.properties')
mavenCentral() verfile.text = "# THIS IS AN AUTO-GENERATED FILE..\n" +
} "# DO NOT MODIFY!\n" +
dependencies { "build.date=${jmeBuildDate}\n" +
classpath 'org.ajoberstar:gradle-git:1.0.0-rc.1' "git.revision=${jmeRevision}\n" +
} "git.branch=${jmeBranchName}\n" +
"git.hash=${jmeGitHash}\n" +
"git.hash.short=${jmeShortGitHash}\n" +
"git.tag=${jmeGitTag}\n" +
"name.full=jMonkeyEngine ${jmeFullVersion}\n" +
"version.full=${jmeFullVersion}\n" +
"version.number=${jmeVersion}\n" +
"version.tag=${jmeVersionTag}"
} }
import java.text.SimpleDateFormat compileJava.dependsOn(updateVersionPropertiesFile)
import org.ajoberstar.grgit.*
task updateVersion << {
def verfile = file('src/main/java/com/jme3/system/JmeVersion.java')
def jmeGitHash
def jmeShortGitHash
def jmeBuildDate
def jmeBranchName
try {
def grgit = Grgit.open(project.file('.').parent)
jmeGitHash = grgit.head().id
jmeShortGitHash = grgit.head().abbreviatedId
jmeBuildDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date())
jmeBranchName = grgit.branch.current.name
} catch (ex) {
// Failed to get repo info
logger.warn("Failed to get repository info: " + ex.message + ". " + \
"Only partial build info will be generated.")
jmeGitHash = ""
jmeShortGitHash = ""
jmeBuildDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date())
jmeBranchName = "unknown"
}
verfile.text = "\npackage com.jme3.system;\n\n" +
"/**\n * THIS IS AN AUTO-GENERATED FILE..\n * DO NOT MODIFY!\n */\n" +
"public class JmeVersion {\n" +
" public static final String BUILD_DATE = \"${jmeBuildDate}\";\n" +
" public static final String BRANCH_NAME = \"${jmeBranchName}\";\n" +
" public static final String GIT_HASH = \"${jmeGitHash}\";\n" +
" public static final String GIT_SHORT_HASH = \"${jmeShortGitHash}\";\n" +
" public static final String FULL_NAME = \"jMonkeyEngine ${jmeVersion} (${jmeVersionTag})\";\n" +
"}\n"
}
compileJava.dependsOn(updateVersion)
dependencies { dependencies {
} }

View File

@ -376,7 +376,9 @@ public class GLRenderer implements Renderer {
caps.add(Caps.TextureFilterAnisotropic); caps.add(Caps.TextureFilterAnisotropic);
} }
if (hasExtension("GL_EXT_framebuffer_object") || gl3 != null) { if (hasExtension("GL_EXT_framebuffer_object")
|| gl3 != null
|| caps.contains(Caps.OpenGLES20)) {
caps.add(Caps.FrameBuffer); caps.add(Caps.FrameBuffer);
limits.put(Limits.RenderBufferSize, getInteger(GLFbo.GL_MAX_RENDERBUFFER_SIZE_EXT)); limits.put(Limits.RenderBufferSize, getInteger(GLFbo.GL_MAX_RENDERBUFFER_SIZE_EXT));

View File

@ -444,6 +444,7 @@ public class BatchNode extends GeometryGroupNode {
int maxWeights = -1; int maxWeights = -1;
Mesh.Mode mode = null; Mesh.Mode mode = null;
float lineWidth = 1f;
for (Geometry geom : geometries) { for (Geometry geom : geometries) {
totalVerts += geom.getVertexCount(); totalVerts += geom.getVertexCount();
totalTris += geom.getTriangleCount(); totalTris += geom.getTriangleCount();
@ -452,6 +453,7 @@ public class BatchNode extends GeometryGroupNode {
maxVertCount = geom.getVertexCount(); maxVertCount = geom.getVertexCount();
} }
Mesh.Mode listMode; Mesh.Mode listMode;
float listLineWidth = 1f;
int components; int components;
switch (geom.getMesh().getMode()) { switch (geom.getMesh().getMode()) {
case Points: case Points:
@ -462,6 +464,7 @@ public class BatchNode extends GeometryGroupNode {
case LineStrip: case LineStrip:
case Lines: case Lines:
listMode = Mesh.Mode.Lines; listMode = Mesh.Mode.Lines;
listLineWidth = geom.getMesh().getLineWidth();
components = 2; components = 2;
break; break;
case TriangleFan: case TriangleFan:
@ -491,13 +494,21 @@ public class BatchNode extends GeometryGroupNode {
if (mode != null && mode != listMode) { if (mode != null && mode != listMode) {
throw new UnsupportedOperationException("Cannot combine different" throw new UnsupportedOperationException("Cannot combine different"
+ " primitive types: " + mode + " != " + listMode); + " primitive types: " + mode + " != " + listMode);
} }
mode = listMode; mode = listMode;
if (mode == Mesh.Mode.Lines) {
if (lineWidth != 1f && listLineWidth != lineWidth) {
throw new UnsupportedOperationException("When using Mesh Line mode, cannot combine meshes with different line width "
+ lineWidth + " != " + listLineWidth);
}
lineWidth = listLineWidth;
}
compsForBuf[VertexBuffer.Type.Index.ordinal()] = components; compsForBuf[VertexBuffer.Type.Index.ordinal()] = components;
} }
outMesh.setMaxNumWeights(maxWeights); outMesh.setMaxNumWeights(maxWeights);
outMesh.setMode(mode); outMesh.setMode(mode);
outMesh.setLineWidth(lineWidth);
if (totalVerts >= 65536) { if (totalVerts >= 65536) {
// make sure we create an UnsignedInt buffer so // make sure we create an UnsignedInt buffer so
// we can fit all of the meshes // we can fit all of the meshes

View File

@ -0,0 +1,66 @@
/*
* Copyright (c) 2009-2015 jMonkeyEngine
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are
* met:
*
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
* * Neither the name of 'jMonkeyEngine' nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package com.jme3.system;
import java.io.IOException;
import java.util.Properties;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
* Pulls in version info from the version.properties file.
*
* @author Kirill Vainer
*/
public class JmeVersion {
private static final Logger logger = Logger.getLogger(JmeVersion.class.getName());
private static final Properties props = new Properties();
static {
try {
props.load(JmeVersion.class.getResourceAsStream("version.properties"));
} catch (IOException ex) {
logger.log(Level.WARNING, "Unable to read version info!", ex);
}
}
public static final String BUILD_DATE = props.getProperty("build.date", "1900-01-01");
public static final String BRANCH_NAME = props.getProperty("git.branch", "unknown");
public static final String GIT_HASH = props.getProperty("git.hash", "");
public static final String GIT_SHORT_HASH = props.getProperty("git.hash.short", "");
public static final String GIT_TAG = props.getProperty("git.tag", "");
public static final String VERSION_NUMBER = props.getProperty("version.number", "");
public static final String VERSION_TAG = props.getProperty("version.tag", "");
public static final String VERSION_FULL = props.getProperty("version.full", "");
public static final String FULL_NAME = props.getProperty("name.full", "jMonkeyEngine (unknown version)");
}

View File

@ -0,0 +1,11 @@
# THIS IS AN AUTO-GENERATED FILE..
# DO NOT MODIFY!
build.date=1900-01-01
git.revision=0
git.branch=unknown
git.hash=
git.hash.short=
git.tag=
name.full=jMonkeyEngine 3.1.0-UNKNOWN
version.number=3.1.0
version.tag=SNAPSHOT

View File

@ -50,8 +50,8 @@ javac.compilerargs=
javac.deprecation=false javac.deprecation=false
javac.processorpath=\ javac.processorpath=\
${javac.classpath} ${javac.classpath}
javac.source=1.5 javac.source=1.6
javac.target=1.5 javac.target=1.6
javac.test.classpath=\ javac.test.classpath=\
${javac.classpath}:\ ${javac.classpath}:\
${build.classes.dir} ${build.classes.dir}

View File

@ -32,8 +32,8 @@ javac.classpath=\
# Space-separated list of extra javac options # Space-separated list of extra javac options
javac.compilerargs= javac.compilerargs=
javac.deprecation=false javac.deprecation=false
javac.source=1.5 javac.source=1.6
javac.target=1.5 javac.target=1.6
javac.test.classpath=\ javac.test.classpath=\
${javac.classpath}:\ ${javac.classpath}:\
${build.classes.dir}:\ ${build.classes.dir}:\

View File

@ -47,8 +47,8 @@ javac.compilerargs=
javac.deprecation=false javac.deprecation=false
javac.processorpath=\ javac.processorpath=\
${javac.classpath} ${javac.classpath}
javac.source=1.5 javac.source=1.6
javac.target=1.5 javac.target=1.6
javac.test.classpath=\ javac.test.classpath=\
${javac.classpath}:\ ${javac.classpath}:\
${build.classes.dir} ${build.classes.dir}

View File

@ -36,8 +36,8 @@ javac.compilerargs=
javac.deprecation=false javac.deprecation=false
javac.processorpath=\ javac.processorpath=\
${javac.classpath} ${javac.classpath}
javac.source=1.5 javac.source=1.6
javac.target=1.5 javac.target=1.6
javac.test.classpath=\ javac.test.classpath=\
${javac.classpath}:\ ${javac.classpath}:\
${build.classes.dir} ${build.classes.dir}

View File

@ -165,7 +165,7 @@ task createBaseXml(dependsOn: configurations.corelibs) <<{
"compile-dependency"{} "compile-dependency"{}
"run-dependency"{ "run-dependency"{
"release-version" "1" "release-version" "1"
"specification-version" "3.0.0" "specification-version" jmeVersion
} }
} }
} }
@ -388,12 +388,14 @@ copyTestSources.outputs.dir "JME3TestsTemplate/src/"
copyTestSources.outputs.dir "JME3TestsTemplateAndroid/src/" copyTestSources.outputs.dir "JME3TestsTemplateAndroid/src/"
ant.properties['plugins.version'] = jmeVersion ant.properties['plugins.version'] = jmeVersion
ant.properties['app.version']= jmeMainVersion + "-" + jmeVersionTag ant.properties['app.version']= jmeFullVersion
ant.properties['git.revision']= jmeRevision
task buildSdk(dependsOn: [copyBaseLibs, copyProjectLibs, createProjectXml, createBaseXml, copyTestSources]) <<{ task buildSdk(dependsOn: [copyBaseLibs, copyProjectLibs, createProjectXml, createBaseXml, copyTestSources]) <<{
ant.propertyfile(file: "nbproject/project.properties") { ant.propertyfile(file: "nbproject/project.properties") {
entry( key: "plugins.version", value: "${jmeVersion}") entry( key: "plugins.version", value: "${jmeVersion}")
entry( key: "app.version", value: "${jmeMainVersion + "-" + jmeVersionTag}") entry( key: "app.version", value: "${jmeFullVersion}")
entry( key: "git.revision", value: "${jmeRevision}")
} }
ant.ant(dir: ".", antfile: "build.xml", target: "build") ant.ant(dir: ".", antfile: "build.xml", target: "build")
} }

View File

@ -12,7 +12,6 @@
<taskdef resource="net/sf/antcontrib/antcontrib.properties" classpathref="ant-import.classpath"/> <taskdef resource="net/sf/antcontrib/antcontrib.properties" classpathref="ant-import.classpath"/>
<taskdef resource="com/jme/ant/ant-jme.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="deb" classname="com.googlecode.ant_deb_task.Deb" classpathref="ant-import.classpath"/>
<taskdef name="gcupload" classname="net.bluecow.googlecode.ant.GoogleCodeUploadTask" classpathref="ant-import.classpath"/>
<taskdef name="desktopentry" classname="com.googlecode.ant_deb_task.DesktopEntry" 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--> <!--override branding target to include netbeans config file creation, using this target makes sure init was called-->
@ -157,7 +156,7 @@
replace="OpenIDE-Module-Specification-Version: ${plugins.version}" replace="OpenIDE-Module-Specification-Version: ${plugins.version}"
byline="true"/> byline="true"/>
<replaceregexp file="${module_dir}/nbproject/project.properties" <replaceregexp file="${module_dir}/nbproject/project.properties"
match="spec.version.base" match="#*spec\.version\.base"
replace="#spec.version.base" replace="#spec.version.base"
byline="true"/> byline="true"/>
</then> </then>
@ -167,7 +166,7 @@
replace="OpenIDE-Module-Implementation-Version: 0" replace="OpenIDE-Module-Implementation-Version: 0"
byline="true"/> byline="true"/>
<replaceregexp file="${module_dir}/nbproject/project.properties" <replaceregexp file="${module_dir}/nbproject/project.properties"
match="#spec.version.base" match="#*spec\.version\.base"
replace="spec.version.base" replace="spec.version.base"
byline="true"/> byline="true"/>
</else> </else>
@ -176,9 +175,6 @@
<target name="set-impl-version"> <target name="set-impl-version">
<property file="nbproject/project.properties"/> <property file="nbproject/project.properties"/>
<antcall target="-create-jme3-svn-properties" inheritall="true">
<param name="jme3_dir" value="../engine/"/>
</antcall>
<foreach target="-do-impl-version" list="${modules}" delimiter=":" param="module_dir" inheritall="true"> <foreach target="-do-impl-version" list="${modules}" delimiter=":" param="module_dir" inheritall="true">
<param name="set_impl_version" value="true"/> <param name="set_impl_version" value="true"/>
</foreach> </foreach>
@ -191,105 +187,19 @@
</foreach> </foreach>
</target> </target>
<!--sets/unsets implementation version to svn revision for plugins--> <!--sets/unsets implementation version to GIT revision for plugins-->
<target name="-do-impl-version"> <target name="-do-impl-version">
<!--jme3 libraries-->
<if>
<or>
<equals arg1="${module_dir}" arg2="jme3-core-libraries"/>
<equals arg1="${module_dir}" arg2="jme3-project-libraries"/>
</or>
<then>
<!--set jme3 libraries svn revision-->
<property prefix="svn" file="build/jme3-lib-svn.properties"/>
</then>
<else>
<!--jme3 core-->
<if>
<or>
<equals arg1="${module_dir}" arg2="jme3-core-baselibs"/>
<equals arg1="${module_dir}" arg2="jme3-project-baselibs"/>
</or>
<then>
<!--set jme3 svn revision-->
<property prefix="svn" file="build/jme3-svn.properties"/>
</then>
<else>
<!--jme3 test data-->
<if>
<equals arg1="${module_dir}" arg2="jme3-project-testdata"/>
<then>
<!--set jme3 testdata svn revision-->
<property prefix="svn" file="build/jme3-testdata-svn.properties"/>
</then>
<else>
<!--jme3 tests-->
<if>
<equals arg1="${module_dir}" arg2="jme3-tests-template"/>
<then>
<!--set jme3 tests svn revision-->
<property prefix="svn" file="build/jme3-tests-svn.properties"/>
</then>
<!--"normal" module-->
<else>
<!--load svn revision of this modules folder if we are setting the value-->
<if>
<equals arg1="${set_impl_version}" arg2="true"/>
<then>
<exec executable="svn" output="build/${module_dir}-svn.properties" dir="${module_dir}">
<arg value="info" />
</exec>
<replace file="build/${module_dir}-svn.properties" token=" " value=""/>
</then>
</if>
<!--set svn revision of module-->
<property prefix="svn" file="build/${module_dir}-svn.properties"/>
</else>
</if>
</else>
</if>
</else>
</if>
</else>
</if>
<if> <if>
<equals arg1="${set_impl_version}" arg2="true"/> <equals arg1="${set_impl_version}" arg2="true"/>
<then> <then>
<echo>Setting implementation version for ${module_dir} to revision: ${svn.LastChangedRev}</echo> <echo>Setting implementation version for ${module_dir} to revision: ${git.revision}</echo>
<replace file="${module_dir}/manifest.mf" token="OpenIDE-Module-Implementation-Version: 0" value="OpenIDE-Module-Implementation-Version: ${svn.LastChangedRev}"/> <replace file="${module_dir}/manifest.mf" token="OpenIDE-Module-Implementation-Version: 0" value="OpenIDE-Module-Implementation-Version: ${git.revision}"/>
</then> </then>
<else> <else>
<echo>Removing implementation version for ${module_dir} from revision: ${svn.LastChangedRev}</echo> <echo>Removing implementation version for ${module_dir} from revision: ${git.revision}</echo>
<replace file="${module_dir}/manifest.mf" token="OpenIDE-Module-Implementation-Version: ${svn.LastChangedRev}" value="OpenIDE-Module-Implementation-Version: 0"/> <replace file="${module_dir}/manifest.mf" token="OpenIDE-Module-Implementation-Version: ${git.revision}" value="OpenIDE-Module-Implementation-Version: 0"/>
</else> </else>
</if> </if>
</target>
<!--creates properties files containing svn info for the jme3 folders-->
<target name="-create-jme3-svn-properties">
<mkdir dir="build"/>
<!--jme3 svn properties-->
<exec executable="svn" dir="${jme3_dir}/src/" output="build/jme3-svn.properties">
<arg value="info" />
</exec>
<replace file="build/jme3-svn.properties" token=" " value=""/>
<!--jme3 test data svn properties-->
<exec executable="svn" dir="${jme3_dir}/test-data/" output="build/jme3-testdata-svn.properties">
<arg value="info" />
</exec>
<replace file="build/jme3-testdata-svn.properties" token=" " value=""/>
<!--jme3 libraries svn properties-->
<exec executable="svn" dir="${jme3_dir}/lib/" output="build/jme3-lib-svn.properties">
<arg value="info" />
</exec>
<replace file="build/jme3-lib-svn.properties" token=" " value=""/>
<!--jme3 tests svn properties-->
<exec executable="svn" dir="${jme3_dir}/src/test/" output="build/jme3-tests-svn.properties">
<arg value="info" />
</exec>
<replace file="build/jme3-tests-svn.properties" token=" " value=""/>
</target> </target>
<target name="build-installers"> <target name="build-installers">
@ -311,6 +221,8 @@
<property name="pack200.enabled" value="true"/> <property name="pack200.enabled" value="true"/>
<property name="nbi.icon.file" value="${basedir}/jmonkeyplatform.png"/> <property name="nbi.icon.file" value="${basedir}/jmonkeyplatform.png"/>
<property name="nbi.dock.icon.file" value="${basedir}/jmonkeyplatform.icns"/> <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> </ant>
</target> </target>
@ -339,7 +251,7 @@
section="devel" section="devel"
depends="sun-java6-jdk" depends="sun-java6-jdk"
maintainer="jMonkeyEngine" maintainer="jMonkeyEngine"
homepage="http://www.jmonkeyengine.com" homepage="http://www.jmonkeyengine.org"
postrm="debscripts/postrm" postrm="debscripts/postrm"
> >
<tarfileset dir="dist/${app.name}/" prefix="opt/${app.name}"> <tarfileset dir="dist/${app.name}/" prefix="opt/${app.name}">
@ -360,57 +272,4 @@
</deb> </deb>
</target> </target>
<target name="-upload-googlecode" depends="-check-googlecode" if="googlecode.credentials.present">
<property file="nbproject/project.properties"/>
<property file="../../../googlecode.properties" prefix="googlecode"/>
<echo>Upload windows installers to googlecode..</echo>
<gcupload projectname="jmonkeyengine"
labels="Type-Installer, OpSys-Windows, jMonkeyEngine3, Featured"
summary="jMonkeyEngine3 SDK ${app.version} for Windows32"
filename="${basedir}/dist/${app.name}-windows-x86.exe"
targetfilename="jME3_SDK_${app.version}-windows-x86.exe"
username="${googlecode.username}"
password="${googlecode.password}"
/>
<gcupload projectname="jmonkeyengine"
labels="Type-Installer, OpSys-Windows, jMonkeyEngine3, Featured"
summary="jMonkeyEngine3 SDK ${app.version} for Windows64"
filename="${basedir}/dist/${app.name}-windows-x64.exe"
targetfilename="jME3_SDK_${app.version}-windows-x64.exe"
username="${googlecode.username}"
password="${googlecode.password}"
/>
<echo>Upload linux installers to googlecode..</echo>
<gcupload projectname="jmonkeyengine"
labels="Type-Installer, OpSys-Linux, jMonkeyEngine3, Featured"
summary="jMonkeyEngine3 SDK ${app.version} for Linux32"
filename="${basedir}/dist/${app.name}-linux-x86.sh"
targetfilename="jME3_SDK_${app.version}-linux-x86.sh"
username="${googlecode.username}"
password="${googlecode.password}"
/>
<gcupload projectname="jmonkeyengine"
labels="Type-Installer, OpSys-Linux, jMonkeyEngine3, Featured"
summary="jMonkeyEngine3 SDK ${app.version} for Linux64"
filename="${basedir}/dist/${app.name}-linux-x64.sh"
targetfilename="jME3_SDK_${app.version}-linux-x64.sh"
username="${googlecode.username}"
password="${googlecode.password}"
/>
<echo>Upload mac installer to googlecode..</echo>
<gcupload projectname="jmonkeyengine"
labels="Type-Installer, OpSys-OSX, jMonkeyEngine3, Featured"
summary="jMonkeyEngine3 SDK ${app.version} for MacOS X"
filename="${basedir}/dist/${app.name}-macosx.tgz"
targetfilename="jME3_SDK_${app.version}-macosx.tgz"
username="${googlecode.username}"
password="${googlecode.password}"
/>
</target>
<target name="-check-googlecode">
<available file="../../../googlecode.properties" property="googlecode.credentials.present"/>
</target>
</project> </project>

View File

@ -1,5 +1,5 @@
#!/bin/sh #!/bin/sh
#(c) jMonkeyEngine.com #(c) jmonkeyengine.org
#Author Normen Hansen #Author Normen Hansen
set -e set -e
rm -rf jdk-macosx.zip rm -rf jdk-macosx.zip

View File

@ -1,6 +1,6 @@
#!/bin/bash #!/bin/bash
set -e set -e
#(c) jMonkeyEngine.com #(c) jmonkeyengine.org
#This script creates SFX binaries of the JDK for the specified platform #This script creates SFX binaries of the JDK for the specified platform
#Author Normen Hansen #Author Normen Hansen

View File

@ -3,7 +3,7 @@
javac.source=1.6 javac.source=1.6
javac.compilerargs=-Xlint -Xlint:-serial javac.compilerargs=-Xlint -Xlint:-serial
license.file=../license-jme.txt license.file=../license-jme.txt
nbm.homepage=http://www.jmonkeyengine.com nbm.homepage=http://www.jmonkeyengine.org
nbm.module.author=Normen Hansen nbm.module.author=Normen Hansen
nbm.needs.restart=true nbm.needs.restart=true
spec.version.base=3.1.0 spec.version.base=3.1.0

View File

@ -1,4 +1,4 @@
#Thu, 25 Aug 2011 20:26:50 +0200 #Thu, 25 Aug 2011 20:26:50 +0200
javac.source=1.5 javac.source=1.6
javac.compilerargs=-Xlint -Xlint\:-serial javac.compilerargs=-Xlint -Xlint\:-serial
spec.version.base=3.1.0 spec.version.base=3.1.0

View File

@ -1,8 +1,8 @@
#Thu, 25 Aug 2011 20:26:49 +0200 #Thu, 25 Aug 2011 20:26:49 +0200
javac.source=1.5 javac.source=1.6
javac.compilerargs=-Xlint -Xlint\:-serial javac.compilerargs=-Xlint -Xlint\:-serial
license.file=../license-jme.txt license.file=../license-jme.txt
nbm.homepage=http\://www.jmonkeyengine.com nbm.homepage=http\://www.jmonkeyengine.org
nbm.module.author=Normen Hansen nbm.module.author=Normen Hansen
nbm.needs.restart=true nbm.needs.restart=true
spec.version.base=3.1.0 spec.version.base=3.1.0

View File

@ -1,7 +1,7 @@
#Thu, 25 Aug 2011 20:26:50 +0200 #Thu, 25 Aug 2011 20:26:50 +0200
javac.source=1.5 javac.source=1.6
javac.compilerargs=-Xlint -Xlint\:-serial javac.compilerargs=-Xlint -Xlint\:-serial
nbm.homepage=http\://www.jmonkeyengine.com nbm.homepage=http\://www.jmonkeyengine.org
nbm.module.author=Kaelthas nbm.module.author=Kaelthas
nbm.needs.restart=true nbm.needs.restart=true
spec.version.base=3.1.0 spec.version.base=3.1.0

View File

@ -1,8 +1,8 @@
#Thu, 25 Aug 2011 20:26:50 +0200 #Thu, 25 Aug 2011 20:26:50 +0200
javac.source=1.5 javac.source=1.6
javac.compilerargs=-Xlint -Xlint\:-serial javac.compilerargs=-Xlint -Xlint\:-serial
license.file=../license-jme.txt license.file=../license-jme.txt
nbm.homepage=http\://www.jmonkeyengine.com nbm.homepage=http\://www.jmonkeyengine.org
nbm.module.author=R\u00e9my Bouquet nbm.module.author=R\u00e9my Bouquet
nbm.needs.restart=true nbm.needs.restart=true
spec.version.base=3.1.0 spec.version.base=3.1.0

View File

@ -1,8 +1,8 @@
#Thu, 25 Aug 2011 20:26:49 +0200 #Thu, 25 Aug 2011 20:26:49 +0200
javac.source=1.5 javac.source=1.6
javac.compilerargs=-Xlint -Xlint\:-serial javac.compilerargs=-Xlint -Xlint\:-serial
license.file=../license-jme.txt license.file=../license-jme.txt
nbm.homepage=http\://www.jmonkeyengine.com nbm.homepage=http\://www.jmonkeyengine.org
nbm.module.author=Normen Hansen nbm.module.author=Normen Hansen
nbm.needs.restart=true nbm.needs.restart=true
spec.version.base=3.1.0 spec.version.base=3.1.0

View File

@ -1,7 +1,7 @@
javac.source=1.5 javac.source=1.6
javac.compilerargs=-Xlint -Xlint\:-serial javac.compilerargs=-Xlint -Xlint\:-serial
license.file=../license-jme.txt license.file=../license-jme.txt
nbm.homepage=http\://www.jmonkeyengine.com nbm.homepage=http\://www.jmonkeyengine.org
nbm.module.author=jMonkeyEngine nbm.module.author=jMonkeyEngine
nbm.needs.restart=true nbm.needs.restart=true
spec.version.base=3.1.0 spec.version.base=3.1.0

View File

@ -1,8 +1,8 @@
#Thu, 25 Aug 2011 20:26:48 +0200 #Thu, 25 Aug 2011 20:26:48 +0200
javac.source=1.5 javac.source=1.6
javac.compilerargs=-Xlint -Xlint\:-serial javac.compilerargs=-Xlint -Xlint\:-serial
license.file=../license-jme.txt license.file=../license-jme.txt
nbm.homepage=http\://www.jmonkeyengine.com nbm.homepage=http\://www.jmonkeyengine.org
nbm.module.author=jMonkeyEngine nbm.module.author=jMonkeyEngine
nbm.needs.restart=true nbm.needs.restart=true
spec.version.base=3.1.0 spec.version.base=3.1.0

View File

@ -1,4 +1,4 @@
#Thu, 25 Aug 2011 20:26:49 +0200 #Thu, 25 Aug 2011 20:26:49 +0200
javac.source=1.5 javac.source=1.6
javac.compilerargs=-Xlint -Xlint\:-serial javac.compilerargs=-Xlint -Xlint\:-serial
spec.version.base=3.1.0 spec.version.base=3.1.0

View File

@ -1,6 +1,6 @@
#jMP update centers #jMP update centers
com_jme3_gde_core_update_center_nightly=http://updates.jmonkeyengine.org/nightly/3.0/plugins/updates.xml com_jme3_gde_core_update_center_nightly=http://updates.jmonkeyengine.org/nightly/3.1/plugins/updates.xml
com_jme3_gde_core_update_center_stable=http://updates.jmonkeyengine.org/stable/3.0/plugins/updates.xml com_jme3_gde_core_update_center_stable=http://updates.jmonkeyengine.org/stable/3.1/plugins/updates.xml
com_jme3_jmp_contributions_update_center=http://updates.jmonkeyengine.org/contributions/updates.xml com_jme3_jmp_contributions_update_center=http://updates.jmonkeyengine.org/contributions/updates.xml
#jMP update centers #jMP update centers

View File

@ -1,10 +1,10 @@
#Thu, 25 Aug 2011 20:26:48 +0200 #Thu, 25 Aug 2011 20:26:48 +0200
file.reference.DDSUtils.jar=release/modules/ext/DDSUtils.jar file.reference.DDSUtils.jar=release/modules/ext/DDSUtils.jar
#Thu, 25 Aug 2011 19:32:54 +0200 #Thu, 25 Aug 2011 19:32:54 +0200
javac.source=1.5 javac.source=1.6
javac.compilerargs=-Xlint -Xlint\:-serial javac.compilerargs=-Xlint -Xlint\:-serial
license.file=../license-jme.txt license.file=../license-jme.txt
nbm.homepage=http\://www.jmonkeyengine.com nbm.homepage=http\://www.jmonkeyengine.org
nbm.module.author=Normen Hansen nbm.module.author=Normen Hansen
nbm.needs.restart=true nbm.needs.restart=true
project.license=jme project.license=jme

View File

@ -1,8 +1,8 @@
#Thu, 25 Aug 2011 20:26:49 +0200 #Thu, 25 Aug 2011 20:26:49 +0200
javac.source=1.5 javac.source=1.6
javac.compilerargs=-Xlint -Xlint\:-serial javac.compilerargs=-Xlint -Xlint\:-serial
license.file=../license-jme.txt license.file=../license-jme.txt
nbm.homepage=http\://www.jmonkeyengine.com nbm.homepage=http\://www.jmonkeyengine.org
nbm.module.author=Normen Hansen nbm.module.author=Normen Hansen
nbm.needs.restart=true nbm.needs.restart=true
spec.version.base=3.1.0 spec.version.base=3.1.0

View File

@ -1,6 +1,6 @@
javac.source=1.6 javac.source=1.6
javac.compilerargs=-Xlint -Xlint:-serial javac.compilerargs=-Xlint -Xlint:-serial
license.file=../license-jme.txt license.file=../license-jme.txt
nbm.homepage=http://www.jmonkeyengine.com nbm.homepage=http://www.jmonkeyengine.org
nbm.module.author=Normen Hansen, Ruth Kusterer, many others nbm.module.author=Normen Hansen, Ruth Kusterer, many others
spec.version.base=3.1.0 spec.version.base=3.1.0

View File

@ -10,10 +10,10 @@ file.reference.slf4j-simple-1.7.7.jar=release/modules/ext/slf4j-simple-1.7.7.jar
file.reference.swingtonifty.jar=release/modules/ext/swingtonifty.jar file.reference.swingtonifty.jar=release/modules/ext/swingtonifty.jar
file.reference.xsom-20110101-SNAPSHOT.jar=release/modules/ext/xsom-20110101-SNAPSHOT.jar file.reference.xsom-20110101-SNAPSHOT.jar=release/modules/ext/xsom-20110101-SNAPSHOT.jar
#Thu, 25 Aug 2011 20:26:49 +0200 #Thu, 25 Aug 2011 20:26:49 +0200
javac.source=1.5 javac.source=1.6
javac.compilerargs=-Xlint -Xlint:-serial javac.compilerargs=-Xlint -Xlint:-serial
license.file=../license-jme.txt license.file=../license-jme.txt
nbm.homepage=http://www.jmonkeyengine.com nbm.homepage=http://www.jmonkeyengine.org
nbm.module.author=Relucri nbm.module.author=Relucri
nbm.needs.restart=true nbm.needs.restart=true
spec.version.base=3.1.0 spec.version.base=3.1.0

View File

@ -1,8 +1,8 @@
#Thu, 25 Aug 2011 20:26:49 +0200 #Thu, 25 Aug 2011 20:26:49 +0200
javac.source=1.5 javac.source=1.6
javac.compilerargs=-Xlint -Xlint\:-serial javac.compilerargs=-Xlint -Xlint\:-serial
license.file=../license-jme.txt license.file=../license-jme.txt
nbm.homepage=http\://www.jmonkeyengine.com nbm.homepage=http\://www.jmonkeyengine.org
nbm.module.author=Normen Hansen nbm.module.author=Normen Hansen
nbm.needs.restart=true nbm.needs.restart=true
spec.version.base=3.1.0 spec.version.base=3.1.0

View File

@ -1,8 +1,8 @@
#Thu, 25 Aug 2011 20:26:49 +0200 #Thu, 25 Aug 2011 20:26:49 +0200
javac.source=1.5 javac.source=1.6
javac.compilerargs=-Xlint -Xlint\:-serial javac.compilerargs=-Xlint -Xlint\:-serial
license.file=../license-jme.txt license.file=../license-jme.txt
nbm.homepage=http\://www.jmonkeyengine.com nbm.homepage=http\://www.jmonkeyengine.org
nbm.module.author=Normen Hansen nbm.module.author=Normen Hansen
nbm.needs.restart=true nbm.needs.restart=true
spec.version.base=3.1.0 spec.version.base=3.1.0

View File

@ -1,8 +1,8 @@
#Thu, 25 Aug 2011 20:26:49 +0200 #Thu, 25 Aug 2011 20:26:49 +0200
javac.source=1.5 javac.source=1.6
javac.compilerargs=-Xlint -Xlint\:-serial javac.compilerargs=-Xlint -Xlint\:-serial
license.file=../license-jme.txt license.file=../license-jme.txt
nbm.homepage=http\://www.jmonkeyengine.com nbm.homepage=http\://www.jmonkeyengine.org
nbm.module.author=Normen Hansen nbm.module.author=Normen Hansen
nbm.needs.restart=true nbm.needs.restart=true
spec.version.base=3.1.0 spec.version.base=3.1.0

View File

@ -1,6 +1,6 @@
javac.source=1.6 javac.source=1.6
javac.compilerargs=-Xlint -Xlint:-serial javac.compilerargs=-Xlint -Xlint:-serial
license.file=../license-jme.txt license.file=../license-jme.txt
nbm.homepage=http://www.jmonkeyengine.com nbm.homepage=http://www.jmonkeyengine.org
nbm.module.author=Brent Owens nbm.module.author=Brent Owens
spec.version.base=3.1.0 spec.version.base=3.1.0

View File

@ -1,5 +1,5 @@
#Thu, 25 Aug 2011 20:26:50 +0200 #Thu, 25 Aug 2011 20:26:50 +0200
javac.source=1.5 javac.source=1.6
javac.compilerargs=-Xlint -Xlint\:-serial javac.compilerargs=-Xlint -Xlint\:-serial
nbm.homepage=http\://proguard.sourceforge.net/ nbm.homepage=http\://proguard.sourceforge.net/
nbm.module.author=Normen Hansen nbm.module.author=Normen Hansen

View File

@ -1,8 +1,8 @@
#Thu, 25 Aug 2011 20:26:49 +0200 #Thu, 25 Aug 2011 20:26:49 +0200
javac.source=1.5 javac.source=1.6
javac.compilerargs=-Xlint -Xlint\:-serial javac.compilerargs=-Xlint -Xlint\:-serial
license.file=../license-jme.txt license.file=../license-jme.txt
nbm.homepage=http\://www.jmonkeyengine.com nbm.homepage=http\://www.jmonkeyengine.org
nbm.module.author=Normen Hansen nbm.module.author=Normen Hansen
nbm.needs.restart=true nbm.needs.restart=true
spec.version.base=3.1.0 spec.version.base=3.1.0

View File

@ -1,8 +1,8 @@
#Thu, 25 Aug 2011 20:26:48 +0200 #Thu, 25 Aug 2011 20:26:48 +0200
javac.source=1.5 javac.source=1.6
javac.compilerargs=-Xlint -Xlint\:-serial javac.compilerargs=-Xlint -Xlint\:-serial
license.file=../license-jme.txt license.file=../license-jme.txt
nbm.homepage=http\://www.jmonkeyengine.com nbm.homepage=http\://www.jmonkeyengine.org
nbm.module.author=Normen Hansen nbm.module.author=Normen Hansen
nbm.needs.restart=true nbm.needs.restart=true
spec.version.base=3.1.0 spec.version.base=3.1.0

View File

@ -1,8 +1,8 @@
#Thu, 25 Aug 2011 20:26:48 +0200 #Thu, 25 Aug 2011 20:26:48 +0200
javac.source=1.5 javac.source=1.6
javac.compilerargs=-Xlint -Xlint\:-serial javac.compilerargs=-Xlint -Xlint\:-serial
license.file=../license-jme.txt license.file=../license-jme.txt
nbm.homepage=http\://www.jmonkeyengine.com nbm.homepage=http\://www.jmonkeyengine.org
nbm.module.author=jMonkeyEngine nbm.module.author=jMonkeyEngine
nbm.needs.restart=true nbm.needs.restart=true
spec.version.base=3.1.0 spec.version.base=3.1.0

View File

@ -1,8 +1,8 @@
#Thu, 25 Aug 2011 20:26:48 +0200 #Thu, 25 Aug 2011 20:26:48 +0200
javac.source=1.5 javac.source=1.6
javac.compilerargs=-Xlint -Xlint\:-serial javac.compilerargs=-Xlint -Xlint\:-serial
license.file=../license-jme.txt license.file=../license-jme.txt
nbm.homepage=http\://www.jmonkeyengine.com nbm.homepage=http\://www.jmonkeyengine.org
nbm.module.author=jMonkeyEngine nbm.module.author=jMonkeyEngine
nbm.needs.restart=true nbm.needs.restart=true
spec.version.base=3.1.0 spec.version.base=3.1.0

View File

@ -1,8 +1,8 @@
#Thu, 25 Aug 2011 20:26:48 +0200 #Thu, 25 Aug 2011 20:26:48 +0200
javac.source=1.5 javac.source=1.6
javac.compilerargs=-Xlint -Xlint\:-serial javac.compilerargs=-Xlint -Xlint\:-serial
license.file=../license-jme.txt license.file=../license-jme.txt
nbm.homepage=http\://www.jmonkeyengine.com nbm.homepage=http\://www.jmonkeyengine.org
nbm.module.author=jMonkeyEngine nbm.module.author=jMonkeyEngine
nbm.needs.restart=true nbm.needs.restart=true
spec.version.base=3.1.0 spec.version.base=3.1.0

View File

@ -1,8 +1,8 @@
#Thu, 25 Aug 2011 20:26:49 +0200 #Thu, 25 Aug 2011 20:26:49 +0200
javac.source=1.5 javac.source=1.6
javac.compilerargs=-Xlint -Xlint\:-serial javac.compilerargs=-Xlint -Xlint\:-serial
license.file=../license-jme.txt license.file=../license-jme.txt
nbm.homepage=http\://www.jmonkeyengine.com nbm.homepage=http\://www.jmonkeyengine.org
nbm.module.author=Normen Hansen nbm.module.author=Normen Hansen
nbm.needs.restart=true nbm.needs.restart=true
spec.version.base=3.1.0 spec.version.base=3.1.0

View File

@ -1,8 +1,8 @@
#Thu, 25 Aug 2011 20:26:48 +0200 #Thu, 25 Aug 2011 20:26:48 +0200
javac.source=1.5 javac.source=1.6
javac.compilerargs=-Xlint -Xlint\:-serial javac.compilerargs=-Xlint -Xlint\:-serial
license.file=../license-jme.txt license.file=../license-jme.txt
nbm.homepage=http\://www.jmonkeyengine.com nbm.homepage=http\://www.jmonkeyengine.org
nbm.module.author=jMonkeyEngine nbm.module.author=jMonkeyEngine
nbm.needs.restart=true nbm.needs.restart=true
spec.version.base=3.1.0 spec.version.base=3.1.0

View File

@ -1,7 +1,7 @@
#Thu, 25 Aug 2011 20:26:49 +0200 #Thu, 25 Aug 2011 20:26:49 +0200
javac.source=1.5 javac.source=1.6
javac.compilerargs=-Xlint -Xlint\:-serial javac.compilerargs=-Xlint -Xlint\:-serial
license.file=../license-jme.txt license.file=../license-jme.txt
nbm.homepage=http\://www.jmonkeyengine.com nbm.homepage=http\://www.jmonkeyengine.org
nbm.module.author=Brent Owens, Normen Hansen nbm.module.author=Brent Owens, Normen Hansen
spec.version.base=3.1.0 spec.version.base=3.1.0

View File

@ -1,8 +1,8 @@
#Thu, 25 Aug 2011 20:26:48 +0200 #Thu, 25 Aug 2011 20:26:48 +0200
javac.source=1.5 javac.source=1.6
javac.compilerargs=-Xlint -Xlint\:-serial javac.compilerargs=-Xlint -Xlint\:-serial
license.file=../license-jme.txt license.file=../license-jme.txt
nbm.homepage=http\://www.jmonkeyengine.com nbm.homepage=http\://www.jmonkeyengine.org
nbm.module.author=jMonkeyEngine nbm.module.author=jMonkeyEngine
nbm.needs.restart=true nbm.needs.restart=true
spec.version.base=3.1.0 spec.version.base=3.1.0

View File

@ -1,8 +1,8 @@
#Thu, 25 Aug 2011 20:26:49 +0200 #Thu, 25 Aug 2011 20:26:49 +0200
javac.source=1.5 javac.source=1.6
javac.compilerargs=-Xlint -Xlint\:-serial javac.compilerargs=-Xlint -Xlint\:-serial
license.file=../license-jme.txt license.file=../license-jme.txt
nbm.homepage=http\://www.jmonkeyengine.com nbm.homepage=http\://www.jmonkeyengine.org
nbm.module.author=pgi nbm.module.author=pgi
nbm.needs.restart=true nbm.needs.restart=true
spec.version.base=3.1.0 spec.version.base=3.1.0

View File

@ -1,4 +1,4 @@
#Thu, 25 Aug 2011 20:26:50 +0200 #Thu, 25 Aug 2011 20:26:50 +0200
javac.source=1.5 javac.source=1.6
javac.compilerargs=-Xlint -Xlint\:-serial javac.compilerargs=-Xlint -Xlint\:-serial
spec.version.base=3.1.0 spec.version.base=3.1.0

View File

@ -1,4 +1,4 @@
#Thu, 25 Aug 2011 20:26:49 +0200 #Thu, 25 Aug 2011 20:26:49 +0200
javac.source=1.5 javac.source=1.6
javac.compilerargs=-Xlint -Xlint\:-serial javac.compilerargs=-Xlint -Xlint\:-serial
spec.version.base=3.1.0 spec.version.base=3.1.0

View File

@ -1,7 +1,7 @@
javac.source=1.5 javac.source=1.6
javac.compilerargs=-Xlint -Xlint\:-serial javac.compilerargs=-Xlint -Xlint\:-serial
license.file=../license-jme.txt license.file=../license-jme.txt
nbm.homepage=http\://www.jmonkeyengine.com nbm.homepage=http\://www.jmonkeyengine.org
nbm.module.author=Normen Hansen, jiyarza nbm.module.author=Normen Hansen, jiyarza
nbm.needs.restart=true nbm.needs.restart=true
spec.version.base=3.1.0 spec.version.base=3.1.0

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 65 KiB

View File

@ -1,4 +1,4 @@
Copyright (c) 2003-2012 jMonkeyEngine Copyright (c) 2003-2015 jMonkeyEngine
All rights reserved. All rights reserved.
Redistribution and use in source and binary forms, with or without Redistribution and use in source and binary forms, with or without

View File

@ -27,8 +27,8 @@ javac.classpath=\
# Space-separated list of extra javac options # Space-separated list of extra javac options
javac.compilerargs= javac.compilerargs=
javac.deprecation=false javac.deprecation=false
javac.source=1.5 javac.source=1.6
javac.target=1.5 javac.target=1.6
javac.test.classpath=\ javac.test.classpath=\
${javac.classpath}:\ ${javac.classpath}:\
${build.classes.dir}:\ ${build.classes.dir}:\

View File

@ -1,8 +1,11 @@
package org.mycompany; package org.mycompany;
import java.io.File;
import java.util.List; import java.util.List;
import org.netbeans.installer.product.Registry; import org.netbeans.installer.product.Registry;
import org.netbeans.installer.product.components.Product;
import org.netbeans.installer.product.components.ProductConfigurationLogic; import org.netbeans.installer.product.components.ProductConfigurationLogic;
import org.netbeans.installer.utils.LogManager;
import org.netbeans.installer.utils.helper.RemovalMode; import org.netbeans.installer.utils.helper.RemovalMode;
import org.netbeans.installer.utils.exceptions.InitializationException; import org.netbeans.installer.utils.exceptions.InitializationException;
import org.netbeans.installer.utils.exceptions.InstallationException; import org.netbeans.installer.utils.exceptions.InstallationException;
@ -35,6 +38,20 @@ public class ConfigurationLogic extends ProductConfigurationLogic {
@Override @Override
public void install(Progress progress) throws InstallationException { public void install(Progress progress) throws InstallationException {
final Product product = getProduct();
final File installLocation = product.getInstallationLocation();
LogManager.log("Setting Blender files as executable");
setExecutableFile(installLocation, "blender");
setExecutableFile(installLocation, "blenderplayer");
setExecutableFile(installLocation, "blender-softwaregl");
}
private static void setExecutableFile(File parent, String path) {
File binFile = new File(parent, path);
try {
binFile.setExecutable(true, false);
} catch (Exception ex) {
ex.printStackTrace();
}
} }
@Override @Override

View File

@ -27,8 +27,8 @@ javac.classpath=\
# Space-separated list of extra javac options # Space-separated list of extra javac options
javac.compilerargs= javac.compilerargs=
javac.deprecation=false javac.deprecation=false
javac.source=1.5 javac.source=1.6
javac.target=1.5 javac.target=1.6
javac.test.classpath=\ javac.test.classpath=\
${javac.classpath}:\ ${javac.classpath}:\
${build.classes.dir}:\ ${build.classes.dir}:\

View File

@ -1,6 +1,7 @@
CL.app.name={product-simple-name} CL.app.name={product-simple-name}
CL.app.categories={product-categories}
CL.desktop.shortcut.name={product-name} CL.desktop.shortcut.name={product-name}
CL.desktop.shortcut.description= CL.desktop.shortcut.description={product-description}
CL.desktop.shortcut.path= CL.desktop.shortcut.path=
CL.unix.icon.name={product-icon-name} CL.unix.icon.name={product-icon-name}
CL.unix.icon.resource=org/mycompany/{product-icon-name} CL.unix.icon.resource=org/mycompany/{product-icon-name}
@ -8,7 +9,7 @@ CL.unix.icon.resource=org/mycompany/{product-icon-name}
CL.start.menu.shortcut.name={product-name} CL.start.menu.shortcut.name={product-name}
CL.start.menu.shortcut.name.macosx={product-name} CL.start.menu.shortcut.name.macosx={product-name}
CL.start.menu.shortcut.description= CL.start.menu.shortcut.description={product-description}
CL.start.menu.shortcut.path= CL.start.menu.shortcut.path=
CL.install.desktop=Creating shortcut on desktop CL.install.desktop=Creating shortcut on desktop

View File

@ -198,16 +198,37 @@ public class ConfigurationLogic extends ProductConfigurationLogic {
throw new InstallationException("Cannot copy JDK",e); throw new InstallationException("Cannot copy JDK",e);
} }
// set permissions: // set permissions:
File binDir = new File(target, "bin"); // ADDED BY KIRILL: force correct permissions for JDK files
for (File file : binDir.listFiles()) { LogManager.log("Setting JDK files as executable");
try { setExecutableContents(target, "bin");
file.setExecutable(true); setExecutableContents(target, "db/bin");
} catch (Exception ex) { ex.printStackTrace(); } setExecutableContents(target, "jre/bin");
} setExecutableFile(target, "lib/jexec");
setExecutableFile(target, "lib/amd64/libjawt.so");
setExecutableFile(target, "lib/amd64/jli/libjli.so");
setExecutableFile(target, "lib/visualvm/platform/lib/nbexec");
// to add uninstaller logic: // to add uninstaller logic:
SystemUtils.getNativeUtils().addUninstallerJVM(new LauncherResource(false, target)); SystemUtils.getNativeUtils().addUninstallerJVM(new LauncherResource(false, target));
} }
} }
private static void setExecutableContents(File parent, String path) {
File binDir = new File(parent, path);
for (File file : binDir.listFiles()) {
try {
file.setExecutable(true, false);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
private static void setExecutableFile(File parent, String path) {
File binFile = new File(parent, path);
try {
binFile.setExecutable(true, false);
} catch (Exception ex) {
ex.printStackTrace();
}
}
@Override @Override
public void uninstall(Progress progress) throws UninstallationException { public void uninstall(Progress progress) throws UninstallationException {
@ -464,9 +485,8 @@ public class ConfigurationLogic extends ProductConfigurationLogic {
} }
public static final String SHORTCUT_FILENAME = public static final String SHORTCUT_FILENAME =
ResourceUtils.getString(ConfigurationLogic.class, "CL.app.name") + ".desktop"; // NOI18N ResourceUtils.getString(ConfigurationLogic.class, "CL.app.name") + ".desktop"; // NOI18N
public static final String[] SHORTCUT_CATEGORIES = new String[]{ public static final String[] SHORTCUT_CATEGORIES =
"Application" ResourceUtils.getString(ConfigurationLogic.class, "CL.app.categories").split(","); // NOI18N
};
public static final String BIN_SUBDIR = public static final String BIN_SUBDIR =
"bin/"; "bin/";
public static final String EXECUTABLE_WINDOWS = public static final String EXECUTABLE_WINDOWS =

View File

@ -27,8 +27,8 @@ javac.classpath=\
# Space-separated list of extra javac options # Space-separated list of extra javac options
javac.compilerargs= javac.compilerargs=
javac.deprecation=false javac.deprecation=false
javac.source=1.5 javac.source=1.6
javac.target=1.5 javac.target=1.6
javac.test.classpath=\ javac.test.classpath=\
${javac.classpath}:\ ${javac.classpath}:\
${build.classes.dir}:\ ${build.classes.dir}:\

View File

@ -67,8 +67,8 @@ javac.classpath=\
# Space-separated list of extra javac options # Space-separated list of extra javac options
javac.compilerargs= javac.compilerargs=
javac.deprecation=false javac.deprecation=false
javac.source=1.5 javac.source=1.6
javac.target=1.5 javac.target=1.6
javac.test.classpath=\ javac.test.classpath=\
${javac.classpath}:\ ${javac.classpath}:\
${build.classes.dir}:\ ${build.classes.dir}:\

View File

@ -124,9 +124,11 @@
<replace dir="${installer.build.dir}/ext" encoding="utf-8"> <replace dir="${installer.build.dir}/ext" encoding="utf-8">
<replacefilter token="{product-name}" value="${suite.props.app.title}"/> <replacefilter token="{product-name}" value="${suite.props.app.title}"/>
<replacefilter token="{product-simple-name}" value="${suite.props.app.name}"/> <replacefilter token="{product-simple-name}" value="${suite.props.app.name}"/>
<replacefilter token="{product-description}" value=""/>
<replacefilter token="{product-uid}" value="${product.uid}"/> <replacefilter token="{product-uid}" value="${product.uid}"/>
<replacefilter token="{product-icon-name}" value="${icon.name}"/> <replacefilter token="{product-icon-name}" value="${icon.name}"/>
<!--kirill-->
<replacefilter token="{product-description}" value="${product.description}"/>
<replacefilter token="{product-categories}" value="${product.categories}" />
</replace> </replace>
<replace dir="${installer.build.dir}/ext/infra/build/products" encoding="utf-8"> <replace dir="${installer.build.dir}/ext/infra/build/products" encoding="utf-8">

View File

@ -3,6 +3,8 @@ app.icon=branding/core/core.jar/org/netbeans/core/startup/frame48.gif
#same as ${branding.token} #same as ${branding.token}
app.name=jmonkeyplatform app.name=jmonkeyplatform
app.title=jMonkeyEngine SDK app.title=jMonkeyEngine SDK
app.description=A complete 3D game development suite written purely in Java.
app.categories=Development,Graphics,IDE,3DGraphics,Java
app.icon.icns=jmonkeyplatform.icns app.icon.icns=jmonkeyplatform.icns
#version name used for application and settings folder, no spaces! #version name used for application and settings folder, no spaces!
app.version=3.1-snapshot-github app.version=3.1-snapshot-github

107
version.gradle Normal file
View File

@ -0,0 +1,107 @@
/*
Version Info Examples
=====================
Nightly Build Snapshot
* Full Version: 3.1.0-5124
* POM Version: 3.1.0-SNAPSHOT
* NBM Version: 3.1.0.5124
* NBM UC Suffix: nightly/3.1/plugins
Nightly Build Snapshot (PBRIsComing branch)
* Full Version: 3.1.0-PBRIsComing-5124
* POM Version: 3.1.0-PBRIsComing-SNAPSHOT
* NBM Version: 3.1.0.5124
* NBM UC Suffix: PBRIsComing-nightly/3.1/plugins
Alpha1 Release
* Full Version: 3.1.0-alpha1
* POM Version: 3.1.0-alpha1
* NBM Version: 3.1.0.0
* NBM UC Suffix: alpha1/3.1/plugins
Final Release
* Full Version: 3.1.0
* POM Version: 3.1.0
* NBM Version: 3.1.0.0
* NBM UC Suffix: stable/3.1/plugins
*/
import java.text.SimpleDateFormat
import org.ajoberstar.grgit.*
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.ajoberstar:gradle-git:1.2.0'
}
}
ext {
jmeRevision = 0
jmeGitHash = ""
jmeGitTag = ""
jmeShortGitHash = ""
jmeBuildDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date())
jmeBranchName = "unknown"
jmeFullVersion = "${jmeVersion}-UNKNOWN"
jmePomVersion = "unknown"
jmeNbmVersion = "0.0.0.0"
jmeNbmUcSuffix = "unknown"
}
task configureVersionInfo {
try {
def grgit = Grgit.open(project.file('.'))
jmeRevision = grgit.log(includes:['HEAD']).size()
jmeGitHash = grgit.head().id
jmeShortGitHash = grgit.head().abbreviatedId
jmeBranchName = grgit.branch.current.name
jmeGitTag = grgit.describe()
if (jmeGitTag == null) jmeGitTag = ""
jmeFullVersion = "${jmeVersion}"
jmePomVersion = jmeVersion
jmeNbmVersion = jmeVersion
if (jmeBranchName != "master") {
jmeFullVersion += "-${jmeBranchName}"
jmePomVersion += "-${jmeBranchName}"
jmeNbmUcSuffix = "${jmeBranchName}-"
} else {
jmeNbmUcSuffix = ""
}
if (jmeVersionTag == "SNAPSHOT") {
jmeNbmUcSuffix += "nightly"
} else {
jmeNbmUcSuffix += "stable"
}
jmeNbmUcSuffix += "/" + jmeMainVersion + "/plugins"
if (jmeVersionTag == "SNAPSHOT") {
jmeFullVersion += "-${jmeRevision}"
jmePomVersion += "-SNAPSHOT"
jmeNbmVersion += ".${jmeRevision}"
} else if (jmeVersionTag == "") {
jmeNbmVersion += ".0"
} else {
jmeFullVersion += "-${jmeVersionTag}"
jmePomVersion += "-${jmeVersionTag}"
jmeNbmVersion += ".0"
}
logger.warn("Full Version: ${jmeFullVersion}")
logger.warn("POM Version: ${jmePomVersion}")
logger.warn("NBM Version: ${jmeNbmVersion}")
logger.warn("NBM UC Suffix: ${jmeNbmUcSuffix}")
} catch (ex) {
// Failed to get repo info
logger.warn("Failed to get repository info: " + ex.message + ". " + \
"Only partial build info will be generated.")
}
}