1 Star 0 Fork 0

黑苹果/jMonkeyEngineSdk

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
version.gradle 5.70 KB
一键复制 编辑 原始数据 按行查看 历史
/*
Version Info Examples
=====================
Nightly Build Snapshot
* git tag:
* Full Version: 3.1-5124
* POM Version: 3.1.0-SNAPSHOT
* NBM Revision: 5124
* NBM UC Suffix: nightly/3.1/plugins
Nightly Build Snapshot (PBRIsComing branch)
* git tag:
* Full Version: 3.1-PBRIsComing-5124
* POM Version: 3.1.0-PBRIsComing-SNAPSHOT
* NBM Revision: 5124
* NBM UC Suffix: PBRIsComing-nightly/3.1/plugins
Alpha1 Release
* git tag: v3.1.0-alpha1
* Full Version: 3.1-alpha1
* POM Version: 3.1.0-alpha1
* NBM Revision: 0
* NBM UC Suffix: stable/3.1/plugins
Final Release
* git tag: v3.1.0
* Full Version: 3.1
* POM Version: 3.1.0
* NBM Revision: 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
jmeNbmRevision = 0
jmeGitHash = ""
jmeGitTag = ""
jmeShortGitHash = ""
jmeBuildDate = new SimpleDateFormat("yyyy-MM-dd").format(new Date())
jmeBranchName = "unknown"
jmeFullVersion = "${jmeVersion}-UNKNOWN"
jmePomVersion = "unknown"
jmeNbmUcSuffix = "unknown"
}
def getReleaseInfo(String tag) {
if (tag == null || tag == "") {
// not a tagged commit
return null;
}
/*if (!tag.startsWith("v")) {
// syntax error
return null;
}
tag = tag.substring(1)
The SDK has it’s own versioning scheme which doesn’t start with v…*/
String[] parts = tag.split("-");
String mainVersion;
boolean prerelease;
String releaseName = null;
if (parts.length == 2) {
// prerelease
prerelease = true;
mainVersion = parts[0];
releaseName = parts[1];
if (releaseName.size() == 0) {
// syntax error
println "Warning: getReleaseInfo() found an errorneous tag: \"" + tag + "\". Syntax Error: Release Name is of Length 0!";
return null;
}
} else if (parts.length == 1) {
// final release
prerelease = false;
mainVersion = parts[0];
} else if (parts.length == 3) {
// sdk doesn't really differentiate.
prerelease = true;
mainVersion = parts[0];
releaseName = parts[1];
} else {
// error
println "Warning: getReleaseInfo() found an errorneous tag: \"" + tag + "\". Syntax Error: The Tag didn't contain the expected number of dash-seperated keywords"
return null;
}
if (mainVersion.size() == 0) {
// syntax error
println "Warning: getReleaseInfo() found an errorneous tag: \"" + tag + "\". Syntax Error: The Main Version (e.g. 3.1) couldn't be extracted successfully."
return null;
}
parts = mainVersion.split("\\.");
if (parts.size() == 2) {
mainVersion = mainVersion + ".0" // Assume Revision Zero
parts = mainVersion.split("\\.");
}
if (parts.size() != 3) {
// syntax error
println "Warning: getReleaseInfo() found an errorneous tag: \"" + tag + "\". Syntax Error: The Tags Main Version didn't consist of two/three parts"
return null;
}
String baseVersion = parts[0] + "." + parts[1];
return [
"tag" : tag,
"baseVersion" : baseVersion,
"mainVersion" : mainVersion,
"prerelease" : prerelease,
"releaseName" : releaseName,
"releaseSuffix": (prerelease ? "-${releaseName}": "")
]
}
task configureVersionInfo {
try {
def grgit = Grgit.open(project.file('.'))
def head = grgit.head()
jmeRevision = grgit.log(includes: [head]).size()
jmeGitHash = head.id
jmeShortGitHash = head.abbreviatedId
jmeBranchName = grgit.branch.current.name
if (System.env.TRAVIS_TAG != null) {
jmeGitTag = System.env.TRAVIS_TAG
} else {
jmeGitTag = grgit.tag.list().find { it.commit == head }
}
def releaseInfo = getReleaseInfo(jmeGitTag)
if (releaseInfo != null) {
jmeFullVersion = "${releaseInfo.baseVersion}${releaseInfo.releaseSuffix}"
jmePomVersion = "${releaseInfo.mainVersion}${releaseInfo.releaseSuffix}"
jmeNbmRevision = jmeRevision
jmeNbmUcSuffix = "stable/${releaseInfo.baseVersion}/plugins"
} else {
// SNAPSHOT
jmeFullVersion = jmeMainVersion
jmePomVersion = jmeVersion
if (System.env.TRAVIS_BRANCH != null) {
jmeBranchName = System.env.TRAVIS_BRANCH
}
if (System.env.TRAVIS_PULL_REQUEST != null &&
System.env.TRAVIS_PULL_REQUEST != "false") {
jmeBranchName += "-pr-" + System.env.TRAVIS_PULL_REQUEST
}
if (jmeBranchName != "master") {
jmeFullVersion += "-${jmeBranchName}"
jmePomVersion += "-${jmeBranchName}"
jmeNbmUcSuffix = "${jmeBranchName}-"
} else {
jmeNbmUcSuffix = ""
}
jmeNbmUcSuffix += "nightly/" + jmeMainVersion + "/plugins"
jmeFullVersion += "-${jmeRevision}"
jmePomVersion += "-SNAPSHOT"
jmeNbmRevision = jmeRevision
}
logger.warn("Full Version: ${jmeFullVersion}")
logger.warn("POM Version: ${jmePomVersion}")
logger.warn("NBM Revision: ${jmeNbmRevision}")
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...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/bmw360/j-monkey-engine-sdk.git
[email protected]:bmw360/j-monkey-engine-sdk.git
bmw360
j-monkey-engine-sdk
jMonkeyEngineSdk
master

搜索帮助