Index: applications/editors/josm/plugins/osmarender/.project
===================================================================
--- applications/editors/josm/plugins/osmarender/.project	(revision 34396)
+++ applications/editors/josm/plugins/osmarender/.project	(revision 34537)
@@ -6,14 +6,4 @@
 	</projects>
 	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.ui.externaltools.ExternalToolBuilder</name>
-			<triggers>full,incremental,</triggers>
-			<arguments>
-				<dictionary>
-					<key>LaunchConfigHandle</key>
-					<value>&lt;project&gt;/.externalToolBuilders/copy_styles.launch</value>
-				</dictionary>
-			</arguments>
-		</buildCommand>
 		<buildCommand>
 			<name>org.eclipse.jdt.core.javabuilder</name>
Index: applications/editors/josm/plugins/osmarender/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- applications/editors/josm/plugins/osmarender/.settings/org.eclipse.jdt.core.prefs	(revision 34396)
+++ applications/editors/josm/plugins/osmarender/.settings/org.eclipse.jdt.core.prefs	(revision 34537)
@@ -3,10 +3,14 @@
 org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
 org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull
+org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
 org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault
+org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
 org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable
+org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
 org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
 org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.APILeak=warning
 org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
@@ -46,4 +50,5 @@
 org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
 org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning
+org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=warning
 org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
 org.eclipse.jdt.core.compiler.problem.nullReference=warning
@@ -52,4 +57,5 @@
 org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
 org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
+org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
 org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
 org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
@@ -68,4 +74,5 @@
 org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled
 org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
+org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
 org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
 org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
@@ -74,4 +81,7 @@
 org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
 org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
+org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning
+org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
+org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info
 org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
 org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
@@ -81,4 +91,5 @@
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
+org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
 org.eclipse.jdt.core.compiler.problem.unusedImport=warning
 org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
Index: applications/editors/josm/plugins/osmarender/build.xml
===================================================================
--- applications/editors/josm/plugins/osmarender/build.xml	(revision 34396)
+++ applications/editors/josm/plugins/osmarender/build.xml	(revision 34537)
@@ -5,5 +5,5 @@
     <property name="commit.message" value="Fixed #4360 - osmarender plugin does not load"/>
     <!-- enter the *lowest* JOSM version this plugin is currently compatible with -->
-    <property name="plugin.main.version" value="13007"/>
+    <property name="plugin.main.version" value="14153"/>
 
     <property name="stylesheets" location="./stylesheets"/>
Index: applications/editors/josm/plugins/osmarender/src/org/openstreetmap/josm/plugins/osmarender/OsmarenderPlugin.java
===================================================================
--- applications/editors/josm/plugins/osmarender/src/org/openstreetmap/josm/plugins/osmarender/OsmarenderPlugin.java	(revision 34396)
+++ applications/editors/josm/plugins/osmarender/src/org/openstreetmap/josm/plugins/osmarender/OsmarenderPlugin.java	(revision 34537)
@@ -30,7 +30,7 @@
 import javax.swing.JTextField;
 
-import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.JosmAction;
 import org.openstreetmap.josm.data.Bounds;
+import org.openstreetmap.josm.data.Preferences;
 import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.osm.DataSet;
@@ -51,7 +51,8 @@
 import org.openstreetmap.josm.plugins.Plugin;
 import org.openstreetmap.josm.plugins.PluginInformation;
+import org.openstreetmap.josm.spi.preferences.Config;
 import org.openstreetmap.josm.tools.GBC;
 import org.openstreetmap.josm.tools.Logging;
-import org.openstreetmap.josm.tools.PlatformHookWindows;
+import org.openstreetmap.josm.tools.PlatformManager;
 import org.openstreetmap.josm.tools.Utils;
 
@@ -84,5 +85,5 @@
             }
 
-            String firefox = Main.pref.get("osmarender.firefox", "firefox");
+            String firefox = Config.getPref().get("osmarender.firefox", "firefox");
             String pluginDir = getPluginDirs().getUserDataDirectory(false).getPath();
             try (OsmWriter w = OsmWriterFactory.createOsmWriter(new PrintWriter(new OutputStreamWriter(
@@ -129,5 +130,5 @@
                 // get the exec line
                 String argument;
-                if (Main.platform instanceof PlatformHookWindows)
+                if (PlatformManager.isPlatformWindows())
                     argument = "file:///"+pluginDir.replace('\\','/').replace(" ","%20")+File.separator+"generated.xml\"";
                 else
@@ -137,5 +138,5 @@
                 Runtime.getRuntime().exec(new String[]{firefox, argument});
             } catch (IOException e1) {
-                JOptionPane.showMessageDialog(Main.parent, 
+                JOptionPane.showMessageDialog(MainApplication.getMainFrame(), 
                         tr("Firefox not found. Please set firefox executable in the Map Settings page of the preferences."));
             }
@@ -168,5 +169,5 @@
     @Deprecated
     public String _getPluginDir() {
-        return new File(Main.pref.getPluginsDirectory(), getPluginInformation().name).getPath();
+        return new File(Preferences.main().getPluginsDirectory(), getPluginInformation().name).getPath();
     }
 
@@ -222,5 +223,5 @@
             panel.add(firefox, GBC.eol().insets(0,5,0,0).fill(GBC.HORIZONTAL));
             panel.add(Box.createVerticalGlue(), GBC.eol().fill(GBC.BOTH));
-            firefox.setText(Main.pref.get("osmarender.firefox"));
+            firefox.setText(Config.getPref().get("osmarender.firefox"));
             gui.getMapPreference().getTabPane().addTab(tr("Osmarender"), panel);
         }
@@ -228,5 +229,5 @@
         @Override
         public boolean ok() {
-            Main.pref.put("osmarender.firefox", firefox.getText());
+            Config.getPref().put("osmarender.firefox", firefox.getText());
             return false;
         }
