Example #1
0
 public GitHubRepositoryOptimizer(WopConfig wopConfig, DeveImageOptimizerConfiguration deveImageOptimizerConfiguration, IProgressReporter progressReporter)
 {
     _wopConfig = wopConfig;
     _deveImageOptimizerConfiguration = deveImageOptimizerConfiguration;
     _progressReporter  = progressReporter;
     _gitOctoKitHandler = new GitOctoKitHandler(_wopConfig);
     _git = new GitCommandLineHandler(_wopConfig);
 }
Example #2
0
        public void LoadFromConfiguration(DeveImageOptimizerConfiguration config)
        {
            FileOptimizerPath       = config.FileOptimizerPath;
            TempDirectory           = config.TempDirectory;
            HideFileOptimizerWindow = config.HideFileOptimizerWindow;
            SaveFailedFiles         = config.SaveFailedFiles;

            ExecuteImageOptimizationParallel = config.ExecuteImageOptimizationParallel;
            MaxDegreeOfParallelism           = config.MaxDegreeOfParallelism;

            LogLevel = config.LogLevel;
        }
Example #3
0
        public static async Task Main(string[] args)
        {
            var builder = new ConfigurationBuilder()
                          .SetBasePath(Directory.GetCurrentDirectory())
                          .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                          .AddEnvironmentVariables()
                          .AddUserSecrets(Assembly.GetExecutingAssembly(), true, true);

            var configuration = builder.Build();

            Console.WriteLine("For this tool to work you need to have both GIT and HUB installed.");

            var wopConfig = new WopConfig();

            configuration.Bind(wopConfig);

            var deveImageOptimizerConfiguration = new DeveImageOptimizerConfiguration()
            {
                ExecuteImageOptimizationParallel = true,
                MaxDegreeOfParallelism           = Environment.ProcessorCount
            };

            //var githubRepositoryOptimizer = new GitHubRepositoryOptimizer(wopConfig, deveImageOptimizerConfiguration, new WopProgressReporter());
            //await githubRepositoryOptimizer.GoOptimize("WebOptimizationProject", "TestRepo1");
            //await githubRepositoryOptimizer.GoOptimize(282345207L);



            var repoManager = new WopRepoManager(wopConfig);

            repoManager.Start();

            //string owner = "vuejs";
            //var repos = await GitHubRepositoryOptimizer.ObtainRepositoriesForOwner(owner);
            //foreach (var repo in repos)
            //{
            //    await GitHubRepositoryOptimizer.GoOptimize(owner, repo);
            //}

            //await GitHubRepositoryOptimizer.GoOptimize("vuejs-templates", "webpack");
            //await GitHubRepositoryOptimizer.GoOptimize("vuejs-templates", "simple");
            //await GitHubRepositoryOptimizer.GoOptimize("vuejs-templates", "pwa");
            //await GitHubRepositoryOptimizer.GoOptimize("vuejs-templates", "browserify");
            //await GitHubRepositoryOptimizer.GoOptimize("vuejs-templates", "webpack-simple");
            //await GitHubRepositoryOptimizer.GoOptimize("vuejs-templates", "browserify-simple");

            Console.WriteLine("Application finished, press any key to continue...");
            Console.ReadKey();
        }
Example #4
0
        public DeveImageOptimizerConfiguration ToDeveImageOptimizerConfiguration()
        {
            var config = new DeveImageOptimizerConfiguration()
            {
                ExecuteImageOptimizationParallel = ExecuteImageOptimizationParallel,
                FileOptimizerPath       = FileOptimizerPath,
                HideFileOptimizerWindow = HideFileOptimizerWindow,
                LogLevel = LogLevel,
                MaxDegreeOfParallelism = MaxDegreeOfParallelism,
                SaveFailedFiles        = SaveFailedFiles,
                TempDirectory          = TempDirectory
            };

            return(config);
        }