static void Main(string[] args) { string outfile = Properties.Settings.Default.Outfile; List <SettingsPath> ComponentDirectories = CreateSettingsPath(Properties.Settings.Default.ComponentDirectoriesFile); string decisionDirectory = Properties.Settings.Default.DecisionDirectory; string dataRoot = Properties.Settings.Default.DataRoot; List <string> typeDir = CreateTypeDirectories(Properties.Settings.Default.TypeDirectoriesFile); Console.WriteLine("Scanning component directories..."); ComponentsLibrary.Init(ComponentDirectories); ComponentsLibrary.Instance.DecisionsDirectoryPath = decisionDirectory; ComponentsLibrary.Instance.DataRoot = dataRoot; ComponentsLibrary.Instance.Rescan(PackageManager.Instance, typeDir, true); while (ComponentsLibrary.Instance.IsRescanning) { } // wait if (ComponentsLibrary.Instance.DefinitionErrors != null) { int errors = 0; foreach (string error in ComponentsLibrary.Instance.DefinitionErrors) { errors++; Console.WriteLine(error); } Console.WriteLine(); Console.WriteLine("{0} errors found.", errors); } int count = 0; if (ComponentsLibrary.Instance.Components != null) { string lineFormat = String.Format("{{0,-{0}}}\t{{1}}\t{{2}}\t{{3}}", Properties.Settings.Default.GUIDLength); TextWriter file = new StreamWriter(outfile, false); foreach (MetadataDefinition metadata in ComponentsLibrary.Instance.Components) { count++; file.WriteLine(lineFormat, metadata.ID, PadName(metadata.Label, Properties.Settings.Default.NameLength), PadName(metadata.Version, Properties.Settings.Default.VersionLength), metadata.Assembly); } file.Flush(); file.Close(); } Console.WriteLine("{0} components found.", count); Console.WriteLine("Output written to {0}", Properties.Settings.Default.Outfile); }
private static TraceLab.Core.ViewModels.ComponentLibraryViewModel CreateComponentLibraryViewModel(PackageManager pkgManager, TraceLab.Core.Settings.Settings settings, string decisionDirectory, string dataRoot) { ComponentsLibrary.Init(settings.ComponentPaths); //Load stuff to components library TraceLab.Core.Decisions.DecisionCompilationRunner.DecisionDirectoryPath = decisionDirectory; ComponentsLibrary.Instance.DataRoot = dataRoot; var workspaceTypeDirectories = new List <string>(settings.TypePaths.Select(path => path.Path)); ComponentsLibrary.Instance.Rescan(pkgManager, workspaceTypeDirectories, false); foreach (SettingsPath path in settings.ComponentPaths) { var logger = NLog.LogManager.GetCurrentClassLogger(); logger.Info("Reading components from: {0}", path.Path); } var compvm = new ComponentLibraryViewModel(ComponentsLibrary.Instance, workspaceTypeDirectories); return(compvm); }