Beispiel #1
0
        ////private DbgVerbCounter dbgVerbCounter = new DbgVerbCounter();

        /// <summary>
        /// Initializes a new instance of the Scheduler class.
        /// </summary>
        /// <param name="jobParallelism">
        /// Degree of parallel execution to allow.
        /// </param>
        /// <param name="rejectCachedFailures">
        /// Whether to reject cached failures.
        /// </param>
        public Scheduler(int jobParallelism)
        {
            this.targets              = new HashSet <BuildObject>();
            this.waitIndex            = new WaitIndex();
            this.repository           = BuildEngine.theEngine.Repository;
            this.unrecordableFailures = new Dictionary <IVerb, Disposition>();
            this.verbToposorter       = new VerbToposorter();
            this.verbRunner           = new VerbRunner(this.verbToposorter, jobParallelism);
            this.resolvedVerbs        = new HashSet <IVerb>();
            this.completedVerbs       = new HashSet <IVerb>();
            this.outputToVerbMap      = new Dictionary <BuildObject, IVerb>();
            this.knownVerbs           = new HashSet <IVerb>();
            this.depCache             = new DependencyCache();
            this.rejectCachedFailures = true;    // this is now permanent. The code path for caching Failure results has rotted.
        }
Beispiel #2
0
 public Scheduler(int jobParallelism, IItemCache itemCache, bool rejectCachedFailures)
 {
     targets                   = new HashSet <BuildObject>();
     waitIndex                 = new WaitIndex();
     nuObjContents             = BuildEngine.theEngine.getNuObjContents();
     resultCache               = new ResultCache(itemCache, nuObjContents);
     unrecordableFailures      = new Dictionary <IVerb, Disposition>();
     this.hasher               = BuildEngine.theEngine.getHasher();
     verbToposorter            = new VerbToposorter(hasher);
     asyncRunner               = new AsyncRunner(verbToposorter, jobParallelism);
     resolvedVerbs             = new HashSet <IVerb>();
     completedVerbs            = new HashSet <IVerb>();
     depCache                  = new DependencyCache();
     this.rejectCachedFailures = rejectCachedFailures;
 }
Beispiel #3
0
        ////private DbgVerbCounter dbgVerbCounter = new DbgVerbCounter();

        /// <summary>
        /// Initializes a new instance of the Scheduler class.
        /// </summary>
        /// <param name="jobParallelism">
        /// Degree of parallel execution to allow.
        /// </param>
        /// <param name="rejectCachedFailures">
        /// Whether to reject cached failures.
        /// </param>
        public Scheduler(int jobParallelism)
        {
            this.targets = new HashSet<BuildObject>();
            this.waitIndex = new WaitIndex();
            this.repository = BuildEngine.theEngine.Repository;
            this.unrecordableFailures = new Dictionary<IVerb, Disposition>();
            this.verbToposorter = new VerbToposorter();
            this.verbRunner = new VerbRunner(this.verbToposorter, jobParallelism);
            this.resolvedVerbs = new HashSet<IVerb>();
            this.completedVerbs = new HashSet<IVerb>();
            this.outputToVerbMap = new Dictionary<BuildObject, IVerb>();
            this.knownVerbs = new HashSet<IVerb>();
            this.depCache = new DependencyCache();
            this.rejectCachedFailures = true;    // this is now permanent. The code path for caching Failure results has rotted.
        }