Ticket #11271: josm_skip_plugins.diff

File josm_skip_plugins.diff, 4.3 KB (added by brycenesbitt, 9 years ago)

Same patch, different command line option.

  • src/org/openstreetmap/josm/gui/MainApplication.java

     
    132132                "\t--language=<language>                     "+tr("Set the language")+"\n\n"+
    133133                "\t--version                                 "+tr("Displays the JOSM version and exits")+"\n\n"+
    134134                "\t--debug                                   "+tr("Print debugging messages to console")+"\n\n"+
     135                "\t--skip-plugins                            "+tr("Skip loading plugins")+"\n\n"+
    135136                "\t--offline=<osm_api|josm_website|all>      "+tr("Disable access to the given resource(s), separated by comma")+"\n\n"+
    136137                tr("options provided as Java system properties")+":\n"+
    137138                "\t-Djosm.pref="    +tr("/PATH/TO/JOSM/PREF    ")+tr("Set the preferences directory")+"\n\n"+
     
    194195        /** --selection=&lt;searchstring&gt;           Select with the given search */
    195196        SELECTION(true),
    196197        /** --offline=&lt;osm_api|josm_website|all&gt; Disable access to the given resource(s), delimited by comma */
    197         OFFLINE(true);
     198        OFFLINE(true),
     199        /* --skip-plugins */
     200        SKIP_PLUGINS(false),
     201        ;
    198202
    199203        private String name;
    200204        private boolean requiresArgument;
     
    343347            Main.info(tr("Printing debugging messages to console"));
    344348        }
    345349
     350        Boolean skipLoadingPlugins = false;
     351        if (args.containsKey(Option.SKIP_PLUGINS)) {
     352            skipLoadingPlugins = true;
     353            Main.info(tr("Fast start: plugins will not be loaded"));
     354        }
     355
    346356        if (args.containsKey(Option.TRACE)) {
    347357            // Enable JOSM debug level
    348358            logLevel = 5;
     
    412422            }
    413423        });
    414424
    415         Collection<PluginInformation> pluginsToLoad = PluginHandler.buildListOfPluginsToLoad(splash, monitor.createSubTaskMonitor(1, false));
    416         if (!pluginsToLoad.isEmpty() && PluginHandler.checkAndConfirmPluginUpdate(splash)) {
    417             monitor.subTask(tr("Updating plugins"));
    418             pluginsToLoad = PluginHandler.updatePlugins(splash, null, monitor.createSubTaskMonitor(1, false), false);
    419         }
     425        Collection<PluginInformation> pluginsToLoad = null;
    420426
    421         monitor.indeterminateSubTask(tr("Installing updated plugins"));
    422         PluginHandler.installDownloadedPlugins(true);
    423427
    424         monitor.indeterminateSubTask(tr("Loading early plugins"));
    425         PluginHandler.loadEarlyPlugins(splash, pluginsToLoad, monitor.createSubTaskMonitor(1, false));
     428        if (!skipLoadingPlugins) {
     429            pluginsToLoad = PluginHandler.buildListOfPluginsToLoad(splash, monitor.createSubTaskMonitor(1, false));
     430            if (!pluginsToLoad.isEmpty() && PluginHandler.checkAndConfirmPluginUpdate(splash)) {
     431                monitor.subTask(tr("Updating plugins"));
     432                pluginsToLoad = PluginHandler.updatePlugins(splash, null, monitor.createSubTaskMonitor(1, false), false);
     433            }
    426434
     435            monitor.indeterminateSubTask(tr("Installing updated plugins"));
     436            PluginHandler.installDownloadedPlugins(true);
     437
     438            monitor.indeterminateSubTask(tr("Loading early plugins"));
     439            PluginHandler.loadEarlyPlugins(splash, pluginsToLoad, monitor.createSubTaskMonitor(1, false));
     440        }
     441
    427442        monitor.indeterminateSubTask(tr("Setting defaults"));
    428443        preConstructorInit(args);
    429444
     
    430445        monitor.indeterminateSubTask(tr("Creating main GUI"));
    431446        final Main main = new MainApplication(mainFrame);
    432447
    433         monitor.indeterminateSubTask(tr("Loading plugins"));
    434         PluginHandler.loadLatePlugins(splash, pluginsToLoad,  monitor.createSubTaskMonitor(1, false));
    435         toolbar.refreshToolbarControl();
     448        if (!skipLoadingPlugins) {
     449            monitor.indeterminateSubTask(tr("Loading plugins"));
     450            PluginHandler.loadLatePlugins(splash, pluginsToLoad,  monitor.createSubTaskMonitor(1, false));
     451            toolbar.refreshToolbarControl();
     452        }
    436453
    437454        // Wait for splash disappearance (fix #9714)
    438455        GuiHelper.runInEDTAndWait(new Runnable() {