fix?
This commit is contained in:
142
Editor/Build/BuildVersionBumper.cs
Normal file → Executable file
142
Editor/Build/BuildVersionBumper.cs
Normal file → Executable file
@@ -1,72 +1,72 @@
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
using UnityEditor.Build;
|
||||
using UnityEditor.Build.Reporting;
|
||||
|
||||
namespace RebootKitEditor.Build {
|
||||
class BuildVersionBumper : IPostprocessBuildWithReport {
|
||||
public int callbackOrder => 0;
|
||||
|
||||
public void OnPostprocessBuild(BuildReport report) {
|
||||
VersionUpdater.IncrementPatch();
|
||||
}
|
||||
}
|
||||
|
||||
static class VersionUpdater {
|
||||
public static bool IncrementVersion(int incrementMajor = 0, int incrementMinor = 0, int incrementPatch = 0) {
|
||||
if (TryParseVersion(PlayerSettings.bundleVersion, out int major, out int minor, out int patch)) {
|
||||
major += incrementMajor;
|
||||
minor += incrementMinor;
|
||||
patch += incrementPatch;
|
||||
string newVersion = $"{major}.{minor}.{patch}";
|
||||
|
||||
if (SetVersion(newVersion)) {
|
||||
Debug.Log($"Updated version to: {newVersion}");
|
||||
} else {
|
||||
Debug.LogError($"Failed to update version to: {newVersion}");
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
Debug.LogError($"Failed to parse current version: {PlayerSettings.bundleVersion}");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public static bool IncrementMajor() => IncrementVersion(incrementMajor: 1);
|
||||
public static bool IncrementMinor() => IncrementVersion(incrementMinor: 1);
|
||||
public static bool IncrementPatch() => IncrementVersion(incrementPatch: 1);
|
||||
|
||||
static bool SetVersion(string newVersion) {
|
||||
if (!IsValidVersionFormat(newVersion)) {
|
||||
Debug.LogError($"Invalid version format: {newVersion}. Expected format: maj.min.ver");
|
||||
return false;
|
||||
}
|
||||
|
||||
PlayerSettings.bundleVersion = newVersion;
|
||||
Debug.Log($"Application version updated to: {newVersion}");
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool IsValidVersionFormat(string version) {
|
||||
string[] parts = version.Split('.');
|
||||
return parts.Length == 3 && int.TryParse(parts[0], out _) && int.TryParse(parts[1], out _) && int.TryParse(parts[2], out _);
|
||||
}
|
||||
|
||||
static bool TryParseVersion(string version, out int major, out int minor, out int patch) {
|
||||
major = 0;
|
||||
minor = 0;
|
||||
patch = 0;
|
||||
|
||||
string[] parts = version.Split('.');
|
||||
if (parts.Length != 3) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return int.TryParse(parts[0], out major) &&
|
||||
int.TryParse(parts[1], out minor) &&
|
||||
int.TryParse(parts[2], out patch);
|
||||
}
|
||||
}
|
||||
using UnityEngine;
|
||||
using UnityEditor;
|
||||
using UnityEditor.Build;
|
||||
using UnityEditor.Build.Reporting;
|
||||
|
||||
namespace RebootKitEditor.Build {
|
||||
class BuildVersionBumper : IPostprocessBuildWithReport {
|
||||
public int callbackOrder => 0;
|
||||
|
||||
public void OnPostprocessBuild(BuildReport report) {
|
||||
VersionUpdater.IncrementPatch();
|
||||
}
|
||||
}
|
||||
|
||||
static class VersionUpdater {
|
||||
public static bool IncrementVersion(int incrementMajor = 0, int incrementMinor = 0, int incrementPatch = 0) {
|
||||
if (TryParseVersion(PlayerSettings.bundleVersion, out int major, out int minor, out int patch)) {
|
||||
major += incrementMajor;
|
||||
minor += incrementMinor;
|
||||
patch += incrementPatch;
|
||||
string newVersion = $"{major}.{minor}.{patch}";
|
||||
|
||||
if (SetVersion(newVersion)) {
|
||||
Debug.Log($"Updated version to: {newVersion}");
|
||||
} else {
|
||||
Debug.LogError($"Failed to update version to: {newVersion}");
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
Debug.LogError($"Failed to parse current version: {PlayerSettings.bundleVersion}");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public static bool IncrementMajor() => IncrementVersion(incrementMajor: 1);
|
||||
public static bool IncrementMinor() => IncrementVersion(incrementMinor: 1);
|
||||
public static bool IncrementPatch() => IncrementVersion(incrementPatch: 1);
|
||||
|
||||
static bool SetVersion(string newVersion) {
|
||||
if (!IsValidVersionFormat(newVersion)) {
|
||||
Debug.LogError($"Invalid version format: {newVersion}. Expected format: maj.min.ver");
|
||||
return false;
|
||||
}
|
||||
|
||||
PlayerSettings.bundleVersion = newVersion;
|
||||
Debug.Log($"Application version updated to: {newVersion}");
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool IsValidVersionFormat(string version) {
|
||||
string[] parts = version.Split('.');
|
||||
return parts.Length == 3 && int.TryParse(parts[0], out _) && int.TryParse(parts[1], out _) && int.TryParse(parts[2], out _);
|
||||
}
|
||||
|
||||
static bool TryParseVersion(string version, out int major, out int minor, out int patch) {
|
||||
major = 0;
|
||||
minor = 0;
|
||||
patch = 0;
|
||||
|
||||
string[] parts = version.Split('.');
|
||||
if (parts.Length != 3) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return int.TryParse(parts[0], out major) &&
|
||||
int.TryParse(parts[1], out minor) &&
|
||||
int.TryParse(parts[2], out patch);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user