示例#1
0
        public Pram()
        {
            var platformAssemblyLoadPath = new Dictionary <string, string>();
            var environment = new Dictionary <string, IReadOnlyDictionary <string, string> >();
            var plugins     = TypeConstructionUtility.ConstructTypesDerivedFrom <PramPlatformPlugin>();

            foreach (var plugin in plugins)
            {
                foreach (var provider in plugin.Providers)
                {
                    platformAssemblyLoadPath[provider] = plugin.PlatformAssemblyLoadPath;
                    environment[provider] = plugin.Environment;
                }
            }

            PlatformAssemblyLoadPath = platformAssemblyLoadPath;
            Environment = environment;
        }
 ClassicBuildPipelineCustomizer[] CreateCustomizers() =>
 TypeConstructionUtility.ConstructTypesDerivedFrom <ClassicBuildPipelineCustomizer>().ToArray();
示例#3
0
 private BuildPipelineBase ConstructPipeline(Platform platform)
 {
     return(TypeConstructionUtility.TryConstructTypeDerivedFrom <ClassicNonIncrementalPipelineBase>(p =>
                                                                                                    p.GetType() != typeof(MissingNonIncrementalPipeline) && IsBuildPipelineValid(p, platform), out var pipeline) ? pipeline : null);
 }