Index: trunk/tools/checkstyle/META-INF/MANIFEST.MF
===================================================================
--- trunk/tools/checkstyle/META-INF/MANIFEST.MF	(revision 15033)
+++ trunk/tools/checkstyle/META-INF/MANIFEST.MF	(revision 15588)
@@ -3,5 +3,5 @@
 Bundle-Name: JOSM Checkstyle Eclipse Plugin
 Bundle-SymbolicName: org.openstreetmap.josm.checkstyle-eclipse-plugin;singleton:=true
-Bundle-Version: 8.12.0.qualifier
+Bundle-Version: 8.27.0.qualifier
 Require-Bundle: net.sf.eclipsecs.checkstyle,
  net.sf.eclipsecs.core,
Index: trunk/tools/checkstyle/josm_checks.xml
===================================================================
--- trunk/tools/checkstyle/josm_checks.xml	(revision 15033)
+++ trunk/tools/checkstyle/josm_checks.xml	(revision 15588)
@@ -45,8 +45,4 @@
       <property name="max" value="150"/>
       <property name="tokens" value="INSTANCE_INIT,STATIC_INIT,METHOD_DEF,CTOR_DEF"/>
-    </module>
-    <module name="LineLength">
-      <property name="max" value="145"/>
-      <property name="tabWidth" value="4"/>
     </module>
     <module name="MethodLength">
@@ -116,4 +112,9 @@
   </module>
   <module name="FileTabCharacter"/>
+  <module name="LineLength">
+    <property name="fileExtensions" value="java" />
+    <property name="max" value="145"/>
+    <property name="tabWidth" value="4"/>
+  </module>
   <module name="NewlineAtEndOfFile">
     <property name="lineSeparator" value="lf"/>
@@ -123,3 +124,8 @@
     <property name="optional" value="true"/>
   </module>
+  <module name="SuppressWithPlainTextCommentFilter">
+    <property name="offCommentFormat" value="CHECKSTYLE\.OFF\: ([\w\|]+)"/>
+    <property name="onCommentFormat" value="CHECKSTYLE\.ON\: ([\w\|]+)"/>
+    <property name="checkFormat" value="$1"/>
+  </module>
 </module>
Index: trunk/tools/checkstyle/josm_filters.xml
===================================================================
--- trunk/tools/checkstyle/josm_filters.xml	(revision 15033)
+++ trunk/tools/checkstyle/josm_filters.xml	(revision 15588)
@@ -29,4 +29,5 @@
   <suppress checks="." files="[\\/]tools[\\/]pmd[\\/]" />
   <suppress checks="." files="[\\/]windows[\\/]" />
+  <suppress checks="HeaderCheck" files="josm[\\/]tools[\\/]commons[\\/]" />
   <suppress checks="HeaderCheck" files="Ellipsoid\.java" />
   <suppress checks="HeaderCheck" files="NTV2GridShift\.java" />
@@ -48,4 +49,5 @@
   <suppress checks="HeaderCheck" files="ParallelScheduler\.java" />
   <suppress checks="FileLengthCheck" files="DomainValidator\.java" />
+  <suppress checks="MissingDeprecatedCheck" files="package-info\.java" />
   <suppress checks="org.openstreetmap.josm.TopLevelJavadocCheck" files="package-info\.java" />
   <suppress checks="org.openstreetmap.josm.TopLevelJavadocCheck" files="[\\/]test[\\/]" />
Index: trunk/tools/pmd/designer.bat
===================================================================
--- trunk/tools/pmd/designer.bat	(revision 15033)
+++ trunk/tools/pmd/designer.bat	(revision 15588)
@@ -2,5 +2,50 @@
 set TOPDIR=%~dp0..
 set OPTS=
-set MAIN_CLASS=net.sourceforge.pmd.util.fxdesigner.Designer
+set MAIN_CLASS=net.sourceforge.pmd.util.fxdesigner.DesignerStarter
 
-java -classpath "%TOPDIR%\pmd\*" %OPTS% %MAIN_CLASS% %*
+
+:: sets the jver variable to the java version, eg 901 for 9.0.1+x or 180 for 1.8.0_171-b11
+:: sets the jvendor variable to either java (oracle) or openjdk
+for /f tokens^=1^,3^,4^,5^ delims^=.-_+^"^  %%j in ('java -version 2^>^&1 ^| find "version"') do (
+  set jvendor=%%j
+  if %%l EQU ea (
+    set /A "jver=%%k00"
+  ) else (
+    set /A jver=%%k%%l%%m
+  )
+)
+
+Set "jreopts="
+:: oracle java 9 and 10 has javafx included as a module
+if /I "%jvendor%" EQU "java" (
+    if %jver% GEQ 900 (
+        if %jver% LSS 1100 (
+            :: enable reflection
+            Set jreopts=--add-opens javafx.controls/javafx.scene.control.skin=ALL-UNNAMED
+        )
+    )
+)
+
+set "_needjfxlib=0"
+if /I "%jvendor%" EQU "openjdk" set _needjfxlib=1
+if /I "%jvendor%" EQU "java" (
+    if %jver% GEQ 1100 set _needjfxlib=1
+)
+if %_needjfxlib% EQU 1 (
+    if %jver% LSS 1000 (
+        echo For openjfx at least java 10 is required.
+        pause
+        exit
+    )
+    if [%JAVAFX_HOME%] EQU [] (
+        echo The environment variable JAVAFX_HOME is missing.
+        pause
+        exit
+    )
+    set "classpath=%TOPDIR%\pmd\*;%JAVAFX_HOME%\lib\*"
+) else (
+    set "classpath=%TOPDIR%\pmd\*"
+)
+
+
+java %PMD_JAVA_OPTS% %jreopts% -classpath "%classpath%" %OPTS% %MAIN_CLASS% %*
Index: trunk/tools/pmd/josm-ruleset.xml
===================================================================
--- trunk/tools/pmd/josm-ruleset.xml	(revision 15033)
+++ trunk/tools/pmd/josm-ruleset.xml	(revision 15588)
@@ -12,4 +12,5 @@
     <exclude name="ArrayIsStoredDirectly"/>
     <exclude name="AvoidPrintStackTrace"/>
+    <exclude name="AvoidReassigningLoopVariables"/>
     <exclude name="AvoidReassigningParameters"/>
     <exclude name="AvoidStringBufferField"/>
@@ -17,4 +18,5 @@
     <exclude name="ConstantsInInterface"/>
     <exclude name="ForLoopCanBeForeach"/>
+    <exclude name="ForLoopVariableCount"/>
     <exclude name="GuardLogStatement"/>
     <exclude name="JUnit4TestShouldUseAfterAnnotation"/>
@@ -162,4 +164,5 @@
     <exclude name="BeanMembersShouldSerialize"/>
     <exclude name="CloneThrowsCloneNotSupportedException"/>
+    <!-- <exclude name="CloseResource"/> -->
     <exclude name="CompareObjectsWithEquals"/>
     <exclude name="ConstructorCallsOverridableMethod"/>
