Ejemplo n.º 1
0
        void Save()
        {
            UpdateDict();
            File.WriteAllText(kXmlPath, build.ToXML());
            BuildPlusSO bso = null;

            if (File.Exists(kAssetPath))
            {
                bso = AssetDatabase.LoadAssetAtPath(kAssetPath, typeof(BuildPlusSO)) as BuildPlusSO;
            }
            else
            {
                bso = CreateInstance <BuildPlusSO>();
                AssetDatabase.CreateAsset(bso, kAssetPath);
            }

            bso.build = Build.FromXML(build.ToXML());             // This makes a copy, which is needed when writing to disk
            bso.build.releaseNotes = GetReleaseNotes();
            EditorUtility.SetDirty(bso);
            AssetDatabase.SaveAssets();
            AssetDatabase.Refresh();
            var v             = bso.build.versions.First(x => !x.unreleased);
            var bundleVersion = $"{v.major}.{v.minor}.{v.build}";

            if (build.editorSettings.saveToPlayerSettings)
            {
                PlayerSettings.bundleVersion = bundleVersion;
            }

            if (build.editorSettings.saveToPackageJson && File.Exists(build.editorSettings.packageJsonPath))
            {
                var manifest  = File.ReadAllText(build.editorSettings.packageJsonPath);
                var manifest2 = Regex.Replace(manifest, "\"version\": \"[0-9]*.[0-9]*.[0-9]*\"",
                                              $"\"version\": \"{bundleVersion}\"");
                File.WriteAllText(build.editorSettings.packageJsonPath, manifest2);
            }

            if (build.editorSettings.saveToChangelogMd)
            {
                var b = new ChangelogBuilder(build);
                b.Build();
            }
        }
Ejemplo n.º 2
0
    void Save()
    {
        File.WriteAllText(kXmlPath, build.ToXML());
        BuildPlusSO bso = null;

        if (File.Exists(kAssetPath))
        {
            bso = AssetDatabase.LoadAssetAtPath(kAssetPath, typeof(BuildPlusSO)) as BuildPlusSO;
        }
        else
        {
            bso = ScriptableObject.CreateInstance <BuildPlusSO>();
            AssetDatabase.CreateAsset(bso, kAssetPath);
        }
        bso.build = Build.FromXML(build.ToXML());         // This makes a copy, which is needed when writing to disk
        bso.build.releaseNotes = GetReleaseNotes();
        EditorUtility.SetDirty(bso);
        AssetDatabase.SaveAssets();
        AssetDatabase.Refresh();
    }