示例#1
0
        public static Dictionary <string, HashSet <string> > LoadCustomViewMapFile(IBuildEngine4 engine, string mapFile)
        {
            var cachedMap = engine?.GetRegisteredTaskObjectAssemblyLocal <Dictionary <string, HashSet <string> > > (mapFile, RegisteredTaskObjectLifetime.Build);

            if (cachedMap != null)
            {
                return(cachedMap);
            }
            var map = new Dictionary <string, HashSet <string> > ();

            if (!File.Exists(mapFile))
            {
                return(map);
            }
            foreach (var s in File.ReadLines(mapFile))
            {
                var items = s.Split(new char [] { ';' }, count: 2);
                var key   = items [0];
                var value = items [1];
                HashSet <string> set;
                if (!map.TryGetValue(key, out set))
                {
                    map.Add(key, set = new HashSet <string> ());
                }
                set.Add(value);
            }
            return(map);
        }
示例#2
0
        public static Aapt2Daemon GetInstance(IBuildEngine4 engine, string aapt2, int numberOfInstances, int initalNumberOfDaemons, bool registerInDomain = false)
        {
            var area   = registerInDomain ? RegisteredTaskObjectLifetime.AppDomain : RegisteredTaskObjectLifetime.Build;
            var daemon = engine.GetRegisteredTaskObjectAssemblyLocal <Aapt2Daemon> (RegisterTaskObjectKey, area);

            if (daemon == null)
            {
                daemon = new Aapt2Daemon(aapt2, numberOfInstances, initalNumberOfDaemons);
                engine.RegisterTaskObjectAssemblyLocal(RegisterTaskObjectKey, daemon, area, allowEarlyCollection: false);
            }
            return(daemon);
        }
示例#3
0
 public static Dictionary <string, string> LoadResourceCaseMap(IBuildEngine4 engine) =>
 engine.GetRegisteredTaskObjectAssemblyLocal <Dictionary <string, string> > (ResourceCaseMapKey, RegisteredTaskObjectLifetime.Build) ?? new Dictionary <string, string> (0);