private string PerformBuild(BuildTarget buildTarget) { if (!ConfirmBuildSideEffect()) { return(string.Empty); } var originalPlayerSettings = PlayerSettingsFactory.Create(); var gitDescription = GitService.GetDescription(); var gitBasedSettings = PlayerSettingsFactory.CreateByGitDescription(gitDescription); PlayerSettingsService.UpdateSettings(gitBasedSettings); var buildPath = BuildService <TScene> .PerformBuild( buildTarget, gitBasedSettings.PreferredBuildOptions ); PlayerSettingsService.UpdateSettings(originalPlayerSettings); AssetDatabase.SaveAssets(); return(buildPath); }
public static PlayerSettingsModel CreateByGitDescription(string gitDescription) { var gitBasedSettings = PlayerSettingsFactory.Create(); if (!string.IsNullOrWhiteSpace(gitDescription)) { if (gitDescription.Contains("-")) { gitBasedSettings.PreferredBuildOptions = BuildOptions.Development; gitBasedSettings.ProductName = $"JTG-{gitDescription}"; } else if (gitDescription.StartsWith("v")) { var versionString = gitDescription.Substring(1).Trim(); var versionCode = GetVersionCodeFromVersionString(versionString); gitBasedSettings.BundleVersion = versionString; gitBasedSettings.AndroidVersionCode = versionCode; gitBasedSettings.IOSBuildNumber = "0"; } } return(gitBasedSettings); }