public static void Main(string [] args) { var automatorOptions = new MavenBindingAutomatorOptions(); var dlOpts = automatorOptions.DownloaderOptions; var creatorOpts = automatorOptions.ProjectCreatorOptions; var builderOpts = automatorOptions.ProjectBuilderOptions; bool gui = false; dlOpts.Repositories.Add(new GoogleRepository()); foreach (var arg in args) { if (arg == "--help") { ShowHelp(); return; } if (arg == "--gui") { gui = true; } else if (arg.StartsWith("--android-sdk:", StringComparison.Ordinal)) { dlOpts.Repositories.Add(new LocalAndroidSdkRepository(arg.Substring("--android-sdk:".Length))); } else if (arg.StartsWith("--projects:", StringComparison.Ordinal)) { creatorOpts.SolutionDirectory = arg.Substring("--projects:".Length); builderOpts.SolutionDirectory = arg.Substring("--projects:".Length); } else if (arg.StartsWith("--out:", StringComparison.Ordinal)) { dlOpts.OutputPath = arg.Substring("--out:".Length); } else { dlOpts.Poms.Add(arg); } } dlOpts.Repositories.Add(new JCenterRepository()); if (gui) { Application.Initialize(); var window = new MainWindow(); window.Closed += (sender, e) => Application.Exit(); window.Show(); window.Model.Options = automatorOptions; Application.Run(); } else { new MavenBindingAutomator().Process(automatorOptions); } }
public void Process(MavenBindingAutomatorOptions options) { // download Java dependencies var d = new MavenDownloader(); var dr = d.Process(options.DownloaderOptions); if (options.ProjectCreatorOptions.SolutionDirectory == null) { options.DownloaderOptions.LogMessage("Required option for projects directory is missing. No further action is taken. Done."); return; } // create project to build var c = new BindingProjectCreator(); var cr = c.Process(options.ProjectCreatorOptions, dr.Downloads); // build project var b = new BindingProjectBuilder(); b.Process(options.ProjectBuilderOptions, cr.Projects); }