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()); } }
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); }
//[MenuItem("Package/工程")] public static void StartBuildQuietProject() { Caching.ClearCache(); lastestCSMD5.Clear(); newCSMD5.Clear(); ReadLastBuildLog(); newBuildLog = new CustomBuildLog(); type = BuildType.Project; Debug.Log("开始静默打工程"); CheckScriptsQuiet(); }
public static void StartBuild() { Caching.ClearCache(); lastestCSMD5.Clear(); newCSMD5.Clear(); if (EditorUtility.DisplayDialog("打包", "请确认Resources目录和StreamingAssets目录为SVN最新资源", "是", "否")) { ReadLastBuildLog(); newBuildLog = new CustomBuildLog(); CheckScripts(); } }
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); }