public IEnumerable <BuildObject> getShallowIncludes()
        {
            TransitiveDepsContents contents =
                (TransitiveDepsContents)BuildEngine.theEngine.getNuObjContents().openVirtual(depsObj());

            return(contents.shallowDeps);
        }
        public IEnumerable <BuildObject> getShallowIncludes()
        {
            TransitiveDepsContents contents =
                (TransitiveDepsContents)BuildEngine.theEngine.Repository.FetchVirtual(this.depsObj());

            return(contents.shallowDeps);
        }
        public override IVerbWorker getWorker()
        {
            OrderPreservingSet <BuildObject> shallowDeps    = new OrderPreservingSet <BuildObject>();
            OrderPreservingSet <BuildObject> transitiveDeps = new OrderPreservingSet <BuildObject>();

            IEnumerable <BuildObject> includes = getIncludeFactory().getIncludes(obj);

            foreach (BuildObject child in includes)
            {
                shallowDeps.Add(child);
                transitiveDeps.AddRange(factory(child).getTransitiveIncludes());
                transitiveDeps.Add(child);
            }
            VirtualContents contents = new TransitiveDepsContents(shallowDeps, transitiveDeps);

            BuildEngine.theEngine.getNuObjContents().storeVirtual(depsObj(), new Fresh(), contents);
            return(new VerbSyncWorker(new Fresh()));
        }
예제 #4
0
        public override IVerbWorker getWorker(WorkingDirectory workingDirectory)
        {
            OrderPreservingSet<BuildObject> shallowDeps = new OrderPreservingSet<BuildObject>();
            OrderPreservingSet<BuildObject> transitiveDeps = new OrderPreservingSet<BuildObject>();

            IEnumerable<BuildObject> includes = this.getIncludeFactory().getIncludes(this.obj);
            foreach (BuildObject child in includes)
            {
                shallowDeps.Add(child);
                transitiveDeps.AddRange(this.factory(child).getTransitiveIncludes());
                transitiveDeps.Add(child);
            }

            VirtualContents contents = new TransitiveDepsContents(shallowDeps, transitiveDeps);
            BuildEngine.theEngine.Repository.StoreVirtual(this.depsObj(), new Fresh(), contents);
            return new VerbSyncWorker(workingDirectory, new Fresh());
        }