public ResultCache(IItemCache itemCache, NuObjContents nuObjectContents) { this.itemCache = itemCache; this.nuObjectContents = nuObjectContents; this.alreadyFetchedVerbs = new HashSet <IVerb>(); this.knownObjectHash = new Dictionary <BuildObject, string>(); this.hasher = BuildEngine.theEngine.getHasher(); }
public override IVerbWorker getWorker() { NuObjContents noc = BuildEngine.theEngine.getNuObjContents(); ContextContents contents = new ContextContents(_context); BuildEngine.theEngine.getNuObjContents().storeVirtual(getContextOutput(), new Fresh(), contents); return(new VerbSyncWorker(new Fresh())); }
public override IVerbWorker getWorker() { NuObjContents noc = BuildEngine.theEngine.getNuObjContents(); IEnumerable <IIncludePathContext> contexts = _parents.Select(parent => ((ContextContents)noc.openVirtual(parent.getContextOutput())).context); ConcatContext context = new ConcatContext(contexts); ContextContents contents = new ContextContents(context); BuildEngine.theEngine.getNuObjContents().storeVirtual(getContextOutput(), new Fresh(), contents); return(new VerbSyncWorker(new Fresh())); }
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; }
BuildEngine() { pathNormalizer = new PathNormalizer(); _hasher = new Hasher(); nuObjContents = new NuObjContents(_hasher); }