Example #1
0
        /// <summary>
        /// Write the current build information to the project. (Unity Editor only)
        /// </summary>
        /// <param name="revision">A revision string.</param>
        public static void WriteVersionFile(string revision)
        {
#if UNITY_EDITOR
            var versionString = Application.version;
            var info          = new BuildVersionInfo
            {
                RawVersion = versionString,
                Revision   = revision,
                Timestamp  = DateTime.UtcNow
            };

            var lines     = JsonUtility.ToJson(info);
            var textAsset = new TextAsset(lines);

            if (!AssetDatabase.IsValidFolder(RESOURCE_ROOT))
            {
                AssetDatabase.CreateFolder("Assets", "Resources");
            }
            AssetDatabase.DeleteAsset(VERSION_PATH);
            AssetDatabase.CreateAsset(textAsset, VERSION_PATH);
            AssetDatabase.SaveAssets();
#else
            Debug.LogWarning("Writing to version file is only supported in the Unity editor");
#endif
        }
Example #2
0
        /// <summary>
        /// Read the build information for the current build.
        /// </summary>
        /// <param name="info">Metadata for the build.</param>
        /// <returns>Build information was read successfully.</returns>
        public static bool TryReadVersionFile(out BuildVersionInfo info)
        {
            try
            {
                var textAsset = Resources.Load <TextAsset>("version");

                info = JsonUtility.FromJson <BuildVersionInfo>(textAsset.text);
                return(true);
            }
            catch { }

            info = default;
            return(false);
        }