* 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