public GitHubRepositoryOptimizer(WopConfig wopConfig, DeveImageOptimizerConfiguration deveImageOptimizerConfiguration, IProgressReporter progressReporter) { _wopConfig = wopConfig; _deveImageOptimizerConfiguration = deveImageOptimizerConfiguration; _progressReporter = progressReporter; _gitOctoKitHandler = new GitOctoKitHandler(_wopConfig); _git = new GitCommandLineHandler(_wopConfig); }
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; }
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(); }
public DeveImageOptimizerConfiguration ToDeveImageOptimizerConfiguration() { var config = new DeveImageOptimizerConfiguration() { ExecuteImageOptimizationParallel = ExecuteImageOptimizationParallel, FileOptimizerPath = FileOptimizerPath, HideFileOptimizerWindow = HideFileOptimizerWindow, LogLevel = LogLevel, MaxDegreeOfParallelism = MaxDegreeOfParallelism, SaveFailedFiles = SaveFailedFiles, TempDirectory = TempDirectory }; return(config); }