You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ti...@apache.org on 2017/04/30 15:02:13 UTC

[5/6] maven-surefire git commit: [SUREFIRE-1366] mvn javadoc:javadoc fails on Javadoc syntax with JDK 1.8

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
----------------------------------------------------------------------
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
index f2c32d0..551d980 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java
@@ -135,7 +135,7 @@ public abstract class AbstractSurefireMojo
     protected boolean skipTests;
 
     /**
-     * This old parameter is just like <code>skipTests</code>, but bound to the old property "maven.test.skip.exec".
+     * This old parameter is just like {@code skipTests}, but bound to the old property "maven.test.skip.exec".
      *
      * @since 2.3
      * @deprecated Use skipTests instead.
@@ -147,7 +147,7 @@ public abstract class AbstractSurefireMojo
     /**
      * Set this to "true" to bypass unit tests entirely. Its use is NOT RECOMMENDED, especially if you enable it using
      * the "maven.test.skip" property, because maven.test.skip disables both running the tests and compiling the tests.
-     * Consider using the <code>skipTests</code> parameter instead.
+     * Consider using the {@code skipTests} parameter instead.
      */
     @Parameter( property = "maven.test.skip", defaultValue = "false" )
     protected boolean skip;
@@ -184,7 +184,7 @@ public abstract class AbstractSurefireMojo
     /**
      * A dependency scope to exclude from the test classpath. The scope should be one of the scopes defined by
      * org.apache.maven.artifact.Artifact. This includes the following:
-     * <p/>
+     * <br>
      * <ul>
      * <li><i>compile</i> - system, provided, compile
      * <li><i>runtime</i> - compile, runtime
@@ -215,23 +215,28 @@ public abstract class AbstractSurefireMojo
     private File testSourceDirectory;
 
     /**
-     * A list of &lt;exclude> elements specifying the tests (by pattern) that should be excluded in testing. When not
-     * specified and when the <code>test</code> parameter is not specified, the default excludes will be <code><br/>
-     * &lt;excludes><br/>
-     * &nbsp;&lt;exclude>**&#47;*$*&lt;/exclude><br/>
-     * &lt;/excludes><br/>
-     * </code> (which excludes all inner classes).<br>
-     * This parameter is ignored if the TestNG <code>suiteXmlFiles</code> parameter is specified.
-     * <p/>
-     * Each exclude item may also contain a comma-separated sublist of items, which will be treated as multiple
-     * &nbsp;&lt;exclude> entries.<br/>
-     * Since 2.19 a complex syntax is supported in one parameter (JUnit 4, JUnit 4.7+, TestNG):<br/>
-     * <exclude>%regex[pkg.*Slow.*.class], Unstable*</exclude><br/>
-     * <br/>
-     * <em>Notice that</em> these values are relative to the directory containing generated test classes of the project
-     * being tested. This directory is declared by the parameter <code>testClassesDirectory</code> which defaults
-     * to the POM property <code>${project.build.testOutputDirectory}</code>, typically <em>src/test/java</em>
-     * unless overridden.
+     * A list of &lt;exclude&gt; elements specifying the tests (by pattern) that should be excluded in testing. When not
+     * specified and when the {@code test} parameter is not specified, the default excludes will be <br>
+     * <pre><code>
+     * {@literal <excludes>}
+     *     {@literal <exclude>}**{@literal /}*$*{@literal </exclude>}
+     * {@literal </excludes>}
+     * </code></pre>
+     * (which excludes all inner classes).
+     * <br>
+     * This parameter is ignored if the TestNG {@code suiteXmlFiles} parameter is specified.
+     * <br>
+     * Each exclude item may also contain a comma-separated sub-list of items, which will be treated as multiple
+     * &nbsp;&lt;exclude&gt; entries.<br>
+     * Since 2.19 a complex syntax is supported in one parameter (JUnit 4, JUnit 4.7+, TestNG):
+     * <pre><code>
+     * {@literal <exclude>}%regex[pkg.*Slow.*.class], Unstable*{@literal </exclude>}
+     * </code></pre>
+     * <br>
+     * <b>Notice that</b> these values are relative to the directory containing generated test classes of the project
+     * being tested. This directory is declared by the parameter {@code testClassesDirectory} which defaults
+     * to the POM property <code>${project.build.testOutputDirectory}</code>, typically
+     * <code>{@literal src/test/java}</code> unless overridden.
      */
     @Parameter
     // TODO use regex for fully qualified class names in 3.0 and change the filtering abilities
@@ -319,13 +324,14 @@ public abstract class AbstractSurefireMojo
     private Boolean failIfNoTests;
 
     /**
-     * <strong>DEPRECATED</strong> since version 2.14. Use <code>forkCount</code> and <code>reuseForks</code> instead.
-     * <br/>
-     * <br/>
-     * Option to specify the forking mode. Can be "never", "once", "always", "perthread". "none" and "pertest" are also
-     * accepted for backwards compatibility. "always" forks for each test-class. "perthread" will create
-     * <code>threadCount</code> parallel forks, each executing one test-class. See also parameter
-     * <code>reuseForks</code>.<br/>
+     * <strong>DEPRECATED</strong> since version 2.14. Use {@code forkCount} and {@code reuseForks} instead.
+     * <br>
+     * <br>
+     * Option to specify the forking mode. Can be {@code never}, {@code once}, {@code always}, {@code perthread}.<br>
+     * The {@code none} and {@code pertest} are also accepted for backwards compatibility.<br>
+     * The {@code always} forks for each test-class.<br>
+     * The {@code perthread} creates the number of parallel forks specified by {@code threadCount}, where each forked
+     * JVM is executing one test-class. See also the parameter {@code reuseForks} for the lifetime of JVM.
      *
      * @since 2.1
      */
@@ -353,15 +359,15 @@ public abstract class AbstractSurefireMojo
 
     /**
      * Arbitrary JVM options to set on the command line.
-     * <br/>
-     * <br/>
-     * Since the Version 2.17 using an alternate syntax for <em>argLine</em>, <pre>@{...}</pre> allows late replacement
+     * <br>
+     * <br>
+     * Since the Version 2.17 using an alternate syntax for {@code argLine}, <b>@{...}</b> allows late replacement
      * of properties when the plugin is executed, so properties that have been modified by other plugins will be picked
      * up correctly.
-     * See the Frequently Asked Questions page with more details:<br/>
+     * See the Frequently Asked Questions page with more details:<br>
      * <a href="http://maven.apache.org/surefire/maven-surefire-plugin/faq.html">
      *     http://maven.apache.org/surefire/maven-surefire-plugin/faq.html</a>
-     * <br/>
+     * <br>
      * <a href="http://maven.apache.org/surefire/maven-failsafe-plugin/faq.html">
      *     http://maven.apache.org/surefire/maven-failsafe-plugin/faq.html</a>
      *
@@ -388,7 +394,7 @@ public abstract class AbstractSurefireMojo
 
     /**
      * When false it makes tests run using the standard classloader delegation instead of the default Maven isolated
-     * classloader. Only used when forking (forkMode is not "none").<br/>
+     * classloader. Only used when forking ({@code forkMode} is not {@code none}).<br>
      * Setting it to false helps with some problems caused by conflicts between xml parsers in the classpath and the
      * Java 5 provider parser.
      *
@@ -399,12 +405,12 @@ public abstract class AbstractSurefireMojo
 
     /**
      * (TestNG/JUnit47 provider with JUnit4.8+ only) Groups for this test. Only classes/methods/etc decorated with one
-     * of the groups specified here will be included in test run, if specified.<br/>
-     * For JUnit, this parameter forces the use of the 4.7 provider<br/>
-     * This parameter is ignored if the <code>suiteXmlFiles</code> parameter is specified.<br/>
-     * Since version 2.18.1 and JUnit 4.12, the <em>@Category<em> annotation type is automatically inherited from
-     * superclasses, see <em>@java.lang.annotation.Inherited</em>. Make sure that test class inheritance still makes
-     * sense together with <em>@Category<em> annotation of the JUnit 4.12 or higher appeared in superclass.
+     * of the groups specified here will be included in test run, if specified.<br>
+     * For JUnit, this parameter forces the use of the 4.7 provider<br>
+     * This parameter is ignored if the {@code suiteXmlFiles} parameter is specified.<br>
+     * Since version 2.18.1 and JUnit 4.12, the {@code @Category} annotation type is automatically inherited from
+     * superclasses, see {@code @java.lang.annotation.Inherited}. Make sure that test class inheritance still makes
+     * sense together with {@code @Category} annotation of the JUnit 4.12 or higher appeared in superclass.
      *
      * @since 2.2
      */
@@ -413,12 +419,12 @@ public abstract class AbstractSurefireMojo
 
     /**
      * (TestNG/JUnit47 provider with JUnit4.8+ only) Excluded groups. Any methods/classes/etc with one of the groups
-     * specified in this list will specifically not be run.<br/>
-     * For JUnit, this parameter forces the use of the 4.7 provider<br/>
-     * This parameter is ignored if the <code>suiteXmlFiles</code> parameter is specified.<br/>
-     * Since version 2.18.1 and JUnit 4.12, the <em>@Category<em> annotation type is automatically inherited from
-     * superclasses, see <em>@java.lang.annotation.Inherited</em>. Make sure that test class inheritance still makes
-     * sense together with <em>@Category<em> annotation of the JUnit 4.12 or higher appeared in superclass.
+     * specified in this list will specifically not be run.<br>
+     * For JUnit, this parameter forces the use of the 4.7 provider.<br>
+     * This parameter is ignored if the {@code suiteXmlFiles} parameter is specified.<br>
+     * Since version 2.18.1 and JUnit 4.12, the {@code @Category} annotation type is automatically inherited from
+     * superclasses, see {@code @java.lang.annotation.Inherited}. Make sure that test class inheritance still makes
+     * sense together with {@code @Category} annotation of the JUnit 4.12 or higher appeared in superclass.
      *
      * @since 2.2
      */
