* JmeVersion is no longer autogenerated, instead it pulls info from version.properties * Added version.gradle script to generate version info and expose it to other gradle scripts * Embed version info inside JAR manifest * Refactor NDK finding to use the same way as the version generationexperimental
parent
0d7dea20df
commit
17887b1fb0
@ -0,0 +1,65 @@ |
||||
/* |
||||
* 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 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 |
@ -0,0 +1,109 @@ |
||||
/* |
||||
Version Info Examples |
||||
===================== |
||||
|
||||
Nightly Build Snapshot |
||||
* Full Name: jMonkeyEngine 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 Name: jMonkeyEngine 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 Name: jMonkeyEngine 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 Name: jMonkeyEngine 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" |
||||
jmeFullName = "jMonkeyEngine ${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 = "" |
||||
|
||||
jmeFullName = "jMonkeyEngine ${jmeVersion}" |
||||
jmePomVersion = jmeVersion |
||||
jmeNbmVersion = jmeVersion |
||||
|
||||
if (jmeBranchName != "master") { |
||||
jmeFullName += "-${jmeBranchName}" |
||||
jmePomVersion += "-${jmeBranchName}" |
||||
|
||||
jmeNbmUcSuffix = "${jmeBranchName}-" |
||||
} else { |
||||
jmeNbmUcSuffix = "" |
||||
} |
||||
|
||||
if (jmeVersionTag == "SNAPSHOT") { |
||||
jmeNbmUcSuffix += "nightly" |
||||
} else if (jmeVersionTag == "") { |
||||
jmeNbmUcSuffix += "stable" |
||||
} else { |
||||
jmeNbmUcSuffix += jmeVersionTag |
||||
} |
||||
|
||||
jmeNbmUcSuffix += "/" + jmeMainVersion + "/plugins" |
||||
|
||||
if (jmeVersionTag == "SNAPSHOT") { |
||||
jmeFullName += "-${jmeRevision}" |
||||
jmePomVersion += "-SNAPSHOT" |
||||
jmeNbmVersion += ".${jmeRevision}" |
||||
} else if (jmeVersionTag == "") { |
||||
jmeNbmVersion += ".0" |
||||
} else { |
||||
jmeFullName += "-${jmeVersionTag}" |
||||
jmePomVersion += "-${jmeVersionTag}" |
||||
jmeNbmVersion += ".0" |
||||
} |
||||
|
||||
logger.warn("Full Name: ${jmeFullName}") |
||||
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…
Reference in new issue