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);
        }
Example #2
0
        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);
        }