Merge branch 'master' into PBRisComing

define_list_fix
Nehon 9 years ago
commit cefdabf3c6
  1. 10
      .gitignore
  2. 11
      .travis.yml
  3. 28
      build.gradle
  4. 9
      common.gradle
  5. 2
      gradle.properties
  6. 11
      jme3-blender/src/main/java/com/jme3/scene/plugins/blender/animations/Ipo.java
  7. 57
      jme3-bullet-native/src/native/cpp/com_jme3_bullet_objects_PhysicsRigidBody.cpp
  8. 27
      jme3-bullet-native/src/native/cpp/com_jme3_bullet_objects_PhysicsRigidBody.h
  9. 46
      jme3-bullet/src/main/java/com/jme3/bullet/objects/PhysicsRigidBody.java
  10. 66
      jme3-core/build.gradle
  11. 4
      jme3-core/src/main/java/com/jme3/renderer/opengl/GLRenderer.java
  12. 11
      jme3-core/src/main/java/com/jme3/scene/BatchNode.java
  13. 66
      jme3-core/src/main/java/com/jme3/system/JmeVersion.java
  14. 11
      jme3-core/src/main/resources/com/jme3/system/version.properties
  15. 4
      sdk/BasicGameTemplate/nbproject/project.properties
  16. 4
      sdk/JME3TestsTemplate/nbproject/project.properties
  17. 4
      sdk/JME3TestsTemplateAndroid/nbproject/project.properties
  18. 4
      sdk/ant-jme/nbproject/project.properties
  19. 8
      sdk/build.gradle
  20. 161
      sdk/build.xml
  21. 2
      sdk/jdks/build-osx-zip.sh
  22. 2
      sdk/jdks/build-package.sh
  23. 2
      sdk/jme3-android/nbproject/project.properties
  24. 2
      sdk/jme3-angelfont/nbproject/project.properties
  25. 4
      sdk/jme3-assetpack-support/nbproject/project.properties
  26. 4
      sdk/jme3-blender/nbproject/project.properties
  27. 4
      sdk/jme3-cinematics/nbproject/project.properties
  28. 4
      sdk/jme3-codepalette/nbproject/project.properties
  29. 4
      sdk/jme3-core-baselibs/nbproject/project.properties
  30. 4
      sdk/jme3-core-libraries/nbproject/project.properties
  31. 2
      sdk/jme3-core-updatecenters/nbproject/project.properties
  32. 4
      sdk/jme3-core-updatecenters/src/com/jme3/gde/core/updatecenters/Bundle.properties
  33. 4
      sdk/jme3-core/nbproject/project.properties
  34. 4
      sdk/jme3-desktop-executables/nbproject/project.properties
  35. 2
      sdk/jme3-documentation/nbproject/project.properties
  36. 4
      sdk/jme3-gui/nbproject/project.properties
  37. 4
      sdk/jme3-lwjgl-applet/nbproject/project.properties
  38. 4
      sdk/jme3-materialeditor/nbproject/project.properties
  39. 4
      sdk/jme3-model-importer/nbproject/project.properties
  40. 2
      sdk/jme3-navmesh-gen/nbproject/project.properties
  41. 2
      sdk/jme3-obfuscate/nbproject/project.properties
  42. 4
      sdk/jme3-ogretools/nbproject/project.properties
  43. 4
      sdk/jme3-ogrexml/nbproject/project.properties
  44. 4
      sdk/jme3-project-baselibs/nbproject/project.properties
  45. 4
      sdk/jme3-project-libraries/nbproject/project.properties
  46. 4
      sdk/jme3-project-testdata/nbproject/project.properties
  47. 4
      sdk/jme3-scenecomposer/nbproject/project.properties
  48. 4
      sdk/jme3-templates/nbproject/project.properties
  49. 4
      sdk/jme3-terrain-editor/nbproject/project.properties
  50. 4
      sdk/jme3-tests-template/nbproject/project.properties
  51. 4
      sdk/jme3-texture-editor/nbproject/project.properties
  52. 2
      sdk/jme3-vehicle-creator/nbproject/project.properties
  53. 2
      sdk/jme3-wavefront/nbproject/project.properties
  54. 4
      sdk/jme3-welcome-screen/nbproject/project.properties
  55. BIN
      sdk/jmonkeyplatform.png
  56. 2
      sdk/license-jme.txt
  57. 4
      sdk/nbi/stub/ext/components/products/blender/nbproject/project.properties
  58. 17
      sdk/nbi/stub/ext/components/products/blender/src/org/mycompany/ConfigurationLogic.java
  59. 4
      sdk/nbi/stub/ext/components/products/helloworld/nbproject/project.properties
  60. 5
      sdk/nbi/stub/ext/components/products/helloworld/src/org/mycompany/Bundle.properties
  61. 36
      sdk/nbi/stub/ext/components/products/helloworld/src/org/mycompany/ConfigurationLogic.java
  62. 4
      sdk/nbi/stub/ext/components/products/jdk/nbproject/project.properties
  63. 4
      sdk/nbi/stub/ext/engine/nbproject/project.properties
  64. 4
      sdk/nbi/stub/template.xml
  65. 2
      sdk/nbproject/project.properties
  66. 107
      version.gradle

