自动设置版本号

This commit is contained in:
chenxi 2023-08-17 14:15:07 +08:00
parent e4446afdec
commit 4316bca531
2 changed files with 16 additions and 5 deletions

View File

@ -13,6 +13,8 @@ namespace BFEditor.Build
public class BuildProjectWindow : EditorWindow
{
private static int versionCode = 13;
private static string versionName = "1.2.0";
BFPlatformOptions platform = BFPlatformOptions.AndroidDev;
const string ANDROID_DEV_PACKAGE_NAME = "com.juzu.b6.dev.android";
const string ANDROID_RELEASE_PACKAGE_NAME = "com.juzu.b6.release.android";
@ -34,7 +36,7 @@ namespace BFEditor.Build
platform = (BFPlatformOptions)EditorGUILayout.EnumPopup("", platform);
EditorGUILayout.Space();
EditorGUILayout.LabelField("版本: 0.1.0");
EditorGUILayout.LabelField("版本: " + versionName);
EditorGUILayout.Space();
string packageName;
@ -70,7 +72,8 @@ namespace BFEditor.Build
if (GUILayout.Button("一键打包"))
{
var buildInfo = new BuildInfo();
buildInfo.version = "0.1.0";
buildInfo.version = versionName;
buildInfo.version_code = versionCode;
buildInfo.mode = mode;
buildInfo.bundleName = packageName;
buildInfo.skipVersion = skipVersion;

View File

@ -29,6 +29,7 @@ namespace BFEditor.Build
static string GoogleCommonProjectPath = Application.dataPath + "/../BFVersions/android/google_common";
static string GPAsProjectPath = Application.dataPath + "/../BFVersions/android/ub-gp"; // gp删档测试渠道
static string GPOfficialAsProjectPath = Application.dataPath + "/../BFVersions/android/ub-google"; // gp正式渠道
static string PublishAsProjectPath = Application.dataPath + "/../BFVersions/android/publish_release";
static string SignShellPath = Application.dataPath + "/../BFFiles/androidkey";
static string GpAlginShellPath = Application.dataPath + "/../BFFiles/androidkey";
@ -282,6 +283,7 @@ namespace BFEditor.Build
else if(buildInfo.IsGPChannel())
{
MergeProject(buildInfo, GoogleAsProjectPath);
FixGradleVersion(buildInfo.version_code, buildInfo.version);
}
return result;
}
@ -391,13 +393,19 @@ namespace BFEditor.Build
static void FixGradleVersion(int versionCode, string versionName)
{
Debug.Log("[bfinfo]修正build.gradle: VersionCode " + versionCode + " VersionName " + versionName);
var gradleFilePath = Path.Combine(GradleExcuteProjectPath, "build.gradle");
var gradleFilePath = Path.Combine(PublishAsProjectPath, "launcher", "build.gradle");
var text = File.ReadAllText(gradleFilePath);
var regex = new Regex("versionCode 1");
text = regex.Replace(text, string.Format("versionCode {0}", versionCode));
regex = new Regex("versionName '0.1'");
text = regex.Replace(text, string.Format("versionName '{0}'", versionName));
var regex2 = new Regex("versionName '0.1.0'");
text = regex2.Replace(text, string.Format("versionName '{0}'", versionName));
File.WriteAllText(gradleFilePath, text);
var gradleFilePath2 = Path.Combine(PublishAsProjectPath, "unityLibrary", "build.gradle");
var text2 = File.ReadAllText(gradleFilePath2);
text2 = regex.Replace(text2, string.Format("versionCode {0}", versionCode));
text2 = regex2.Replace(text, string.Format("versionName '{0}'", versionName));
File.WriteAllText(gradleFilePath2, text2);
}
/// <summary>