public void ResolveAll(ModuleInfo module, string platform) { if (!_featureManager.IsFeatureEnabled(Feature.PackageManagement)) { return; } Console.WriteLine("Starting resolution of packages for " + platform + "..."); if (module.Packages != null && module.Packages.Count > 0) { foreach (var submodule in module.Packages) { if (submodule.IsActiveForPlatform(platform)) { Console.WriteLine("Resolving: " + submodule.Uri); this.Resolve(module, submodule, platform, null, null); } else { Console.WriteLine("Skipping resolution for " + submodule.Uri + " because it is not active for this target platform"); } } } foreach (var submodule in module.GetSubmodules(platform)) { if (submodule.Packages.Count == 0 && submodule.GetSubmodules(platform).Length == 0) { if (_featureManager.IsFeatureEnabledInSubmodule(module, submodule, Feature.OptimizationSkipResolutionOnNoPackagesOrSubmodules)) { Console.WriteLine( "Skipping package resolution in submodule for " + submodule.Name + " (there are no submodule or packages)"); continue; } } Console.WriteLine( "Invoking package resolution in submodule for " + submodule.Name); _moduleExecution.RunProtobuild( submodule, _featureManager.GetFeatureArgumentToPassToSubmodule(module, submodule) + "-resolve " + platform + " " + packageRedirector.GetRedirectionArguments()); Console.WriteLine( "Finished submodule package resolution for " + submodule.Name); } Console.WriteLine("Package resolution complete."); }
private void LoadModuleTemplates(ModuleInfo module) { foreach (var i in module.GetTemplates()) { this.AddToToolbar(i); } foreach (var submodule in module.GetSubmodules()) this.LoadModuleTemplates(submodule); }
private void BuildTreeIter(TreeIter iter, ModuleInfo info) { foreach (var module in info.GetSubmodules().OrderBy(x => x.Name)) { var subIter = this.m_Store.AppendValues(iter, GetPixbufForType("Module"), module.Name, module); this.BuildTreeIter(subIter, module); } foreach (var definition in info.GetDefinitions().OrderBy(x => x.Type).ThenBy(x => x.Name)) { this.m_Store.AppendValues(iter, GetPixbufForType(definition.Type), definition.Name, definition); } }
public void ResolveAll(ModuleInfo module, string platform) { Console.WriteLine("Starting resolution of packages..."); if (module.Packages != null && module.Packages.Count > 0) { foreach (var submodule in module.Packages) { Console.WriteLine("Resolving: " + submodule.Uri); this.Resolve(module, submodule, platform, null, null); } } foreach (var submodule in module.GetSubmodules(platform)) { Console.WriteLine( "Invoking package resolution in submodule for " + submodule.Name); submodule.RunProtobuild("-resolve " + platform + " " + packageRedirector.GetRedirectionArguments()); Console.WriteLine( "Finished submodule package resolution for " + submodule.Name); } Console.WriteLine("Package resolution complete."); }
public void ResolveAll(string workingDirectory, ModuleInfo module, string platform, bool?enableParallelisation, bool forceUpgrade, bool?safeResolve) { if (!_featureManager.IsFeatureEnabled(Feature.PackageManagement)) { return; } RedirectableConsole.WriteLine("Starting resolution of packages for " + platform + "..."); var parallelisation = enableParallelisation ?? _hostPlatformDetector.DetectPlatform() == "Windows"; if (parallelisation) { RedirectableConsole.WriteLine("Enabled parallelisation; use --no-parallel to disable..."); } if (module.Packages != null && module.Packages.Count > 0) { var taskList = new List <Task <Tuple <string, Action> > >(); var resultList = new List <Tuple <string, Action> >(); foreach (var submodule in module.Packages) { if (submodule.IsActiveForPlatform(platform)) { RedirectableConsole.WriteLine("Querying: " + submodule.Uri); var submodule1 = submodule; if (parallelisation) { var task = new Func <Task <Tuple <string, Action> > >(async() => { var metadata = await Task.Run(() => Lookup(workingDirectory, module, submodule1, platform, null, null, forceUpgrade, safeResolve)); if (metadata == null) { return(new Tuple <string, Action>(submodule1.Uri, () => { })); } return(new Tuple <string, Action>(submodule1.Uri, () => { this.Resolve(workingDirectory, metadata, submodule1, null, null, forceUpgrade, safeResolve); })); }); taskList.Add(task()); } else { var metadata = Lookup(workingDirectory, module, submodule1, platform, null, null, forceUpgrade, safeResolve); if (metadata == null) { resultList.Add(new Tuple <string, Action>(submodule1.Uri, () => { })); } else { resultList.Add(new Tuple <string, Action>(submodule1.Uri, () => { this.Resolve(workingDirectory, metadata, submodule1, null, null, forceUpgrade, safeResolve); })); } } } else { RedirectableConsole.WriteLine("Skipping resolution for " + submodule.Uri + " because it is not active for this target platform"); } } if (parallelisation) { var taskArray = taskList.ToArray(); Task.WaitAll(taskArray); foreach (var tuple in taskArray) { RedirectableConsole.WriteLine("Resolving: " + tuple.Result.Item1); tuple.Result.Item2(); } } else { foreach (var tuple in resultList) { RedirectableConsole.WriteLine("Resolving: " + tuple.Item1); tuple.Item2(); } } } foreach (var submodule in module.GetSubmodules(platform)) { if (submodule.Packages.Count == 0 && submodule.GetSubmodules(platform).Length == 0) { if (_featureManager.IsFeatureEnabledInSubmodule(module, submodule, Feature.OptimizationSkipResolutionOnNoPackagesOrSubmodules)) { RedirectableConsole.WriteLine( "Skipping package resolution in submodule for " + submodule.Name + " (there are no submodule or packages)"); continue; } } RedirectableConsole.WriteLine( "Invoking package resolution in submodule for " + submodule.Name); string parallelMode = null; if (_featureManager.IsFeatureEnabledInSubmodule(module, submodule, Feature.TaskParallelisation)) { if (parallelisation) { parallelMode += "-parallel "; } else { parallelMode += "-no-parallel "; } } _moduleExecution.RunProtobuild( submodule, _featureManager.GetFeatureArgumentToPassToSubmodule(module, submodule) + parallelMode + "-resolve " + platform + " " + packageRedirector.GetRedirectionArguments()); RedirectableConsole.WriteLine( "Finished submodule package resolution for " + submodule.Name); } RedirectableConsole.WriteLine("Package resolution complete."); }
public void ResolveAll(ModuleInfo module, string platform) { if (!_featureManager.IsFeatureEnabled(Feature.PackageManagement)) { return; } Console.WriteLine("Starting resolution of packages for " + platform + "..."); if (module.Packages != null && module.Packages.Count > 0) { foreach (var submodule in module.Packages) { if (submodule.IsActiveForPlatform(platform)) { Console.WriteLine("Resolving: " + submodule.Uri); this.Resolve(module, submodule, platform, null, null); } else { Console.WriteLine("Skipping resolution for " + submodule.Uri + " because it is not active for this target platform"); } } } foreach (var submodule in module.GetSubmodules(platform)) { if (submodule.Packages.Count == 0 && submodule.GetSubmodules(platform).Length == 0) { if (_featureManager.IsFeatureEnabledInSubmodule(module, submodule, Feature.OptimizationSkipResolutionOnNoPackagesOrSubmodules)) { Console.WriteLine( "Skipping package resolution in submodule for " + submodule.Name + " (there are no submodule or packages)"); continue; } } Console.WriteLine( "Invoking package resolution in submodule for " + submodule.Name); _moduleExecution.RunProtobuild( submodule, _featureManager.GetFeatureArgumentToPassToSubmodule(module, submodule) + "-resolve " + platform + " " + packageRedirector.GetRedirectionArguments()); Console.WriteLine( "Finished submodule package resolution for " + submodule.Name); } Console.WriteLine("Package resolution complete."); }