Пример #1
0
        public static void Main(string[] args)
        {
            string dir;

            if (args.Length == 0)
            {
                dir = Directory.GetCurrentDirectory();
                Console.WriteLine($"(assuming current directory {dir})");
            }
            else
            {
                dir = args[0];
                Console.WriteLine($"Processing directory {dir}");
            }

            Analyzer  = new CSharpAnalyzer(Console.WriteLine);
            Generator = new UmlGenerator();
            var files = Directory.EnumerateFiles(Path.GetFullPath(dir), "*.cs", SearchOption.AllDirectories);

            Collection = Analyzer.AnalyzeFiles(files);

            var settingsFiles = Directory.EnumerateFiles(Path.GetFullPath(dir), "*.dg.cfg", SearchOption.AllDirectories).ToList();

            if (settingsFiles.Count == 0)
            {
                settingsFiles.Add(dir + @"\default.dg.cfg");
            }

            foreach (var settingsFile in settingsFiles)
            {
                Settings = new Settings(settingsFile);
                var coll = Settings.StartClass == "" ? Collection : Collection.Clone(Settings.StartClass, Settings);
                SaveFile(Generator.GeneratePlantUml(coll), settingsFile.Replace(".dg.cfg", ".plantuml"));
            }
        }