@@ -426,7 +432,7 @@ public abstract class AbstractSurefireMojo
     private String excludedGroups;
 
     /**
-     * Allows you to specify the name of the JUnit artifact. If not set, <code>junit:junit</code> will be used.
+     * Allows you to specify the name of the JUnit artifact. If not set, {@code junit:junit} will be used.
      *
      * @since 2.3.1
      */
@@ -434,7 +440,7 @@ public abstract class AbstractSurefireMojo
     private String junitArtifactName;
 
     /**
-     * Allows you to specify the name of the TestNG artifact. If not set, <code>org.testng:testng</code> will be used.
+     * Allows you to specify the name of the TestNG artifact. If not set, {@code org.testng:testng} will be used.
      *
      * @since 2.3.1
      */
@@ -443,7 +449,7 @@ public abstract class AbstractSurefireMojo
 
     /**
      * (TestNG/JUnit 4.7 provider) The attribute thread-count allows you to specify how many threads should be
-     * allocated for this execution. Only makes sense to use in conjunction with the <code>parallel</code> parameter.
+     * allocated for this execution. Only makes sense to use in conjunction with the {@code parallel} parameter.
      *
      * @since 2.2
      */
@@ -453,14 +459,14 @@ public abstract class AbstractSurefireMojo
     /**
      * Option to specify the number of VMs to fork in parallel in order to execute the tests. When terminated with "C",
      * the number part is multiplied with the number of CPU cores. Floating point value are only accepted together with
-     * "C". If set to "0", no VM is forked and all tests are executed within the main process.<br/>
-     * <br/>
-     * Example values: "1.5C", "4"<br/>
-     * <br/>
-     * The system properties and the <code>argLine</code> of the forked processes may contain the place holder string
+     * "C". If set to "0", no VM is forked and all tests are executed within the main process.<br>
+     * <br>
+     * Example values: "1.5C", "4"<br>
+     * <br>
+     * The system properties and the {@code argLine} of the forked processes may contain the place holder string
      * <code>${surefire.forkNumber}</code>, which is replaced with a fixed number for each of the parallel forks,
-     * ranging from <code>1</code> to the effective value of <code>forkCount</code> times the maximum number of parallel
-     * Surefire executions in maven parallel builds, i.e. the effective value of the <code>-T</code> command line
+     * ranging from <b>1</b> to the effective value of {@code forkCount} times the maximum number of parallel
+     * Surefire executions in maven parallel builds, i.e. the effective value of the <b>-T</b> command line
      * argument of maven core.
      *
      * @since 2.14
@@ -470,7 +476,7 @@ public abstract class AbstractSurefireMojo
 
     /**
      * Indicates if forked VMs can be reused. If set to "false", a new VM is forked for each test class to be executed.
-     * If set to "true", up to <code>forkCount</code> VMs will be forked and then reused to execute all tests.
+     * If set to "true", up to {@code forkCount} VMs will be forked and then reused to execute all tests.
      *
      * @since 2.13
      */
@@ -488,9 +494,9 @@ public abstract class AbstractSurefireMojo
     private boolean perCoreThreadCount;
 
     /**
-     * (JUnit 4.7 provider) Indicates that the thread pool will be unlimited. The <code>parallel</code> parameter and
+     * (JUnit 4.7 provider) Indicates that the thread pool will be unlimited. The {@code parallel} parameter and
      * the actual number of classes/methods will decide. Setting this to "true" effectively disables
-     * <code>perCoreThreadCount</code> and <code>threadCount</code>. Defaults to "false".
+     * {@code perCoreThreadCount} and {@code threadCount}. Defaults to "false".
      *
      * @since 2.5
      */
@@ -498,18 +504,21 @@ public abstract class AbstractSurefireMojo
     private boolean useUnlimitedThreads;
 
     /**
-     * (TestNG provider) When you use the <code>parallel</code> attribute, TestNG will try to run all your test methods
+     * (TestNG provider) When you use the parameter {@code parallel}, TestNG will try to run all your test methods
      * in separate threads, except for methods that depend on each other, which will be run in the same thread in order
      * to respect their order of execution.
-     * <p/>
-     * (JUnit 4.7 provider) Supports values "classes"/"methods"/"both" to run in separate threads, as controlled by
-     * <code>threadCount</code>.<br/>
-     * <br/>
-     * Since version 2.16 (JUnit 4.7 provider), the value "both" is <strong>DEPRECATED</strong>.
-     * Use <strong>"classesAndMethods"</strong> instead.<br/>
-     * <br/>
-     * Since version 2.16 (JUnit 4.7 provider), additional vales are available
-     * "suites"/"suitesAndClasses"/"suitesAndMethods"/"classesAndMethods"/"all".
+     * <br>
+     * (JUnit 4.7 provider) Supports values {@code classes}, {@code methods}, {@code both} to run
+     * in separate threads been controlled by {@code threadCount}.
+     * <br>
+     * <br>
+     * Since version 2.16 (JUnit 4.7 provider), the value {@code both} is <strong>DEPRECATED</strong>.
+     * Use {@code classesAndMethods} instead.
+     * <br>
+     * <br>
+     * Since version 2.16 (JUnit 4.7 provider), additional vales are available:
+     * <br>
+     * {@code suites}, {@code suitesAndClasses}, {@code suitesAndMethods}, {@code classesAndMethods}, {@code all}.
      *
      * @since 2.2
      */
@@ -519,7 +528,7 @@ public abstract class AbstractSurefireMojo
     /**
      * (JUnit 4.7 / provider only) The thread counts do not exceed the number of parallel suite, class runners and
      * average number of methods per class if set to <strong>true</strong>.
-     * <p/>
+     * <br>
      * True by default.
      *
      * @since 2.17
@@ -530,16 +539,16 @@ public abstract class AbstractSurefireMojo
     /**
      * (JUnit 4.7 provider) This attribute allows you to specify the concurrency in test suites, i.e.:
      * <ul>
-     *  <li>number of concurrent suites if <code>threadCount</code> is 0 or unspecified</li>
-     *  <li>limited suites concurrency if <code>useUnlimitedThreads</code> is set to <strong>true</strong></li>
-     *  <li>if <code>threadCount</code> and certain thread-count parameters are &gt; 0 for <code>parallel</code>, the
-     *  concurrency is computed from ratio. For instance parallel=all and the ratio between
-     *      <em>threadCountSuites</em>:<code>threadCountClasses</code>:<code>threadCountMethods</code> is
-     *      <em>2</em>:3:5, there is 20% of <code>threadCount</code> in concurrent suites.</li>
+     *  <li>number of concurrent suites if {@code threadCount} is 0 or unspecified</li>
+     *  <li>limited suites concurrency if {@code useUnlimitedThreads} is set to <strong>true</strong></li>
+     *  <li>if {@code threadCount} and certain thread-count parameters are &gt; 0 for {@code parallel}, the
+     *  concurrency is computed from ratio. For instance {@code parallel=all} and the ratio between
+     *      {@code threadCountSuites}:{@code threadCountClasses}:{@code threadCountMethods} is
+     *      <b>2</b>:3:5, there is 20% of {@code threadCount} which appeared in concurrent suites.</li>
      * </ul>
      *
-     * Only makes sense to use in conjunction with the <code>parallel</code> parameter.
-     * The default value <code>0</code> behaves same as unspecified one.
+     * Only makes sense to use in conjunction with the {@code parallel} parameter.
+     * The default value <b>0</b> behaves same as unspecified one.
      *
      * @since 2.16
      */
@@ -549,20 +558,20 @@ public abstract class AbstractSurefireMojo
     /**
      * (JUnit 4.7 provider) This attribute allows you to specify the concurrency in test classes, i.e.:
      * <ul>
-     *  <li>number of concurrent classes if <code>threadCount</code> is 0 or unspecified</li>
-     *  <li>limited classes concurrency if <code>useUnlimitedThreads</code> is set to <strong>true</strong></li>
-     *  <li>if <code>threadCount</code> and certain thread-count parameters are &gt; 0 for <code>parallel</code>, the
-     *  concurrency is computed from ratio. For instance parallel=all and the ratio between
-     *      <code>threadCountSuites</code>:<em>threadCountClasses</em>:<code>threadCountMethods</code> is
-     *      2:<em>3</em>:5, there is 30% of <code>threadCount</code> in concurrent classes.</li>
-     *  <li>as in the previous case but without this leaf thread-count. Example: parallel=suitesAndClasses,
-     *  threadCount=16, threadCountSuites=5, threadCountClasses is unspecified leaf, the number of concurrent classes
-     *  is varying from &gt;= 11 to 14 or 15. The threadCountSuites become number of threads.
-     *  </li>
+     *  <li>number of concurrent classes if {@code threadCount} is 0 or unspecified</li>
+     *  <li>limited classes concurrency if {@code useUnlimitedThreads} is set to <strong>true</strong></li>
+     *  <li>if {@code threadCount} and certain thread-count parameters are &gt; 0 for {@code parallel}, the
+     *  concurrency is computed from ratio. For instance {@code parallel=all} and the ratio between
+     *      {@code threadCountSuites}:{@code threadCountClasses}:{@code threadCountMethods} is
+     *      2:<b>3</b>:5, there is 30% of {@code threadCount} in concurrent classes.</li>
+     *  <li>as in the previous case but without this leaf thread-count. Example: {@code parallel=suitesAndClasses},
+     *  {@code threadCount=16}, {@code threadCountSuites=5}, {@code threadCountClasses} is unspecified leaf, the number
+     *  of concurrent classes is varying from &gt;= 11 to 14 or 15. The {@code threadCountSuites} become
+     *  given number of threads.</li>
      * </ul>
      *
-     * Only makes sense to use in conjunction with the <code>parallel</code> parameter.
-     * The default value <code>0</code> behaves same as unspecified one.
+     * Only makes sense to use in conjunction with the {@code parallel} parameter.
+     * The default value <b>0</b> behaves same as unspecified one.
      *
      * @since 2.16
      */
