Add SVN auto-build number support
This commit is contained in:
@@ -1070,37 +1070,17 @@ class CommandLineTools {
|
|||||||
|
|
||||||
if (buildNumber == null || StringTools.startsWith (buildNumber, "git")) {
|
if (buildNumber == null || StringTools.startsWith (buildNumber, "git")) {
|
||||||
|
|
||||||
var cache = LogHelper.mute;
|
buildNumber = getBuildNumber_GIT (project, increment);
|
||||||
LogHelper.mute = true;
|
|
||||||
|
|
||||||
var output = ProcessHelper.runProcess ("", "git", [ "rev-list", "HEAD", "--count" ], true, true, true);
|
|
||||||
|
|
||||||
LogHelper.mute = cache;
|
|
||||||
|
|
||||||
if (output != null) {
|
|
||||||
|
|
||||||
var value = Std.parseInt (output);
|
|
||||||
|
|
||||||
if (value != null) {
|
|
||||||
|
|
||||||
if (buildNumber != null && buildNumber.indexOf ("+") > -1) {
|
|
||||||
|
|
||||||
var modifier = Std.parseInt (buildNumber.substr (buildNumber.indexOf ("+") + 1));
|
|
||||||
|
|
||||||
if (modifier != null) {
|
|
||||||
|
|
||||||
value += modifier;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
if (buildNumber == null || StringTools.startsWith (buildNumber, "svn")) {
|
||||||
|
|
||||||
project.meta.buildNumber = Std.string (value);
|
buildNumber = getBuildNumber_SVN (project, increment);
|
||||||
return;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
if (buildNumber == null) {
|
||||||
|
|
||||||
var versionFile = PathHelper.combine (project.app.path, ".build");
|
var versionFile = PathHelper.combine (project.app.path, ".build");
|
||||||
var version = 1;
|
var version = 1;
|
||||||
@@ -1148,6 +1128,93 @@ class CommandLineTools {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private function getBuildNumber_GIT (project:HXProject, increment:Bool = true):String {
|
||||||
|
|
||||||
|
var cache = LogHelper.mute;
|
||||||
|
LogHelper.mute = true;
|
||||||
|
|
||||||
|
var output = ProcessHelper.runProcess ("", "git", [ "rev-list", "HEAD", "--count" ], true, true, true);
|
||||||
|
|
||||||
|
LogHelper.mute = cache;
|
||||||
|
|
||||||
|
if (output != null) {
|
||||||
|
|
||||||
|
var value = Std.parseInt (output);
|
||||||
|
|
||||||
|
if (value != null) {
|
||||||
|
|
||||||
|
var buildNumber = project.meta.buildNumber;
|
||||||
|
|
||||||
|
if (buildNumber != null && buildNumber.indexOf ("+") > -1) {
|
||||||
|
|
||||||
|
var modifier = Std.parseInt (buildNumber.substr (buildNumber.indexOf ("+") + 1));
|
||||||
|
|
||||||
|
if (modifier != null) {
|
||||||
|
|
||||||
|
value += modifier;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return project.meta.buildNumber = Std.string (value);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
private function getBuildNumber_SVN (project:HXProject, increment:Bool = true):String {
|
||||||
|
|
||||||
|
var cache = LogHelper.mute;
|
||||||
|
LogHelper.mute = true;
|
||||||
|
|
||||||
|
var output = ProcessHelper.runProcess ("", "svn", [ "info" ], true, true, true);
|
||||||
|
|
||||||
|
LogHelper.mute = cache;
|
||||||
|
|
||||||
|
if (output != null) {
|
||||||
|
|
||||||
|
var searchString = "Revision: ";
|
||||||
|
var index = output.indexOf (searchString);
|
||||||
|
|
||||||
|
if (index > -1) {
|
||||||
|
|
||||||
|
var value = Std.parseInt (output.substring (index + searchString.length, output.indexOf ("\n", index)));
|
||||||
|
|
||||||
|
if (value != null) {
|
||||||
|
|
||||||
|
var buildNumber = project.meta.buildNumber;
|
||||||
|
|
||||||
|
if (buildNumber != null && buildNumber.indexOf ("+") > -1) {
|
||||||
|
|
||||||
|
var modifier = Std.parseInt (buildNumber.substr (buildNumber.indexOf ("+") + 1));
|
||||||
|
|
||||||
|
if (modifier != null) {
|
||||||
|
|
||||||
|
value += modifier;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return project.meta.buildNumber = Std.string (value);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public static function getLimeConfig ():HXProject {
|
public static function getLimeConfig ():HXProject {
|
||||||
|
|
||||||
var environment = Sys.environment ();
|
var environment = Sys.environment ();
|
||||||
|
|||||||
Reference in New Issue
Block a user