Exemplo n.º 1
0
    internal static VersionIncrementorSettings GetOrCreateSettings()
    {
        VersionIncrementorSettings settings = AssetDatabase.LoadAssetAtPath <VersionIncrementorSettings>(GetSettingFilePath());

        if (settings == null)
        {
            /*	Create and make sure the directory exits.	*/
            if (!AssetDatabase.IsValidFolder("Assets/Editor"))
            {
                string guid = AssetDatabase.CreateFolder("Assets", "Editor");
            }
            if (!AssetDatabase.IsValidFolder("Assets/Editor/com.linuxsenpai.versionincrementer"))
            {
                string guid1 = AssetDatabase.CreateFolder("Assets/Editor", "com.linuxsenpai.versionincrementer");
            }
            /*	Create default setting object.	*/
            settings = ScriptableObject.CreateInstance <VersionIncrementorSettings>();
            settings.increment_on_play  = true;
            settings.increment_on_build = true;
            settings.m_major            = 0;
            settings.m_minor            = 0;
            settings.m_patch            = 0;
            settings.m_releaseStates    = ReleaseState.PreAlpha;
            AssetDatabase.CreateAsset(settings, GetSettingFilePath());
            AssetDatabase.SaveAssets();
        }
        return(settings);
    }
    static void IncrementVersion(int majorIncr, int minorIncr, int buildIncr)
    {
        VersionIncrementorSettings settings = null;

        try{
            settings = VersionIncrementorSettings.GetOrCreateSettings();

            /*	Increment the the version.	*/
            settings.MajorVersion += majorIncr;
            settings.MinorVersion += minorIncr;
            settings.PatchVersion += buildIncr;

            /*	Update project version settings.	*/
            PlayerSettings.bundleVersion             = settings.Version;
            PlayerSettings.Android.bundleVersionCode = settings.MajorVersion * 10000 + settings.MinorVersion * 1000 + settings.PatchVersion;
        }finally{
            /*	Update version settings object.	*/
            if (settings != null)
            {
                EditorUtility.SetDirty(settings);
            }
            AssetDatabase.SaveAssets();
            AssetDatabase.Refresh();
        }
    }
Exemplo n.º 3
0
    public override void OnGUI(string searchContext)
    {
        m_VersionIncrementorSettings.Update();
        // Use IMGUI to display UI:
        var indent = EditorGUI.indentLevel;

        EditorGUI.indentLevel++;
        EditorGUILayout.LabelField(Styles.settingLabel, EditorStyles.boldLabel);
        EditorGUI.indentLevel++;
        EditorGUILayout.PropertyField(m_VersionIncrementorSettings.FindProperty("increment_on_play"), Styles.incrementOnPlay);
        EditorGUILayout.PropertyField(m_VersionIncrementorSettings.FindProperty("increment_on_build"), Styles.incrementOnBuild);

        EditorGUI.indentLevel = indent + 1;
        EditorGUILayout.LabelField(Styles.version, EditorStyles.boldLabel);
        EditorGUI.indentLevel++;
        EditorGUILayout.BeginHorizontal();
        EditorGUILayout.PropertyField(m_VersionIncrementorSettings.FindProperty("m_major"));
        EditorGUILayout.PropertyField(m_VersionIncrementorSettings.FindProperty("m_minor"));
        EditorGUILayout.PropertyField(m_VersionIncrementorSettings.FindProperty("m_patch"));
        EditorGUILayout.EndHorizontal();
        EditorGUILayout.PropertyField(m_VersionIncrementorSettings.FindProperty("m_releaseStates"), Styles.ReleaseState);

        EditorGUI.indentLevel = indent;

        VersionIncrementorSettings settings = (VersionIncrementorSettings)m_VersionIncrementorSettings.targetObject;

        if (m_VersionIncrementorSettings.hasModifiedProperties)
        {
            if (!settings.isValidVersion())
            {
                //TODO add logic for informing.
            }
        }
        m_VersionIncrementorSettings.ApplyModifiedProperties();
    }
 static void RunOnce()
 {
     /*	*/
     EditorApplication.update -= RunOnce;
     /*	*/
     if (VersionIncrementorSettings.GetOrCreateSettings().updatedOnPlay)
     {
         ReadVersionAndIncrement();
     }
 }
    static void ReadVersionAndIncrement()
    {
        IncrementVersion(0, 0, 1);
        VersionIncrementorSettings settings = VersionIncrementorSettings.GetOrCreateSettings();

        /*	Display the information.	*/
        if (settings != null)
        {
            Debug.Log("Major, Minor, SubMinor, SubVerLetter: " + settings.MajorVersion + " " + settings.MinorVersion + " " + settings.PatchVersion + " " + settings.State.ToString());
        }
    }
    public static void OnPostprocessBuild(BuildTarget target, string pathToBuiltProject)
    {
        /*	Updated patch by default whe updating.	*/
        if (VersionIncrementorSettings.GetOrCreateSettings().updateOnBuild)
        {
            IncreaseBuild();
        }

        /*	*/
        Debug.Log("Build v:" + PlayerSettings.bundleVersion + " (" + PlayerSettings.Android.bundleVersionCode + ")");
    }
Exemplo n.º 7
0
    public static SettingsProvider CreateVersionIncrementorSettingsProvider()
    {
        if (!IsSettingsAvailable())
        {
            VersionIncrementorSettings.GetOrCreateSettings();
        }
        SettingsProvider provider = new VersionIncrementorSettingsProvider("Project/Version Incrementer Settings", SettingsScope.Project);

        provider.keywords = GetSearchKeywordsFromGUIContentProperties <Styles>();
        return(provider);
    }
    private static void SetReleaseState(VersionIncrementorSettings.ReleaseState state)
    {
        VersionIncrementorSettings settings = null;

        try {
            settings = VersionIncrementorSettings.GetOrCreateSettings();
            settings.setState(state);

            PlayerSettings.bundleVersion             = settings.Version;
            PlayerSettings.Android.bundleVersionCode = settings.MajorVersion * 10000 + settings.MinorVersion * 1000 + settings.PatchVersion;
        }
        finally
        {
            /*	Update version settings object.	*/
            if (settings != null)
            {
                EditorUtility.SetDirty(settings);
            }
            AssetDatabase.SaveAssets();
            AssetDatabase.Refresh();
        }
    }
Exemplo n.º 9
0
 public override void OnActivate(string searchContext, VisualElement rootElement)
 {
     m_VersionIncrementorSettings = VersionIncrementorSettings.GetSerializedSettings();
 }
Exemplo n.º 10
0
 public static bool IsSettingsAvailable()
 {
     return(File.Exists(VersionIncrementorSettings.GetSettingFilePath()));
 }