コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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);
        }