예제 #1
0
        public Project(IProjectConfig config, IEnumerable<SourceScript> scripts)
        {
            if (config == null)
                throw new ArgumentNullException("config");
            if (scripts == null)
                throw new ArgumentNullException("scripts");

            var allScripts = scripts.ToList();

            Configuration = config;
            _nonPriorityScripts = allScripts.ToList();
            _allScriptsLookup = allScripts.ToDictionary(s => s.Name.ToLower(), s => s, StringComparer.OrdinalIgnoreCase);
            _priorityScripts = new List<SourceScript>();
            SetupPriorityScripts();

            var orderedList = _nonPriorityScripts.OrderBy(x => x.Name).ToList();
            var builder = new DependencyListBuilder<string, SourceScript>(orderedList);
            _nonPriorityScripts = builder.BuildDependencyList(script => script.Name, script => script.GetNeeds(), StringComparer.OrdinalIgnoreCase);
        }
예제 #2
0
        public Project(IProjectConfig config, IEnumerable <SourceScript> scripts)
        {
            if (config == null)
            {
                throw new ArgumentNullException("config");
            }
            if (scripts == null)
            {
                throw new ArgumentNullException("scripts");
            }

            var allScripts = scripts.ToList();

            Configuration       = config;
            _nonPriorityScripts = allScripts.ToList();
            _allScriptsLookup   = allScripts.ToDictionary(s => s.Name.ToLower(), s => s, StringComparer.OrdinalIgnoreCase);
            _priorityScripts    = new List <SourceScript>();
            SetupPriorityScripts();

            var orderedList = _nonPriorityScripts.OrderBy(x => x.Name).ToList();
            var builder     = new DependencyListBuilder <string, SourceScript>(orderedList);

            _nonPriorityScripts = builder.BuildDependencyList(script => script.Name, script => script.GetNeeds(), StringComparer.OrdinalIgnoreCase);
        }