@@ -572,18 +581,18 @@ public abstract class AbstractSurefireMojo
     /**
      * (JUnit 4.7 provider) This attribute allows you to specify the concurrency in test methods, i.e.:
      * <ul>
-     * <li>number of concurrent methods if <code>threadCount</code> is 0 or unspecified</li>
-     * <li>limited concurrency of methods if <code>useUnlimitedThreads</code> is set to <strong>true</strong></li>
-     * <li>if <code>threadCount</code> and certain thread-count parameters are &gt; 0 for <code>parallel</code>, the
+     * <li>number of concurrent methods if {@code threadCount} is 0 or unspecified</li>
+     * <li>limited concurrency of methods if {@code useUnlimitedThreads} is set to <strong>true</strong></li>
+     * <li>if {@code threadCount} and certain thread-count parameters are &gt; 0 for {@code parallel}, the
      * concurrency is computed from ratio. For instance parallel=all and the ratio between
-     * <code>threadCountSuites</code>:<code>threadCountClasses</code>:<em>threadCountMethods</em> is 2:3:<em>5</em>,
-     * there is 50% of <code>threadCount</code> in concurrent methods.</li>
-     * <li>as in the previous case but without this leaf thread-count. Example: parallel=all, threadCount=16,
-     * threadCountSuites=2, threadCountClasses=3, but threadCountMethods is unspecified leaf, the number of concurrent
-     * methods is varying from &gt;= 11 to 14 or 15. The threadCountSuites and threadCountClasses become number of
-     * threads.</li>
+     * {@code threadCountSuites}:{@code threadCountClasses}:{@code threadCountMethods} is 2:3:<b>5</b>,
+     * there is 50% of {@code threadCount} which appears in concurrent methods.</li>
+     * <li>as in the previous case but without this leaf thread-count. Example: {@code parallel=all},
+     * {@code threadCount=16}, {@code threadCountSuites=2}, {@code threadCountClasses=3}, but {@code threadCountMethods}
+     * is unspecified leaf, the number of concurrent methods is varying from &gt;= 11 to 14 or 15.
+     * The {@code threadCountSuites} and {@code threadCountClasses} become given number of threads.</li>
      * </ul>
-     * Only makes sense to use in conjunction with the <code>parallel</code> parameter. The default value <code>0</code>
+     * Only makes sense to use in conjunction with the {@code parallel} parameter. The default value <b>0</b>
      * behaves same as unspecified one.
      *
      * @since 2.16
@@ -723,11 +732,13 @@ public abstract class AbstractSurefireMojo
     /**
      * Calls {@link #getSuiteXmlFiles()} as {@link List list}.
      * Never returns <tt>null</tt>.
+     *
+     * @return list of TestNG suite XML files provided by MOJO
      */
     protected abstract List<File> suiteXmlFiles();
 
     /**
-     * @return <tt>true</tt> if {@link #getSuiteXmlFiles() suite-xml files array} is not empty.
+     * @return {@code true} if {@link #getSuiteXmlFiles() suite-xml files array} is not empty.
      */
     protected abstract boolean hasSuiteXmlFiles();
 
@@ -2838,9 +2849,6 @@ public abstract class AbstractSurefireMojo
         this.localRepository = localRepository;
     }
 
