Пример #1
0
        public static void ReadLastBuildLog()
        {
            try
            {
                Debug.Log(versionName);
                Debug.Log(versionRes);
                Debug.Log(versionCode);


                if (File.Exists(tempDataFile))
                {
                    string content = FileUtilTool.ReadFile(tempDataFile);

                    lastBuildLog = JsonMapper.ToObject <CustomBuildLog>(content);

                    foreach (var k in lastBuildLog.csmd5)
                    {
                        lastestCSMD5.Add(k.filename, k.md5);
                    }
                }
            }
            catch (Exception e)
            {
                Debug.LogError(e.ToString());
            }
        }
Пример #2
0
        public static void CheckScriptsQuiet()
        {
            List <string> difList = new List <string>();

            List <string> checkFiles = new List <string>();

            string[] csFiles      = Directory.GetFiles(Application.dataPath, "*.cs", SearchOption.AllDirectories);
            string   ManifestFile = Application.dataPath + "/Plugins/Android/AndroidManifest.xml";

            string[] jarFiles = Directory.GetFiles(Application.dataPath, "*.jar", SearchOption.AllDirectories);

            checkFiles.AddRange(csFiles);
            checkFiles.AddRange(jarFiles);
            checkFiles.Add(ManifestFile);

            int            i  = 0;
            CustomBuildLog fl = new CustomBuildLog();

            foreach (string f in checkFiles)
            {
                string path = f.Replace('\\', '/');
                string md5  = ResCommon.GetFileMD5(path);

                if (lastestCSMD5.ContainsKey(path))
                {
                    if (lastestCSMD5[path] != md5)
                    {
                        difList.Add(path);
                    }
                }
                else
                {
                    difList.Add(path);
                }

                i++;
                newBuildLog.AddData(new FileMD5Data(path, md5));

                EditorUtility.DisplayProgressBar("安卓打包", "检查脚本 " + f, (float)i / (float)csFiles.Length);
            }

            EditorUtility.ClearProgressBar();

            if (difList.Count > 0)
            {
                BuildQuietScriptDiff();
            }
            else
            {
                BuildQuietResources();
            }

            string json = JsonMapper.ToJson(difList);

            FileUtilTool.DelFile(diffLogFile);
            FileUtilTool.WriteFile(diffLogFile, json);
        }
Пример #3
0
 //[MenuItem("Package/工程")]
 public static void StartBuildQuietProject()
 {
     Caching.ClearCache();
     lastestCSMD5.Clear();
     newCSMD5.Clear();
     ReadLastBuildLog();
     newBuildLog = new CustomBuildLog();
     type        = BuildType.Project;
     Debug.Log("开始静默打工程");
     CheckScriptsQuiet();
 }
Пример #4
0
 public static void StartBuild()
 {
     Caching.ClearCache();
     lastestCSMD5.Clear();
     newCSMD5.Clear();
     if (EditorUtility.DisplayDialog("打包", "请确认Resources目录和StreamingAssets目录为SVN最新资源", "是", "否"))
     {
         ReadLastBuildLog();
         newBuildLog = new CustomBuildLog();
         CheckScripts();
     }
 }
Пример #5
0
        public static void CheckScripts()
        {
            List <string> difList = new List <string>();

            List <string> checkFiles = new List <string>();

            string[] csFiles      = Directory.GetFiles(Application.dataPath, "*.cs", SearchOption.AllDirectories);
            string   ManifestFile = Application.dataPath + "/Plugins/Android/AndroidManifest.xml";

            string[] jarFiles = Directory.GetFiles(Application.dataPath, "*.jar", SearchOption.AllDirectories);

            checkFiles.AddRange(csFiles);
            checkFiles.AddRange(jarFiles);
            checkFiles.Add(ManifestFile);

            int            i  = 0;
            CustomBuildLog fl = new CustomBuildLog();

            foreach (string f in checkFiles)
            {
                string path = f.Replace('\\', '/');
                string md5  = ResCommon.GetFileMD5(path);

                if (lastestCSMD5.ContainsKey(path))
                {
                    if (lastestCSMD5[path] != md5)
                    {
                        difList.Add(path);
                    }
                }
                else
                {
                    difList.Add(path);
                }

                //Debug.Log(f + " md5:" + md5);
                i++;
                newBuildLog.AddData(new FileMD5Data(path, md5));

                EditorUtility.DisplayProgressBar("安卓打包", "检查脚本 " + f, (float)i / (float)csFiles.Length);
            }

            EditorUtility.ClearProgressBar();

            if (difList.Count > 0)
            {
                if (EditorUtility.DisplayDialog("安卓打包", string.Format("本次打包含程序和资源更新\r\n 原资源版本号:{0}", versionRes), "继续", "取消"))
                {
                    ShowScriptDiff(difList);
                }
            }
            else
            {
                if (EditorUtility.DisplayDialog("安卓打包", string.Format("本次打包只包含资源更新\r\n 原资源版本号:{0}", versionRes), "继续", "取消"))
                {
                    CheckResources();
                }
            }

            //Debug.Log("diff list :");
            //foreach (string str in difList)
            //{
            //    Debug.Log(str);
            //}

            string json = JsonMapper.ToJson(difList);

            FileUtilTool.DelFile(diffLogFile);
            FileUtilTool.WriteFile(diffLogFile, json);
        }