Index: /trunk/.checkstyle
===================================================================
--- /trunk/.checkstyle	(revision 8508)
+++ /trunk/.checkstyle	(revision 8508)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false">
+  <fileset name="all" enabled="true" check-config-name="JOSM" local="false">
+    <file-match-pattern match-pattern="." include-pattern="true"/>
+  </fileset>
+  <filter name="DerivedFiles" enabled="true"/>
+  <filter name="FilesFromPackage" enabled="true">
+    <filter-data value="src/com"/>
+    <filter-data value="src/gnu"/>
+    <filter-data value="src/javax"/>
+    <filter-data value="src/oauth"/>
+    <filter-data value="src/org/apache"/>
+    <filter-data value="src/org/glassfish"/>
+    <filter-data value="src/org/jdesktop"/>
+    <filter-data value="src/org/openstreetmap/gui"/>
+    <filter-data value="src/org/w3"/>
+    <filter-data value="data"/>
+    <filter-data value="images"/>
+    <filter-data value="styles"/>
+    <filter-data value="resources"/>
+    <filter-data value="scripts"/>
+  </filter>
+</fileset-config>
Index: /trunk/.project
===================================================================
--- /trunk/.project	(revision 8507)
+++ /trunk/.project	(revision 8508)
@@ -26,4 +26,9 @@
 			</arguments>
 		</buildCommand>
+		<buildCommand>
+			<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
 	</buildSpec>
 	<natures>
@@ -32,4 +37,5 @@
 		<nature>org.sonar.ide.eclipse.core.sonarNature</nature>
 		<nature>sf.eclipse.javacc.javaccnature</nature>
+		<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
 	</natures>
 </projectDescription>
Index: /trunk/README
===================================================================
--- /trunk/README	(revision 8507)
+++ /trunk/README	(revision 8508)
@@ -118,4 +118,6 @@
                             used to build and check code signatures to ensure plugins binary compatibility 
     - appbundler-1.0ea.jar  used to build Mac OS X package for Oracle Java 7
+    - checkstyle/           libs and config files for checkstyle (automatically detects code style
+                            problems in source code); can be launched as an ant target in build.xml
     - findbugs/             libs and config files for findbugs (automatically detects common bugs and potential
                             problems in source code); can be launched as an ant target in build.xml
Index: /trunk/build.xml
===================================================================
--- /trunk/build.xml	(revision 8507)
+++ /trunk/build.xml	(revision 8508)
@@ -572,4 +572,13 @@
     </target>
 
+    <target name="checkstyle">
+        <taskdef resource="checkstyletask.properties" classpath="tools/checkstyle/checkstyle-6.7-all.jar"/>
+        <checkstyle config="tools/checkstyle/josm_checks.xml">
+            <fileset dir="${basedir}/src/org/openstreetmap/josm" includes="**/*.java"/>
+            <fileset dir="${basedir}/test" includes="**/*.java"/>
+            <formatter type="xml" toFile="checkstyle-josm.xml"/>
+        </checkstyle>
+    </target>
+
     <target name="findbugs" depends="dist">
         <taskdef name="findbugs" classname="edu.umd.cs.findbugs.anttask.FindBugsTask" classpath="tools/findbugs/findbugs-ant.jar"/>
Index: /trunk/tools/checkstyle/josm_checks.xml
===================================================================
--- /trunk/tools/checkstyle/josm_checks.xml	(revision 8508)
+++ /trunk/tools/checkstyle/josm_checks.xml	(revision 8508)
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
+
+<!--
+    This configuration file was written by the eclipse-cs plugin configuration editor
+-->
+<!--
+    Checkstyle-Configuration: JOSM
+    Description: 
+JOSM Checkstyle rules
+-->
+<module name="Checker">
+  <property name="severity" value="warning"/>
+  <module name="TreeWalker">
+    <module name="MissingDeprecated"/>
+    <module name="MissingOverride"/>
+    <module name="PackageAnnotation"/>
+    <module name="AnnotationLocation">
+      <property name="allowSamelineMultipleAnnotations" value="true"/>
+    </module>
+    <module name="AnnotationUseStyle"/>
+    <module name="JavadocStyle">
+      <property name="checkFirstSentence" value="false"/>
+      <property name="checkHtml" value="false"/>
+    </module>
+    <module name="NonEmptyAtclauseDescription"/>
+    <module name="AtclauseOrder"/>
+    <module name="AvoidStarImport"/>
+    <module name="RedundantImport"/>
+    <module name="UnusedImports">
+      <property name="processJavadoc" value="true"/>
+    </module>
+    <module name="AnonInnerLength">
+      <property name="max" value="50"/>
+    </module>
+    <module name="ExecutableStatementCount">
+      <property name="max" value="128"/>
+      <property name="tokens" value="INSTANCE_INIT,STATIC_INIT,METHOD_DEF,CTOR_DEF"/>
+    </module>
+    <module name="LineLength">
+      <property name="max" value="150"/>
+      <property name="tabWidth" value="4"/>
+    </module>
+    <module name="MethodLength">
+      <property name="max" value="300"/>
+    </module>
+    <module name="ParameterNumber">
+      <property name="max" value="10"/>
+    </module>
+    <module name="OuterTypeNumber"/>
+    <module name="MethodCount"/>
+  </module>
+  <module name="Header">
+    <property name="header" value="// License: GPL. For details, see LICENSE file."/>
+    <property name="fileExtensions" value=".java"/>
+  </module>
+  <module name="FileLength">
+    <property name="fileExtensions" value=".java"/>
+  </module>
+</module>