-    /**
-     * @noinspection deprecation
-     */
     public Properties getSystemProperties()
     {
         return systemProperties;

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/InPluginVMSurefireStarter.java
----------------------------------------------------------------------
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/InPluginVMSurefireStarter.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/InPluginVMSurefireStarter.java
index f0d299e..b97c192 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/InPluginVMSurefireStarter.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/InPluginVMSurefireStarter.java
@@ -35,7 +35,7 @@ import static org.apache.maven.surefire.booter.ProviderFactory.invokeProvider;
 
 /**
  * Starts the provider in the same VM as the surefire plugin.
- * <p/>
+ * <br>
  * This part of the booter is always guaranteed to be in the
  * same vm as the tests will be run in.
  *

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/StartupReportConfiguration.java
----------------------------------------------------------------------
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/StartupReportConfiguration.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/StartupReportConfiguration.java
index 482ce00..d3cca28 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/StartupReportConfiguration.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/StartupReportConfiguration.java
@@ -41,7 +41,7 @@ import static org.apache.maven.plugin.surefire.report.ConsoleReporter.PLAIN;
 
 /**
  * All the parameters used to construct reporters
- * <p/>
+ * <br>
  *
  * @author Kristian Rosenvold
  */
@@ -111,6 +111,8 @@ public final class StartupReportConfiguration
 
     /**
      * For testing purposes only.
+     *
+     * @return StartupReportConfiguration fo testing purposes
      */
     public static StartupReportConfiguration defaultValue()
     {
@@ -122,6 +124,8 @@ public final class StartupReportConfiguration
 
     /**
      * For testing purposes only.
+     *
+     * @return StartupReportConfiguration fo testing purposes
      */
     public static StartupReportConfiguration defaultNoXml()
     {

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireExecutionParameters.java
----------------------------------------------------------------------
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireExecutionParameters.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireExecutionParameters.java
index 96fb09e..240427f 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireExecutionParameters.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireExecutionParameters.java
@@ -27,7 +27,6 @@ import org.apache.maven.artifact.repository.ArtifactRepository;
  * This interface contains all the common parameters that have different implementations in Surefire vs IntegrationTest
  *
  * @author Stephen Connolly
- * @noinspection UnusedDeclaration, UnusedDeclaration
  */
 public interface SurefireExecutionParameters
 {

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireReportParameters.java
----------------------------------------------------------------------
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireReportParameters.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireReportParameters.java
index 2999787..f345b46 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireReportParameters.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/SurefireReportParameters.java
@@ -25,7 +25,6 @@ import java.io.File;
  * The parameters required to report on a surefire execution.
  *
  * @author Stephen Connolly
- * @noinspection UnusedDeclaration
  */
 public interface SurefireReportParameters
 {

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/BooterSerializer.java
----------------------------------------------------------------------
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/BooterSerializer.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/BooterSerializer.java
index 114150d..0299525 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/BooterSerializer.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/BooterSerializer.java
@@ -44,12 +44,12 @@ import static org.apache.maven.surefire.booter.BooterConstants.*;
 
 /**
  * Knows how to serialize and deserialize the booter configuration.
- * <p/>
+ * <br>
  * The internal serialization format is through a properties file. The long-term goal of this
  * class is not to expose this implementation information to its clients. This still leaks somewhat,
  * and there are some cases where properties are being accessed as "Properties" instead of
  * more representative domain objects.
- * <p/>
+ * <br>
  *
  * @author Jason van Zyl
  * @author Emmanuel Venisse

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkConfiguration.java
----------------------------------------------------------------------
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkConfiguration.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkConfiguration.java
index c56453a..8ff6768 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkConfiguration.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkConfiguration.java
@@ -129,6 +129,7 @@ public class ForkConfiguration
      * @param classPath            cla the classpath arguments
      * @param startupConfiguration The startup configuration
      * @param threadNumber         the thread number, to be the replacement in the argLine   @return A commandline
+     * @return CommandLine able to flush entire command going to be sent to forked JVM
      * @throws org.apache.maven.surefire.booter.SurefireBooterForkException
      *          when unable to perform the fork
      */
@@ -255,7 +256,7 @@ public class ForkConfiguration
      * Create a jar with just a manifest containing a Main-Class entry for BooterConfiguration and a Class-Path entry
      * for all classpath elements.
      *
-     * @param classPath      List&lt;String> of all classpath elements.
+     * @param classPath      List&lt;String&gt; of all classpath elements.
      * @param startClassName  The classname to start (main-class)
      * @return The file pointint to the jar
      * @throws java.io.IOException When a file operation fails.

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java
----------------------------------------------------------------------
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java
index c46cfb6..7619d0b 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java
@@ -101,9 +101,9 @@ import static org.apache.maven.surefire.util.internal.StringUtils.ISO_8859_1;
 
 /**
  * Starts the fork or runs in-process.
- * <p/>
+ * <br>
  * Lives only on the plugin-side (not present in remote vms)
- * <p/>
+ * <br>
  * Knows how to fork new vms and also how to delegate non-forking invocation to SurefireStarter directly
  *
  * @author Jason van Zyl

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ProviderDetector.java
----------------------------------------------------------------------
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ProviderDetector.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ProviderDetector.java
index 3b93eff..3460e3e 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ProviderDetector.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ProviderDetector.java
@@ -28,7 +28,6 @@ import java.util.Set;
 /**
  * @author Stephen Conolly
  * @author Kristian Rosenvold
- * @noinspection UnusedDeclaration
  */
 public final class ProviderDetector
 {

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/lazytestprovider/AbstractCommandStream.java
----------------------------------------------------------------------
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/lazytestprovider/AbstractCommandStream.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/lazytestprovider/AbstractCommandStream.java
index 3531ccf..0bc2036 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/lazytestprovider/AbstractCommandStream.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/lazytestprovider/AbstractCommandStream.java
@@ -42,6 +42,7 @@ public abstract class AbstractCommandStream
 
     /**
      * Opposite to {@link #isClosed()}.
+     * @return {@code true} if not closed
      */
     protected boolean canContinue()
     {
@@ -51,6 +52,8 @@ public abstract class AbstractCommandStream
     /**
      * Possibly waiting for next command (see {@link #nextCommand()}) unless the stream is atomically
      * closed (see {@link #isClosed()} returns {@code true}) before this method has returned.
+     *
+     * @throws IOException stream error while waiting for notification regarding next test required by forked jvm
      */
     protected void beforeNextCommand()
         throws IOException
@@ -68,6 +71,7 @@ public abstract class AbstractCommandStream
         currentPos = 0;
     }
 
+    @Deprecated
     protected final MasterProcessCommand getLastCommand()
     {
         return lastCommand;

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/lazytestprovider/TestProvidingInputStream.java
----------------------------------------------------------------------
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/lazytestprovider/TestProvidingInputStream.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/lazytestprovider/TestProvidingInputStream.java
index 35cb2d4..bc26ab2 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/lazytestprovider/TestProvidingInputStream.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/lazytestprovider/TestProvidingInputStream.java
@@ -36,13 +36,13 @@ import static org.apache.maven.surefire.booter.Command.toShutdown;
 
 /**
  * An {@link java.io.InputStream} that, when read, provides test class names out of a queue.
- * <p/>
+ * <br>
  * The Stream provides only one test at a time, but only after {@link #provideNewTest()} has been invoked.
- * <p/>
+ * <br>
  * After providing each test class name, followed by a newline character, a flush is performed on the
  * {@link FlushReceiver} provided by the {@link FlushReceiverProvider} that can be set using
  * {@link #setFlushReceiverProvider(FlushReceiverProvider)}.
- * <p/>
+ * <br>
  * The instance is used only in reusable forks in {@link org.apache.maven.plugin.surefire.booterclient.ForkStarter}
  * by one Thread.
  *

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/DeserializedStacktraceWriter.java
----------------------------------------------------------------------
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/DeserializedStacktraceWriter.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/DeserializedStacktraceWriter.java
index b5a53b4..d7a01b6 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/DeserializedStacktraceWriter.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/DeserializedStacktraceWriter.java
@@ -25,7 +25,7 @@ import org.apache.maven.surefire.report.StackTraceWriter;
 /**
  * Represents a deserialize stacktracewriter that has been
  * marshalled across to the plugin from the fork.
- * <p/>
+ * <br>
  * Might be better to represent this whole thing differently
  *
  * @author Kristian Rosenvold

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ForkClient.java
----------------------------------------------------------------------
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ForkClient.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ForkClient.java
index b02ae54..b94fba6 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ForkClient.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ForkClient.java
@@ -90,7 +90,7 @@ public class ForkClient
     private final Queue<String> testsInProgress = new ConcurrentLinkedQueue<String>();
 
     /**
-     * <t>testSetStartedAt</t> is set to non-zero after received
+     * {@code testSetStartedAt} is set to non-zero after received
      * {@link org.apache.maven.surefire.booter.ForkingRunListener#BOOTERCODE_TESTSET_STARTING test-set}.
      */
     private final AtomicLong testSetStartedAt = new AtomicLong( START_TIME_ZERO );
@@ -131,6 +131,10 @@ public class ForkClient
 
     /**
      * Called in concurrent Thread.
+     * Will shutdown if timeout was reached.
+     *
+     * @param currentTimeMillis    current time in millis seconds
+     * @param forkedProcessTimeoutInSeconds timeout in seconds given by MOJO
      */
     public final void tryToTimeout( long currentTimeMillis, int forkedProcessTimeoutInSeconds )
     {

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ThreadedStreamConsumer.java
----------------------------------------------------------------------
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ThreadedStreamConsumer.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ThreadedStreamConsumer.java
index 972eaa7..093c191 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ThreadedStreamConsumer.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ThreadedStreamConsumer.java
@@ -63,12 +63,12 @@ public final class ThreadedStreamConsumer
         }
 
         /**
-         * Calls {@link ForkClient#consumeLine(String)} which may throw any {@link RuntimeException}.<p/>
+         * Calls {@link ForkClient#consumeLine(String)} which may throw any {@link RuntimeException}.<br>
          * Even if {@link ForkClient} is not fault-tolerant, this method MUST be fault-tolerant and thus the
          * try-catch block must be inside of the loop which prevents from loosing events from {@link StreamConsumer}.
-         * <p/>
+         * <br>
          * If {@link org.apache.maven.plugin.surefire.report.ConsoleOutputFileReporter#writeTestOutput} throws
-         * {@link java.io.IOException} and then <em>target.consumeLine()</em> throws any RuntimeException, this method
+         * {@link java.io.IOException} and then {@code target.consumeLine()} throws any RuntimeException, this method
          * MUST NOT skip reading the events from the forked JVM; otherwise we could simply lost events
          * e.g. acquire-next-test which means that {@link ForkClient} could hang on waiting for old test to complete
          * and therefore the plugin could be permanently in progress.
@@ -159,7 +159,7 @@ public final class ThreadedStreamConsumer
      * Compared item with {@link #END_ITEM} by identity.
      *
      * @param item    element from <code>items</code>
-     * @return <tt>true</tt> if tail of the queue
+     * @return {@code true} if tail of the queue
      */
     private boolean shouldStopQueueing( String item )
     {

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/ConsoleOutputFileReporter.java
----------------------------------------------------------------------
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/ConsoleOutputFileReporter.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/ConsoleOutputFileReporter.java
index 35ee965..84cbabe 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/ConsoleOutputFileReporter.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/ConsoleOutputFileReporter.java
@@ -31,7 +31,7 @@ import static org.apache.maven.plugin.surefire.report.FileReporter.getReportFile
 
 /**
  * Surefire output consumer proxy that writes test output to a {@link java.io.File} for each test suite.
- * <p/>
+ * <br>
  * This class is not threadsafe, but can be serially handed off from thread to thread.
  *
  * @author Kristian Rosenvold

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/DefaultReporterFactory.java
----------------------------------------------------------------------
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/DefaultReporterFactory.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/DefaultReporterFactory.java
index 3b8d765..bbc9591 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/DefaultReporterFactory.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/DefaultReporterFactory.java
@@ -56,7 +56,7 @@ import static org.apache.maven.surefire.util.internal.ObjectUtils.useNonNull;
 
 /**
  * Provides reporting modules on the plugin side.
- * <p/>
+ * <br>
  * Keeps a centralized count of test run results.
  *
  * @author Kristian Rosenvold
@@ -209,6 +209,8 @@ public class DefaultReporterFactory
 
     /**
      * For testing purposes only.
+     *
+     * @return DefaultReporterFactory for testing purposes
      */
     public static DefaultReporterFactory defaultNoXml()
     {

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/DirectConsoleOutput.java
----------------------------------------------------------------------
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/DirectConsoleOutput.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/DirectConsoleOutput.java
index ab33cb8..acc19ba 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/DirectConsoleOutput.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/DirectConsoleOutput.java
@@ -30,7 +30,7 @@ import static java.nio.charset.Charset.defaultCharset;
 
 /**
  * Outputs test system out/system err directly to the console
- * <p/>
+ * <br>
  * Just a step on the road to getting the separation of reporting concerns
  * operating properly.
  *

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/StatelessXmlReporter.java
----------------------------------------------------------------------
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/StatelessXmlReporter.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/StatelessXmlReporter.java
index d10151a..aa858f2 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/StatelessXmlReporter.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/StatelessXmlReporter.java
@@ -47,13 +47,14 @@ import static org.apache.maven.plugin.surefire.report.FileReporterUtils.stripIll
 import static org.apache.maven.surefire.util.internal.StringUtils.UTF_8;
 import static org.apache.maven.surefire.util.internal.StringUtils.isBlank;
 
+@SuppressWarnings( { "javadoc", "checkstyle:javadoctype" } )
 // CHECKSTYLE_OFF: LineLength
 /**
  * XML format reporter writing to <code>TEST-<i>reportName</i>[-<i>suffix</i>].xml</code> file like written and read
  * by Ant's <a href="http://ant.apache.org/manual/Tasks/junit.html"><code>&lt;junit&gt;</code></a> and
  * <a href="http://ant.apache.org/manual/Tasks/junitreport.html"><code>&lt;junitreport&gt;</code></a> tasks,
  * then supported by many tools like CI servers.
- * <p/>
+ * <br>
  * <pre>&lt;?xml version="1.0" encoding="UTF-8"?>
  * &lt;testsuite name="<i>suite name</i>" [group="<i>group</i>"] tests="<i>0</i>" failures="<i>0</i>" errors="<i>0</i>" skipped="<i>0</i>" time="<i>0,###.###</i>">
  *  &lt;properties>
@@ -453,7 +454,7 @@ public class StatelessXmlReporter
 
     /**
      * Adds system properties to the XML report.
-     * <p/>
+     * <br>
      *
      * @param xmlWriter The test suite to report to
      */

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/TestSetRunListener.java
----------------------------------------------------------------------
diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/TestSetRunListener.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/TestSetRunListener.java
index 472586b..eea8a7e 100644
--- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/TestSetRunListener.java
+++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/TestSetRunListener.java
@@ -37,7 +37,7 @@ import static org.apache.maven.plugin.surefire.report.ReportEntryType.SUCCESS;
 
 /**
  * Reports data for a single test set.
- * <p/>
+ * <br>
  *
  * @author Kristian Rosenvold
  */

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/maven-surefire-common/src/test/java/org/apache/maven/surefire/spi/IDefault.java
----------------------------------------------------------------------
diff --git a/maven-surefire-common/src/test/java/org/apache/maven/surefire/spi/IDefault.java b/maven-surefire-common/src/test/java/org/apache/maven/surefire/spi/IDefault.java
index db8127e..740798d 100644
--- a/maven-surefire-common/src/test/java/org/apache/maven/surefire/spi/IDefault.java
+++ b/maven-surefire-common/src/test/java/org/apache/maven/surefire/spi/IDefault.java
@@ -26,8 +26,8 @@ package org.apache.maven.surefire.spi;
 public interface IDefault
 {
     /**
-     * @return <tt>true</tt> if SPI implementation vendor is maven-surefire-plugin or maven-failsafe-plugin.
-     * <tt>false</tt> if customized by users.
+     * @return {@code true} if SPI implementation vendor is maven-surefire-plugin or maven-failsafe-plugin.
+     * {@code false} if customized by users.
      */
     boolean isDefault();
 }

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java
----------------------------------------------------------------------
diff --git a/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java b/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java
index 4a404df..c93d2c9 100644
--- a/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java
+++ b/maven-surefire-plugin/src/main/java/org/apache/maven/plugin/surefire/SurefirePlugin.java
@@ -37,7 +37,6 @@ import static org.apache.maven.plugin.surefire.SurefireHelper.reportExecution;
  * Run tests using Surefire.
  *
  * @author Jason van Zyl
- * @noinspection JavaDoc
  */
 @Mojo( name = "test", defaultPhase = LifecyclePhase.TEST, threadSafe = true,
        requiresDependencyResolution = ResolutionScope.TEST )
@@ -66,25 +65,28 @@ public class SurefirePlugin
     @Parameter( defaultValue = "${project.build.directory}/surefire-reports" )
     private File reportsDirectory;
 
+    @SuppressWarnings( "checkstyle:linelength" )
     /**
-     * Specify this parameter to run individual tests by file name, overriding the <code>includes/excludes</code>
-     * parameters. Each pattern you specify here will be used to create an include pattern formatted like
-     * <code>**&#47;${test}.java</code>, so you can just type "-Dtest=MyTest" to run a single test called
-     * "foo/MyTest.java". The test patterns prefixed with a <code>!</code> will be excluded.<br/>
-     * This parameter overrides the <code>includes/excludes</code> parameters, and the TestNG <code>suiteXmlFiles</code>
-     * parameter.
-     * <p/>
-     * Since 2.7.3, you can execute a limited number of methods in the test by adding #myMethod or #my*ethod. For
-     * example, "-Dtest=MyTest#myMethod". This is supported for junit 4.x and testNg.<br/>
-     * <br/>
-     * Since 2.19 a complex syntax is supported in one parameter (JUnit 4, JUnit 4.7+, TestNG):<br/>
-     * "-Dtest=???Test, !Unstable*, pkg&#47;**&#47;Ci*leTest.java, *Test#test*One+testTwo?????, #fast*+slowTest"<br/>
-     * "-Dtest=Basic*, !%regex[.*.Unstable.*], !%regex[.*.MyTest.class#one.*|two.*], %regex[#fast.*|slow.*]"<br/>
-     * <br/>
-     * The Parameterized JUnit runner <em>describes</em> test methods using an index in brackets, so the non-regex
-     * method pattern would become: <em>#testMethod[*]</em>. If using <em>@Parameters(name="{index}: fib({0})={1}")</em>
-     * and selecting the index e.g. 5 in pattern, the non-regex method pattern would become <em>#testMethod[5:*]</em>.
-     * <br/>
+     * Specify this parameter to run individual tests by file name, overriding the parameter {@code includes} and
+     * {@code excludes}. Each pattern you specify here will be used to create an include pattern formatted like
+     * <code>**{@literal /}${test}.java</code>, so you can just type {@code -Dtest=MyTest} to run a single test called
+     * "foo/MyTest.java". The test patterns prefixed with a <em>!</em> will be excluded.
+     * <br>
+     * This parameter overrides the parameter {@code includes}, {@code excludes}, and the TestNG parameter
+     * {@code suiteXmlFiles}.
+     * <br>
+     * Since 2.7.3, you can execute a limited number of methods in the test by adding <i>#myMethod</i> or
+     * <i>#my*ethod</i>. For example, {@code -Dtest=MyTest#myMethod}. This is supported for junit 4.x and TestNg.<br>
+     * <br>
+     * Since 2.19 a complex syntax is supported in one parameter (JUnit 4, JUnit 4.7+, TestNG):
+     * <pre><code>"-Dtest=???Test, !Unstable*, pkg{@literal /}**{@literal /}Ci*leTest.java, *Test#test*One+testTwo?????, #fast*+slowTest"</code></pre>
+     * or e.g.
+     * <pre><code>"-Dtest=Basic*, !%regex[.*.Unstable.*], !%regex[.*.MyTest.class#one.*|two.*], %regex[#fast.*|slow.*]"</code></pre>
+     * <br>
+     * The Parameterized JUnit runner {@code describes} test methods using an index in brackets, so the non-regex
+     * method pattern would become: {@code #testMethod[*]}.
+     * If using <code>@Parameters(name="{index}: fib({0})={1}")</code> and selecting the index e.g. 5 in pattern, the
+     * non-regex method pattern would become {@code #testMethod[5:*]}.
      */
     @Parameter( property = "test" )
     private String test;
@@ -120,7 +122,7 @@ public class SurefirePlugin
     /**
      * Attach a debugger to the forked JVM. If set to "true", the process will suspend and wait for a debugger to attach
      * on port 5005. If set to some other string, that string will be appended to the argLine, allowing you to configure
-     * arbitrary debuggability options (without overwriting the other options specified through the <code>argLine</code>
+     * arbitrary debuggability options (without overwriting the other options specified through the {@code argLine}
      * parameter).
      *
      * @since 2.4
@@ -140,7 +142,7 @@ public class SurefirePlugin
     /**
      * Forked process is normally terminated without any significant delay after given tests have completed.
      * If the particular tests started non-daemon Thread(s), the process hangs instead of been properly terminated
-     * by <em>System.exit()</em>. Use this parameter in order to determine the timeout of terminating the process.
+     * by {@code System.exit()}. Use this parameter in order to determine the timeout of terminating the process.
      * <a href="http://maven.apache.org/surefire/maven-surefire-plugin/examples/shutdown.html">see the documentation:
      * http://maven.apache.org/surefire/maven-surefire-plugin/examples/shutdown.html</a>
      * Turns to default fallback value of 30 seconds if negative integer.
@@ -152,11 +154,11 @@ public class SurefirePlugin
 
     /**
      * Stop executing queued parallel JUnit tests after a certain number of seconds.
-     * <br/>
-     * Example values: "3.5", "4"<br/>
-     * <br/>
+     * <br>
+     * Example values: "3.5", "4"<br>
+     * <br>
      * If set to 0, wait forever, never timing out.
-     * Makes sense with specified <code>parallel</code> different from "none".
+     * Makes sense with specified {@code parallel} different from "none".
      *
      * @since 2.16
      */
@@ -165,41 +167,45 @@ public class SurefirePlugin
 
     /**
      * Stop executing queued parallel JUnit tests
-     * and <em>interrupt</em> currently running tests after a certain number of seconds.
-     * <br/>
-     * Example values: "3.5", "4"<br/>
-     * <br/>
+     * and {@code interrupt} currently running tests after a certain number of seconds.
+     * <br>
+     * Example values: "3.5", "4"<br>
+     * <br>
      * If set to 0, wait forever, never timing out.
-     * Makes sense with specified <code>parallel</code> different from "none".
+     * Makes sense with specified {@code parallel} different from "none".
      *
      * @since 2.16
      */
     @Parameter( property = "surefire.parallel.forcedTimeout" )
     private double parallelTestsTimeoutForcedInSeconds;
 
+    @SuppressWarnings( "checkstyle:linelength" )
     /**
-     * A list of &lt;include> elements specifying the tests (by pattern) that should be included in testing. When not
-     * specified and when the <code>test</code> parameter is not specified, the default includes will be <code><br/>
-     * &lt;includes><br/>
-     * &nbsp;&lt;include>**&#47;Test*.java&lt;/include><br/>
-     * &nbsp;&lt;include>**&#47;*Test.java&lt;/include><br/>
-     * &nbsp;&lt;include>**&#47;*Tests.java&lt;/include><br/>
-     * &nbsp;&lt;include>**&#47;*TestCase.java&lt;/include><br/>
-     * &lt;/includes><br/>
-     * </code>
-     * <p/>
-     * Each include item may also contain a comma-separated sublist of items, which will be treated as multiple
-     * &nbsp;&lt;include> entries.<br/>
-     * Since 2.19 a complex syntax is supported in one parameter (JUnit 4, JUnit 4.7+, TestNG):<br/>
-     * &nbsp;&lt;include>%regex[.*[Cat|Dog].*], Basic????, !Unstable*&lt;/include><br/>
-     * &nbsp;&lt;include>%regex[.*[Cat|Dog].*], !%regex[pkg.*Slow.*.class], pkg&#47;**&#47;*Fast*.java&lt;/include><br/>
-     * <p/>
-     * This parameter is ignored if the TestNG <code>suiteXmlFiles</code> parameter is specified.<br/>
-     * <br/>
-     * <em>Notice that</em> these values are relative to the directory containing generated test classes of the project
-     * being tested. This directory is declared by the parameter <code>testClassesDirectory</code> which defaults
-     * to the POM property <code>${project.build.testOutputDirectory}</code>, typically <em>src/test/java</em>
-     * unless overridden.
+     * A list of &lt;include&gt; elements specifying the tests (by pattern) that should be included in testing. When not
+     * specified and when the {@code test} parameter is not specified, the default includes will be
+     * <pre><code>
+     * {@literal <includes>}
+     *     {@literal <include>}**{@literal /}Test*.java{@literal </include>}
+     *     {@literal <include>}**{@literal /}*Test.java{@literal </include>}
+     *     {@literal <include>}**{@literal /}*Tests.java{@literal </include>}
+     *     {@literal <include>}**{@literal /}*TestCase.java{@literal </include>}
+     * {@literal </includes>}
+     * </code></pre>
+     * Each include item may also contain a comma-separated sub-list of items, which will be treated as multiple
+     * &nbsp;&lt;include&gt; entries.<br>
+     * Since 2.19 a complex syntax is supported in one parameter (JUnit 4, JUnit 4.7+, TestNG):
+     * <pre><code>
+     *
+     * </code></pre>
+     * {@literal <include>}%regex[.*[Cat|Dog].*], Basic????, !Unstable*{@literal </include>}
+     * {@literal <include>}%regex[.*[Cat|Dog].*], !%regex[pkg.*Slow.*.class], pkg{@literal /}**{@literal /}*Fast*.java{@literal </include>}
+     * <br>
+     * This parameter is ignored if the TestNG {@code suiteXmlFiles} parameter is specified.<br>
+     * <br>
+     * <b>Notice that</b> these values are relative to the directory containing generated test classes of the project
+     * being tested. This directory is declared by the parameter {@code testClassesDirectory} which defaults
+     * to the POM property {@code ${project.build.testOutputDirectory}}, typically
+     * <code>{@literal src/test/java}</code> unless overridden.
      */
     @Parameter
     private List<String> includes;
@@ -207,7 +213,7 @@ public class SurefirePlugin
     /**
      * Option to pass dependencies to the system's classloader instead of using an isolated class loader when forking.
      * Prevents problems with JDKs which implement the service provider lookup mechanism by using the system's
-     * classloader.
+     * ClassLoader.
      *
      * @since 2.3
      */
@@ -220,7 +226,7 @@ public class SurefirePlugin
      * <a href="http://maven.apache.org/plugins/maven-surefire-plugin/examples/class-loading.html">
      *     http://maven.apache.org/plugins/maven-surefire-plugin/examples/class-loading.html</a>
      * for a more detailed explanation of manifest-only JARs and their benefits.)
-     * <br/>
+     * <br>
      * Beware, setting this to "false" may cause your tests to fail on Windows if your classpath is too long.
      *
      * @since 2.4.3
@@ -238,10 +244,10 @@ public class SurefirePlugin
     private int rerunFailingTestsCount;
 
     /**
-     * (TestNG) List of &lt;suiteXmlFile> elements specifying TestNG suite xml file locations. Note that
-     * <code>suiteXmlFiles</code> is incompatible with several other parameters of this plugin, like
-     * <code>includes/excludes</code>.<br/>
-     * This parameter is ignored if the <code>test</code> parameter is specified (allowing you to run a single test
+     * (TestNG) List of &lt;suiteXmlFile&gt; elements specifying TestNG suite xml file locations. Note that
+     * {@code suiteXmlFiles} is incompatible with several other parameters of this plugin, like
+     * {@code includes} and {@code excludes}.<br>
+     * This parameter is ignored if the {@code test} parameter is specified (allowing you to run a single test
      * instead of an entire suite).
      *
      * @since 2.2
@@ -250,26 +256,26 @@ public class SurefirePlugin
     private File[] suiteXmlFiles;
 
     /**
-     * Defines the order the tests will be run in. Supported values are "alphabetical", "reversealphabetical", "random",
-     * "hourly" (alphabetical on even hours, reverse alphabetical on odd hours), "failedfirst", "balanced" and
-     * "filesystem".
-     * <br/>
-     * <br/>
+     * Defines the order the tests will be run in. Supported values are {@code alphabetical},
+     * {@code reversealphabetical}, {@code random}, {@code hourly} (alphabetical on even hours, reverse alphabetical
+     * on odd hours), {@code failedfirst}, {@code balanced} and {@code filesystem}.
+     * <br>
+     * <br>
      * Odd/Even for hourly is determined at the time the of scanning the classpath, meaning it could change during a
      * multi-module build.
-     * <br/>
-     * <br/>
+     * <br>
+     * <br>
      * Failed first will run tests that failed on previous run first, as well as new tests for this run.
-     * <br/>
-     * <br/>
+     * <br>
+     * <br>
      * Balanced is only relevant with parallel=classes, and will try to optimize the run-order of the tests reducing the
      * overall execution time. Initially a statistics file is created and every next test run will reorder classes.
-     * <br/>
-     * <br/>
-     * Note that the statistics are stored in a file named .surefire-XXXXXXXXX beside pom.xml, and should not be checked
-     * into version control. The "XXXXX" is the SHA1 checksum of the entire surefire configuration, so different
-     * configurations will have different statistics files, meaning if you change any config settings you will re-run
-     * once before new statistics data can be established.
+     * <br>
+     * <br>
+     * Note that the statistics are stored in a file named <b>.surefire-XXXXXXXXX</b> beside <i>pom.xml</i> and
+     * should not be checked into version control. The "XXXXX" is the SHA1 checksum of the entire surefire
+     * configuration, so different configurations will have different statistics files, meaning if you change any
+     * configuration settings you will re-run once before new statistics data can be established.
      *
      * @since 2.7
      */
@@ -278,30 +284,34 @@ public class SurefirePlugin
 
     /**
      * A file containing include patterns. Blank lines, or lines starting with # are ignored. If {@code includes} are
-     * also specified, these patterns are appended. Example with path, simple and regex includes:<br/>
-     * &#042;&#047;test/*<br/>
-     * &#042;&#042;&#047;NotIncludedByDefault.java<br/>
-     * %regex[.*Test.*|.*Not.*]<br/>
+     * also specified, these patterns are appended. Example with path, simple and regex includes:
+     * <pre><code>
+     * *{@literal /}test{@literal /}*
+     * **{@literal /}NotIncludedByDefault.java
+     * %regex[.*Test.*|.*Not.*]
+     * </code></pre>
      */
     @Parameter( property = "surefire.includesFile" )
     private File includesFile;
 
     /**
      * A file containing exclude patterns. Blank lines, or lines starting with # are ignored. If {@code excludes} are
-     * also specified, these patterns are appended. Example with path, simple and regex excludes:<br/>
-     * &#042;&#047;test/*<br/>
-     * &#042;&#042;&#047;DontRunTest.*<br/>
-     * %regex[.*Test.*|.*Not.*]<br/>
+     * also specified, these patterns are appended. Example with path, simple and regex excludes:<br>
+     * <pre><code>
+     * *{@literal /}test{@literal /}*
+     * **{@literal /}DontRunTest.*
+     * %regex[.*Test.*|.*Not.*]
+     * </code></pre>
      */
     @Parameter( property = "surefire.excludesFile" )
     private File excludesFile;
 
     /**
      * Set to error/failure count in order to skip remaining tests.
-     * Due to race conditions in parallel/forked execution this may not be fully guaranteed.<br/>
-     * Enable with system property -Dsurefire.skipAfterFailureCount=1 or any number greater than zero.
-     * Defaults to "0".<br/>
-     * See the prerequisites and limitations in documentation:<br/>
+     * Due to race conditions in parallel/forked execution this may not be fully guaranteed.<br>
+     * Enable with system property {@code -Dsurefire.skipAfterFailureCount=1} or any number greater than zero.
+     * Defaults to "0".<br>
+     * See the prerequisites and limitations in documentation:<br>
      * <a href="http://maven.apache.org/plugins/maven-surefire-plugin/examples/skip-after-failure.html">
      *     http://maven.apache.org/plugins/maven-surefire-plugin/examples/skip-after-failure.html</a>
      *
@@ -311,12 +321,18 @@ public class SurefirePlugin
     private int skipAfterFailureCount;
 
     /**
-     * After the plugin process is shutdown by sending SIGTERM signal (CTRL+C), SHUTDOWN command is received by every
-     * forked JVM. By default (shutdown=testset) forked JVM would not continue with new test which means that
-     * the current test may still continue to run.<br/>
-     * The parameter can be configured with other two values "exit" and "kill".<br/>
-     * Using "exit" forked JVM executes System.exit(1) after the plugin process has received SIGTERM signal.<br/>
-     * Using "kill" the JVM executes Runtime.halt(1) and kills itself.
+     * After the plugin process is shutdown by sending <i>SIGTERM signal (CTRL+C)</i>, <i>SHUTDOWN command</i> is
+     * received by every forked JVM.
+     * <br>
+     * By default ({@code shutdown=testset}) forked JVM would not continue with new test which means that
+     * the current test may still continue to run.
+     * <br>
+     * The parameter can be configured with other two values {@code exit} and {@code kill}.
+     * <br>
+     * Using {@code exit} forked JVM executes {@code System.exit(1)} after the plugin process has received
+     * <i>SIGTERM signal</i>.
+     * <br>
+     * Using {@code kill} the JVM executes {@code Runtime.halt(1)} and kills itself.
      *
      * @since 2.19
      */
@@ -374,18 +390,12 @@ public class SurefirePlugin
         this.skipTests = skipTests;
     }
 
-    /**
-     * @noinspection deprecation
-     */
     @Override
     public boolean isSkipExec()
     {
         return skipExec;
     }
 
-    /**
-     * @noinspection deprecation
-     */
     @Override
     public void setSkipExec( boolean skipExec )
     {

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/maven-surefire-plugin/src/site/resources/xsd/bindings.xml
----------------------------------------------------------------------
diff --git a/maven-surefire-plugin/src/site/resources/xsd/bindings.xml b/maven-surefire-plugin/src/site/resources/xsd/bindings.xml
deleted file mode 100644
index 4e2d949..0000000
--- a/maven-surefire-plugin/src/site/resources/xsd/bindings.xml
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements.  See the NOTICE file
~ distributed with this work for additional information
~ regarding copyright ownership.  The ASF licenses this file
~ to you under the Apache License, Version 2.0 (the
~ "License"); you may not use this file except in compliance
~ with the License.  You may obtain a copy of the License at
~
~     http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing,
~ software distributed under the License is distributed on an
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~ KIND, either express or implied.  See the License for the
~ specific language governing permissions and limitations
~ under the License.
-->
<jxb:bindings xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
        version="2.0">
    <jxb:bi
 ndings schemaLocation="failsafe-summary.xsd">
        <jxb:bindings node="//xsd:simpleType[@name='errorType']/xsd:restriction/xsd:enumeration[@id='FAILURE']">
            <jxb:typesafeEnumMember name="FAILURE"/>
            <jxb:javaType name="java.lang.Integer"/>
        </jxb:bindings>
        <jxb:bindings node="//xsd:simpleType[@name='errorType']/xsd:restriction/xsd:enumeration[@id='NO_TESTS']">
            <jxb:typesafeEnumMember name="NO_TESTS"/>
            <jxb:javaType name="java.lang.Integer"/>
        </jxb:bindings>
    </jxb:bindings>
</jxb:bindings>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/maven-surefire-plugin/src/site/resources/xsd/failsafe-summary.xjb
----------------------------------------------------------------------
diff --git a/maven-surefire-plugin/src/site/resources/xsd/failsafe-summary.xjb b/maven-surefire-plugin/src/site/resources/xsd/failsafe-summary.xjb
new file mode 100644
index 0000000..87d6094
--- /dev/null
+++ b/maven-surefire-plugin/src/site/resources/xsd/failsafe-summary.xjb
@@ -0,0 +1 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements.  See the NOTICE file
~ distributed with this work for additional information
~ regarding copyright ownership.  The ASF licenses this file
~ to you under the Apache License, Version 2.0 (the
~ "License"); you may not use this file except in compliance
~ with the License.  You may obtain a copy of the License at
~
~     http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing,
~ software distributed under the License is distributed on an
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~ KIND, either express or implied.  See the License for the
~ specific language governing permissions and limitations
~ under the License.
-->
<jxb:bindings xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        xmlns:jxb="http://java.sun.com/xml/ns/jaxb"
        version="2.0">
    <jxb:bi
 ndings schemaLocation="failsafe-summary.xsd">
        <jxb:bindings node="//xsd:simpleType[@name='errorType']/xsd:restriction/xsd:enumeration[@id='FAILURE']">
            <jxb:typesafeEnumMember name="FAILURE"/>
        </jxb:bindings>
        <jxb:bindings node="//xsd:simpleType[@name='errorType']/xsd:restriction/xsd:enumeration[@id='NO_TESTS']">
            <jxb:typesafeEnumMember name="NO_TESTS"/>
        </jxb:bindings>
    </jxb:bindings>
</jxb:bindings>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/maven-surefire-report-plugin/pom.xml
----------------------------------------------------------------------
diff --git a/maven-surefire-report-plugin/pom.xml b/maven-surefire-report-plugin/pom.xml
index 9f35967..a4fe7e2 100644
--- a/maven-surefire-report-plugin/pom.xml
+++ b/maven-surefire-report-plugin/pom.xml
@@ -136,7 +136,6 @@
       <plugin>
         <groupId>org.codehaus.mojo</groupId>
         <artifactId>build-helper-maven-plugin</artifactId>
-        <version>1.12</version>
         <executions>
           <execution>
             <id>add-source</id>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/FailsafeReportMojo.java
----------------------------------------------------------------------
diff --git a/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/FailsafeReportMojo.java b/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/FailsafeReportMojo.java
index b7aa290..c306305 100644
--- a/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/FailsafeReportMojo.java
+++ b/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/FailsafeReportMojo.java
@@ -51,7 +51,7 @@ public class FailsafeReportMojo
 
     /**
      * If set to true the failsafe report will be generated even when there are no failsafe result files.
-     * Defaults to <code>false</code> to preserve legacy behaviour pre 2.10
+     * Defaults to {@code false} to preserve legacy behaviour pre 2.10
      *
      * @noinspection UnusedDeclaration
      * @since 2.11

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportMojo.java
----------------------------------------------------------------------
diff --git a/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportMojo.java b/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportMojo.java
index a950bcf..e535a24 100644
--- a/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportMojo.java
+++ b/maven-surefire-report-plugin/src/main/java/org/apache/maven/plugins/surefire/report/SurefireReportMojo.java
@@ -48,7 +48,7 @@ public class SurefireReportMojo
 
     /**
      * If set to true the surefire report will be generated even when there are no surefire result files.
-     * Defaults to <code>true</code> to preserve legacy behaviour pre 2.10.
+     * Defaults to {@code true} to preserve legacy behaviour pre 2.10.
      *
      * @noinspection UnusedDeclaration
      * @since 2.11

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/maven-surefire-report-plugin/src/main/resources/surefire-report_sv.properties
----------------------------------------------------------------------
diff --git a/maven-surefire-report-plugin/src/main/resources/surefire-report_sv.properties b/maven-surefire-report-plugin/src/main/resources/surefire-report_sv.properties
index bdf8361..3664c6b 100644
--- a/maven-surefire-report-plugin/src/main/resources/surefire-report_sv.properties
+++ b/maven-surefire-report-plugin/src/main/resources/surefire-report_sv.properties
@@ -35,3 +35,5 @@ report.surefire.label.failuredetails=Detaljer om misslyckade tester
 report.surefire.text.note1=Notera: misslyckade tester \u00e4r f\u00f6rv\u00e4ntade och har kontrollerats med assertions medan felaktiga tester \u00e4r ov\u00e4ntade.
 report.surefire.text.note2=Notera: paketstatistiken ber\u00e4knas inte rekursivt, den summerar bara alla testsviters antal.
 
+report.failsafe.name=Failsafe-rapport
+report.failsafe.description=Rapport om integration testresultaten f\u00f6r projektet.

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 60d6376..962a5bf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -284,8 +284,59 @@
     <pluginManagement>
       <plugins>
         <plugin>
+          <groupId>org.codehaus.mojo</groupId>
+          <artifactId>build-helper-maven-plugin</artifactId>
+          <version>1.12</version>
+        </plugin>
+        <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-compiler-plugin</artifactId>
+          <version>3.6.1</version>
+          <executions>
+            <execution>
+              <id>compile-generated</id>
+              <phase>process-sources</phase>
+              <goals>
+                <goal>compile</goal>
+              </goals>
+              <configuration>
+                <includes>
+                  <include>org/apache/maven/shared/utils/logging/*.java</include>
+                  <include>HelpMojo.java</include>
+                  <include>**/HelpMojo.java</include>
+                  <include>org/apache/maven/plugin/failsafe/xmlsummary/*.java</include>
+                </includes>
+                <compilerArgs>
+                  <!-- FIXME: maven-plugin-plugin therefore used -syntax or none due to HelpMojo -->
+                  <arg>-Xdoclint:none</arg>
+                </compilerArgs>
+              </configuration>
+            </execution>
+            <execution>
+              <id>default-compile</id>
+              <phase>compile</phase>
+              <goals>
+                <goal>compile</goal>
+              </goals>
+              <configuration>
+                <excludes>
+                  <exclude>org/apache/maven/shared/utils/logging/*.java</exclude>
+                  <exclude>HelpMojo.java</exclude>
+                  <exclude>**/HelpMojo.java</exclude>
+                  <exclude>org/apache/maven/plugin/failsafe/xmlsummary/*.java</exclude>
+                </excludes>
+                <compilerArgs>
+                  <arg>-Xdoclint:all</arg>
+                </compilerArgs>
+              </configuration>
+            </execution>
+          </executions>
+          <configuration>
+            <fork>true</fork>
+            <compilerArgs>
+              <arg>-Xdoclint:all</arg>
+            </compilerArgs>
+          </configuration>
         </plugin>
         <!-- NOTE: animal sniffer does not check test classes: https://jira.codehaus.org/browse/MANIMALSNIFFER-40 -->
         <plugin>
@@ -367,7 +418,7 @@
             <configuration>
               <rules>
                 <requireJavaVersion>
-                  <version>[1.6.0, 1.9.0)</version>
+                  <version>[1.8.0,)</version>
                 </requireJavaVersion>
               </rules>
             </configuration>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/surefire-api/src/main/java/org/apache/maven/surefire/booter/CommandReader.java
----------------------------------------------------------------------
diff --git a/surefire-api/src/main/java/org/apache/maven/surefire/booter/CommandReader.java b/surefire-api/src/main/java/org/apache/maven/surefire/booter/CommandReader.java
index a24424b..ed7d4fa 100644
--- a/surefire-api/src/main/java/org/apache/maven/surefire/booter/CommandReader.java
+++ b/surefire-api/src/main/java/org/apache/maven/surefire/booter/CommandReader.java
@@ -135,7 +135,7 @@ public final class CommandReader
     }
 
     /**
-     * @param listener listener called with <em>Any</em> {@link MasterProcessCommand command type}
+     * @param listener listener called with <b>Any</b> {@link MasterProcessCommand command type}
      */
     public void addListener( CommandListener listener )
     {
@@ -225,7 +225,7 @@ public final class CommandReader
     }
 
     /**
-     * @return <tt>true</tt> if {@link #LAST_TEST_SYMBOL} found at the last index in {@link #testClasses}.
+     * @return {@code true} if {@link #LAST_TEST_SYMBOL} found at the last index in {@link #testClasses}.
      */
     private boolean isQueueFull()
     {

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/surefire-api/src/main/java/org/apache/maven/surefire/booter/DumpErrorSingleton.java
----------------------------------------------------------------------
diff --git a/surefire-api/src/main/java/org/apache/maven/surefire/booter/DumpErrorSingleton.java b/surefire-api/src/main/java/org/apache/maven/surefire/booter/DumpErrorSingleton.java
index fc92c70..e287f05 100644
--- a/surefire-api/src/main/java/org/apache/maven/surefire/booter/DumpErrorSingleton.java
+++ b/surefire-api/src/main/java/org/apache/maven/surefire/booter/DumpErrorSingleton.java
@@ -27,7 +27,7 @@ import java.io.File;
 import static org.apache.maven.surefire.util.internal.DumpFileUtils.newDumpFile;
 
 /**
- * Dumps lost commands and caused exceptions in forked JVM. <p/>
+ * Dumps lost commands and caused exceptions in forked JVM. <br>
  * Fail-safe.
  *
  * @author <a href="mailto:tibordigana@apache.org">Tibor Digana (tibor17)</a>

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/surefire-api/src/main/java/org/apache/maven/surefire/booter/FailFastAware.java
----------------------------------------------------------------------
diff --git a/surefire-api/src/main/java/org/apache/maven/surefire/booter/FailFastAware.java b/surefire-api/src/main/java/org/apache/maven/surefire/booter/FailFastAware.java
index 06e47ba..994b60d 100644
--- a/surefire-api/src/main/java/org/apache/maven/surefire/booter/FailFastAware.java
+++ b/surefire-api/src/main/java/org/apache/maven/surefire/booter/FailFastAware.java
@@ -20,7 +20,7 @@ package org.apache.maven.surefire.booter;
  */
 
 /**
- * See the plugin configuration parameter <em>skipAfterFailureCount</em>.
+ * See the plugin configuration parameter {@code skipAfterFailureCount}.
  *
  * @author <a href="mailto:tibordigana@apache.org">Tibor Digana (tibor17)</a>
  * @since 2.19

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/surefire-api/src/main/java/org/apache/maven/surefire/booter/ForkingReporterFactory.java
----------------------------------------------------------------------
diff --git a/surefire-api/src/main/java/org/apache/maven/surefire/booter/ForkingReporterFactory.java b/surefire-api/src/main/java/org/apache/maven/surefire/booter/ForkingReporterFactory.java
index 89469fa..7459ad9 100644
--- a/surefire-api/src/main/java/org/apache/maven/surefire/booter/ForkingReporterFactory.java
+++ b/surefire-api/src/main/java/org/apache/maven/surefire/booter/ForkingReporterFactory.java
@@ -31,9 +31,7 @@ import org.apache.maven.surefire.suite.RunResult;
  * This factory is only used inside forks.
  *
  * @author Kristian Rosenvold
- * @noinspection UnusedDeclaration
  */
-
 public class ForkingReporterFactory
     implements ReporterFactory
 {

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/surefire-api/src/main/java/org/apache/maven/surefire/booter/ForkingRunListener.java
----------------------------------------------------------------------
diff --git a/surefire-api/src/main/java/org/apache/maven/surefire/booter/ForkingRunListener.java b/surefire-api/src/main/java/org/apache/maven/surefire/booter/ForkingRunListener.java
index f0f0ac6..d2c112b 100644
--- a/surefire-api/src/main/java/org/apache/maven/surefire/booter/ForkingRunListener.java
+++ b/surefire-api/src/main/java/org/apache/maven/surefire/booter/ForkingRunListener.java
@@ -40,14 +40,14 @@ import static org.apache.maven.surefire.util.internal.StringUtils.escapeToPrinta
 
 /**
  * Encodes the full output of the test run to the stdout stream.
- * <p/>
+ * <br>
  * This class and the ForkClient contain the full definition of the
  * "wire-level" protocol used by the forked process. The protocol
  * is *not* part of any public api and may change without further
  * notice.
- * <p/>
+ * <br>
  * This class is threadsafe.
- * <p/>
+ * <br>
  * The synchronization in the underlying PrintStream (target instance)
  * is used to preserve thread safety of the output stream. To perform
  * multiple writes/prints for a single request, they must

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/surefire-api/src/main/java/org/apache/maven/surefire/booter/ShutdownAware.java
----------------------------------------------------------------------
diff --git a/surefire-api/src/main/java/org/apache/maven/surefire/booter/ShutdownAware.java b/surefire-api/src/main/java/org/apache/maven/surefire/booter/ShutdownAware.java
index a843b27..0bfcdb8 100644
--- a/surefire-api/src/main/java/org/apache/maven/surefire/booter/ShutdownAware.java
+++ b/surefire-api/src/main/java/org/apache/maven/surefire/booter/ShutdownAware.java
@@ -20,7 +20,7 @@ package org.apache.maven.surefire.booter;
  */
 
 /**
- * See the plugin configuration parameter <em>shutdown</em>.
+ * See the plugin configuration parameter {@code shutdown}.
  *
  * @author <a href="mailto:tibordigana@apache.org">Tibor Digana (tibor17)</a>
  * @since 2.19

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/surefire-api/src/main/java/org/apache/maven/surefire/booter/SurefireReflector.java
----------------------------------------------------------------------
diff --git a/surefire-api/src/main/java/org/apache/maven/surefire/booter/SurefireReflector.java b/surefire-api/src/main/java/org/apache/maven/surefire/booter/SurefireReflector.java
index 54677a7..4c88179 100644
--- a/surefire-api/src/main/java/org/apache/maven/surefire/booter/SurefireReflector.java
+++ b/surefire-api/src/main/java/org/apache/maven/surefire/booter/SurefireReflector.java
@@ -58,7 +58,7 @@ import static org.apache.maven.surefire.util.ReflectionUtils.newInstance;
 
 /**
  * Does reflection based invocation of the surefire methods.
- * <p/>
+ * <br>
  * This is to avoid complications with linkage issues
  *
  * @author Kristian Rosenvold

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/surefire-api/src/main/java/org/apache/maven/surefire/cli/CommandLineOption.java
----------------------------------------------------------------------
diff --git a/surefire-api/src/main/java/org/apache/maven/surefire/cli/CommandLineOption.java b/surefire-api/src/main/java/org/apache/maven/surefire/cli/CommandLineOption.java
index 2f82814..a806370 100644
--- a/surefire-api/src/main/java/org/apache/maven/surefire/cli/CommandLineOption.java
+++ b/surefire-api/src/main/java/org/apache/maven/surefire/cli/CommandLineOption.java
@@ -28,7 +28,7 @@ import java.util.List;
  *
  * @author <a href="mailto:tibordigana@apache.org">Tibor Digana (tibor17)</a>
  * @since 2.19
- * @see http://books.sonatype.com/mvnref-book/reference/running-sect-options.html
+ * @see <a href="http://books.sonatype.com/mvnref-book/reference/running-sect-options.html">command line options</a>
  */
 public enum CommandLineOption
 {

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/3857f559/surefire-api/src/main/java/org/apache/maven/surefire/providerapi/ProviderParameters.java
----------------------------------------------------------------------
diff --git a/surefire-api/src/main/java/org/apache/maven/surefire/providerapi/ProviderParameters.java b/surefire-api/src/main/java/org/apache/maven/surefire/providerapi/ProviderParameters.java
index 9ef7a94..b487f06 100644
--- a/surefire-api/src/main/java/org/apache/maven/surefire/providerapi/ProviderParameters.java
+++ b/surefire-api/src/main/java/org/apache/maven/surefire/providerapi/ProviderParameters.java
@@ -36,10 +36,10 @@ import java.util.Map;
 
 /**
  * Injected into the providers upon provider construction. Allows the provider to request services and data it needs.
- * <p/>
+ * <br>
  * NOTE: This class is part of the proposed public api for surefire providers from 2.7 and up. It may
  * still be subject to changes, even for minor revisions.
- * <p/>
+ * <br>
  * The api covers this interface and all the types reachable from it. And nothing else.
  *
  * @author Kristian Rosenvold
@@ -80,7 +80,7 @@ public interface ProviderParameters
 
     /**
      * Gets a logger intended for console output.
-     * <p/>
+     * <br>
      * This output is intended for provider-oriented messages that are not attached to a single test-set
      * and will normally be written to something console-like immediately.
      *
@@ -136,7 +136,7 @@ public interface ProviderParameters
     List<CommandLineOption> getMainCliOptions();
 
     /**
-     * Defaults to 0. Configured with parameter <em>skipAfterFailureCount</em> in POM.
+     * @return Defaults to 0. Configured with parameter {@code skipAfterFailureCount} in POM.
      */
     int getSkipAfterFailureCount();