10
.gitignore vendored

@ -4,8 +4,9 @@
/dist/
/build/
/netbeans/
/sdk/jdks/local/
/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-desktop/build/
/jme3-android-native/build/
@ -132,3 +133,10 @@
!/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_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/

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

@ -10,6 +10,7 @@ buildscript {
}
apply plugin: 'base'
apply from: file('version.gradle')
// This is applied to all sub projects
subprojects {
@ -114,7 +115,12 @@ task wrapper(type: Wrapper, description: 'Creates and deploys the Gradle wrapper
gradleVersion = '2.2.1'
}
String findNDK() {
ext {
ndkCommandPath = ""
ndkExists = false
}
task configureAndroidNDK {
def ndkBuildFile = "ndk-build"
// if windows, use ndk-build.cmd instead
if (System.properties['os.name'].toLowerCase().contains('windows')) {
@ -127,25 +133,11 @@ String findNDK() {
if (System.env.ANDROID_NDK != null) {
ndkBuildPath = System.env.ANDROID_NDK + File.separator + ndkBuildFile
}
if (new File(ndkBuildPath).exists()) {
return ndkBuildPath
} else {
return null
}
}
boolean checkNdkExists(String ndkCommandPath) {
// String ndkCommandPath = findNDK()
if (ndkCommandPath != null && new File(ndkCommandPath).exists()) {
return true
} else {
return false
}
if (new File(ndkBuildPath).exists()) {
ndkExists = true
ndkCommandPath = ndkBuildPath
}
ext {
ndkCommandPath = findNDK()
ndkExists = checkNdkExists(ndkCommandPath)
}
//class IncrementalReverseTask extends DefaultTask {

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

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

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

@ -811,37 +811,70 @@ extern "C" {
/*
* Class: com_jme3_bullet_objects_PhysicsRigidBody
* Method: getAngularFactor
* Signature: (J)F
* Signature: (JLcom/jme3/math/Vector3f;)V
*/
JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getAngularFactor
(JNIEnv *env, jobject object, jlong bodyId) {
JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getAngularFactor
(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;
}
return body->getAngularFactor().getX();
jmeBulletUtil::convert(env, &body->getAngularFactor(), factor);
}
/*
* Class: com_jme3_bullet_objects_PhysicsRigidBody
* Method: setAngularFactor
* Signature: (JF)V
* Signature: (JLcom/jme3/math/Vector3f;)V
*/
JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_setAngularFactor
(JNIEnv *env, jobject object, jlong bodyId, jfloat value) {
(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 vec1 = btVector3();
vec1.setX(value);
vec1.setY(value);
vec1.setZ(value);
body->setAngularFactor(vec1);
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

@ -396,18 +396,35 @@ JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getAngula
/*
* Class: com_jme3_bullet_objects_PhysicsRigidBody
* Method: getAngularFactor
* Signature: (J)F
* Signature: (JLcom/jme3/math/Vector3f;)V
*/
JNIEXPORT jfloat JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getAngularFactor
(JNIEnv *, jobject, jlong);
JNIEXPORT void JNICALL Java_com_jme3_bullet_objects_PhysicsRigidBody_getAngularFactor
(JNIEnv *, jobject, jlong, jobject);
/*
* Class: com_jme3_bullet_objects_PhysicsRigidBody
* Method: setAngularFactor
* Signature: (JF)V
* Signature: (JLcom/jme3/math/Vector3f;)V
*/
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
}

@ -627,16 +627,44 @@ public class PhysicsRigidBody extends PhysicsCollisionObject {
private native float getAngularSleepingThreshold(long objectId);
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) {
setAngularFactor(objectId, new Vector3f(factor, factor, factor));
}
public void setAngularFactor(Vector3f factor) {
setAngularFactor(objectId, factor);
}
private native void setAngularFactor(long objectId, float 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
@ -673,7 +701,13 @@ public class PhysicsRigidBody extends PhysicsCollisionObject {
capsule.write(getGravity(), "gravity", Vector3f.ZERO);
capsule.write(getFriction(), "friction", 0.5f);
capsule.write(getRestitution(), "restitution", 0);
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(getLinearDamping(), "linearDamping", 0);
@ -703,7 +737,13 @@ public class PhysicsRigidBody extends PhysicsCollisionObject {
setKinematic(capsule.readBoolean("kinematic", false));
setRestitution(capsule.readFloat("restitution", 0));
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));
setSleepingThresholds(capsule.readFloat("linearSleepingThreshold", 0.8f), capsule.readFloat("angularSleepingThreshold", 1.0f));
setCcdMotionThreshold(capsule.readFloat("ccdMotionThreshold", 0));

@ -12,55 +12,23 @@ sourceSets {
}
}
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'org.ajoberstar:gradle-git:1.0.0-rc.1'
}
}
import java.text.SimpleDateFormat
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)
task updateVersionPropertiesFile << {
def verfile = file('src/main/resources/com/jme3/system/version.properties')
verfile.text = "# THIS IS AN AUTO-GENERATED FILE..\n" +
"# DO NOT MODIFY!\n" +
"build.date=${jmeBuildDate}\n" +
"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}"
}
compileJava.dependsOn(updateVersionPropertiesFile)
dependencies {
}

@ -376,7 +376,9 @@ public class GLRenderer implements Renderer {
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);
limits.put(Limits.RenderBufferSize, getInteger(GLFbo.GL_MAX_RENDERBUFFER_SIZE_EXT));

@ -444,6 +444,7 @@ public class BatchNode extends GeometryGroupNode {
int maxWeights = -1;
Mesh.Mode mode = null;
float lineWidth = 1f;
for (Geometry geom : geometries) {
totalVerts += geom.getVertexCount();
totalTris += geom.getTriangleCount();
@ -452,6 +453,7 @@ public class BatchNode extends GeometryGroupNode {
maxVertCount = geom.getVertexCount();
}
Mesh.Mode listMode;
float listLineWidth = 1f;
int components;
switch (geom.getMesh().getMode()) {
case Points:
@ -462,6 +464,7 @@ public class BatchNode extends GeometryGroupNode {
case LineStrip:
case Lines:
listMode = Mesh.Mode.Lines;
listLineWidth = geom.getMesh().getLineWidth();
components = 2;
break;
case TriangleFan:
@ -493,11 +496,19 @@ public class BatchNode extends GeometryGroupNode {
+ " primitive types: " + 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;
}
outMesh.setMaxNumWeights(maxWeights);
outMesh.setMode(mode);
outMesh.setLineWidth(lineWidth);
if (totalVerts >= 65536) {
// make sure we create an UnsignedInt buffer so
// we can fit all of the meshes

@ -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)");
}

@ -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

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

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

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

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

@ -165,7 +165,7 @@ task createBaseXml(dependsOn: configurations.corelibs) <<{
"compile-dependency"{}
"run-dependency"{
"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/"
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]) <<{
ant.propertyfile(file: "nbproject/project.properties") {
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")
}

@ -12,7 +12,6 @@
<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="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"/>
<!--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}"
byline="true"/>
<replaceregexp file="${module_dir}/nbproject/project.properties"
match="spec.version.base"
match="#*spec\.version\.base"
replace="#spec.version.base"
byline="true"/>
</then>
@ -167,7 +166,7 @@
replace="OpenIDE-Module-Implementation-Version: 0"
byline="true"/>
<replaceregexp file="${module_dir}/nbproject/project.properties"
match="#spec.version.base"
match="#*spec\.version\.base"
replace="spec.version.base"
byline="true"/>
</else>
@ -176,9 +175,6 @@
<target name="set-impl-version">
<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">
<param name="set_impl_version" value="true"/>
</foreach>
@ -191,105 +187,19 @@
</foreach>
</target>
<!--sets/unsets implementation version to svn revision for plugins-->
<!--sets/unsets implementation version to GIT revision for plugins-->
<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>
<equals arg1="${set_impl_version}" arg2="true"/>
<then>
<echo>Setting implementation version for ${module_dir} to revision: ${svn.LastChangedRev}</echo>
<replace file="${module_dir}/manifest.mf" token="OpenIDE-Module-Implementation-Version: 0" value="OpenIDE-Module-Implementation-Version: ${svn.LastChangedRev}"/>
<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: ${git.revision}"/>
</then>
<else>
<echo>Removing implementation version for ${module_dir} from revision: ${svn.LastChangedRev}</echo>
<replace file="${module_dir}/manifest.mf" token="OpenIDE-Module-Implementation-Version: ${svn.LastChangedRev}" value="OpenIDE-Module-Implementation-Version: 0"/>
<echo>Removing implementation version for ${module_dir} from revision: ${git.revision}</echo>
<replace file="${module_dir}/manifest.mf" token="OpenIDE-Module-Implementation-Version: ${git.revision}" value="OpenIDE-Module-Implementation-Version: 0"/>
</else>
</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 name="build-installers">
@ -311,6 +221,8 @@
<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>
@ -339,7 +251,7 @@
section="devel"
depends="sun-java6-jdk"
maintainer="jMonkeyEngine"
homepage="http://www.jmonkeyengine.com"
homepage="http://www.jmonkeyengine.org"
postrm="debscripts/postrm"
>
<tarfileset dir="dist/${app.name}/" prefix="opt/${app.name}">
@ -360,57 +272,4 @@
</deb>
</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>

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

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

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

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

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

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

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

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

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

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

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

@ -1,6 +1,6 @@
#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_stable=http://updates.jmonkeyengine.org/stable/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.1/plugins/updates.xml
com_jme3_jmp_contributions_update_center=http://updates.jmonkeyengine.org/contributions/updates.xml
#jMP update centers

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

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

@ -1,6 +1,6 @@
javac.source=1.6
javac.compilerargs=-Xlint -Xlint:-serial
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
spec.version.base=3.1.0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 65 KiB

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

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

@ -1,8 +1,11 @@
package org.mycompany;
import java.io.File;
import java.util.List;
import org.netbeans.installer.product.Registry;
import org.netbeans.installer.product.components.Product;
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.exceptions.InitializationException;
import org.netbeans.installer.utils.exceptions.InstallationException;
@ -35,6 +38,20 @@ public class ConfigurationLogic extends ProductConfigurationLogic {
@Override
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

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

@ -1,6 +1,7 @@
CL.app.name={product-simple-name}
CL.app.categories={product-categories}
CL.desktop.shortcut.name={product-name}
CL.desktop.shortcut.description=
CL.desktop.shortcut.description={product-description}
CL.desktop.shortcut.path=
CL.unix.icon.name={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.macosx={product-name}
CL.start.menu.shortcut.description=
CL.start.menu.shortcut.description={product-description}
CL.start.menu.shortcut.path=
CL.install.desktop=Creating shortcut on desktop

@ -198,14 +198,35 @@ public class ConfigurationLogic extends ProductConfigurationLogic {
throw new InstallationException("Cannot copy JDK",e);
}
// set permissions:
File binDir = new File(target, "bin");
// ADDED BY KIRILL: force correct permissions for JDK files
LogManager.log("Setting JDK files as executable");
setExecutableContents(target, "bin");
setExecutableContents(target, "db/bin");
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:
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);
} catch (Exception ex) { ex.printStackTrace(); }
file.setExecutable(true, false);
} catch (Exception ex) {
ex.printStackTrace();
}
// to add uninstaller logic:
SystemUtils.getNativeUtils().addUninstallerJVM(new LauncherResource(false, target));
}
}
private static void setExecutableFile(File parent, String path) {
File binFile = new File(parent, path);
try {
binFile.setExecutable(true, false);
} catch (Exception ex) {
ex.printStackTrace();
}
}
@ -464,9 +485,8 @@ public class ConfigurationLogic extends ProductConfigurationLogic {
}
public static final String SHORTCUT_FILENAME =
ResourceUtils.getString(ConfigurationLogic.class, "CL.app.name") + ".desktop"; // NOI18N
public static final String[] SHORTCUT_CATEGORIES = new String[]{
"Application"
};
public static final String[] SHORTCUT_CATEGORIES =
ResourceUtils.getString(ConfigurationLogic.class, "CL.app.categories").split(","); // NOI18N
public static final String BIN_SUBDIR =
"bin/";
public static final String EXECUTABLE_WINDOWS =

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

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

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

@ -3,6 +3,8 @@ app.icon=branding/core/core.jar/org/netbeans/core/startup/frame48.gif
#same as ${branding.token}
app.name=jmonkeyplatform
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
#version name used for application and settings folder, no spaces!
app.version=3.1-snapshot-github

@ -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.")
}
}
Loading…
Cancel
Save