Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }