private static List <AssertException> CheckAsserts(string android_sdk_path, string ant_path, Mod mod) { if (mod == null) { return(new List <AssertException>()); } XmlNode asserts = mod.Xml.DocumentElement.SelectSingleNode("assert"); var exceptionList = new List <AssertException>(); if (asserts != null) { foreach (XmlNode node in asserts.ChildNodes) { try{ switch (node.Name) { case "android-sdk": CheckAndroidSdk(node, android_sdk_path); break; case "jdk": CheckJdk(node); break; case "ant": CheckAnt(node, ant_path); break; default: Debug.LogWarning("Unknown node: '" + node.Name + "' in assert partment in file: " + mod.path); break; } } catch (AssertException e) { exceptionList.Add(e); } } } foreach (Mod lib in mod.Reference) { exceptionList.AddRange(BuildTask_AndroidUtility.CheckAsserts(android_sdk_path, ant_path, lib)); } return(exceptionList); }
public override void OnPreBuild() { Process(1, "Detect Paths", ""); this.startTime = DateTime.Now; this.global = Configuration.Gloable; this.local = Configuration.Local; this.global.Repaire(); this.local.Repaire(); //var modPath = global["android.conf"]; // 根据ModName到Mod目录中寻找Mod的路径 //Debug.LogError("this.modName;"+this.modName); /* * if (!string.IsNullOrEmpty(this.modName)) * { * this.mod = new Mod(Path.Combine(this.global.AndroidSrcDir, this.modName)); * * // add lib Refenrence * //DirectoryInfo lib_dir = new DirectoryInfo(global["android.lib.dir"]); * //DirectoryInfo src_dir = new DirectoryInfo(global["android.src.dir"]); * DirectoryInfo src_dir = new DirectoryInfo(this.mod.subModPath); * var libs = src_dir.GetDirectories("*.eupe", SearchOption.TopDirectoryOnly); * string[] libs_path = (from d in libs * select d.FullName).ToArray(); * foreach (var lib in libs_path) * { * this.mod.AddReference(lib); * } * } */ Process(2, "Check asserts", ""); var exceptionList = BuildTask_AndroidUtility.CheckAsserts(this.local, UseBackup, this.global); if (exceptionList.Count > 0) { string msg = "Packaging can not start because of the following reasons:\n"; int index = 1; foreach (AssertException e in exceptionList) { msg += " " + index + "). " + e.Message + "\n"; index++; } throw new Exception(msg); } }