예제 #1
0
        static async Task <int> Main(string[] args)
        {
            if (!ValidateConfig(args))
            {
                return(1);
            }

            var status = 1;
            var watch  = Stopwatch.StartNew();

            var procedure = new StepCollection(
                new GenerateDocument(),
                new CentralizeDocument(),
                new GenerateToc()
                );

            try
            {
                foreach (var config in _configs)
                {
                    config.DocletPath = _docletPath;

                    ConsoleLogger.WriteLine(new LogEntry
                    {
                        Phase   = "Initialize",
                        Level   = LogLevel.Info,
                        Message = $" {config.PackageConfigs.Count} package(s) to process, target folder: '{config.OutputPath}'"
                    });

                    await procedure.RunAsync(config);
                }
                status = 0;
            }

            catch
            {
                // do nothing
            }
            finally
            {
                watch.Stop();
            }

            var statusString = status == 0 ? "Succeeded" : "Failed";

            Console.WriteLine($"{statusString} in {watch.ElapsedMilliseconds} milliseconds.");
            return(status);
        }
예제 #2
0
        public Task RunAsync(ConfigModel config)
        {
            return(Task.Run(async() =>
            {
                foreach (var packageConfig in config.PackageConfigs)
                {
                    var procedure = new StepCollection(
                        new RestoreDependency(packageConfig.RepositoryFolder),
                        new RunJavadoc(packageConfig.RepositoryFolder, packageConfig.Package),
                        new ApplyArtifactInformation(packageConfig.RepositoryFolder, packageConfig.Package));


                    await procedure.RunAsync(config);
                }
            }));
        }