Merge branch 'master' into MJDEPS-Readme
diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md
index 813de2c..dadc22b 100644
--- a/.github/pull_request_template.md
+++ b/.github/pull_request_template.md
@@ -1,14 +1,19 @@
-[200~Following this checklist to help us incorporate your 
+Following this checklist to help us incorporate your 
 contribution quickly and easily:
 
- - [ ] Make sure there is a [JIRA issue](https://issues.apache.org/jira/browse/MPH) filed for the change (usually before you start working on it).  Trivial changes like typos do not 
-require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
-- [ ] Each commit in the pull request should have a meaningful subject line and body.
-- [ ] Format the pull request title like `[MPH-XXX] - Fixes bug in ApproximateQuantiles`, where you replace `MPH-XXX` with the appropriate JIRA issue. Best practice
-is to use the JIRA issue title in the pull request title and in the first line of the commit message.
-- [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
-- [ ] Run `mvn clean verify` to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
-- [ ] You have run the integration tests successfully (`mvn -Prun-its clean verify`).
+ - [ ] Make sure there is a [JIRA issue](https://issues.apache.org/jira/browse/MJDEPS) filed 
+       for the change (usually before you start working on it).  Trivial changes like typos do not 
+       require a JIRA issue.  Your pull request should address just this issue, without 
+       pulling in other changes.
+ - [ ] Each commit in the pull request should have a meaningful subject line and body.
+ - [ ] Format the pull request title like `[MJDEPS-XXX] - Fixes bug in ApproximateQuantiles`,
+       where you replace `MJDEPS-XXX` with the appropriate JIRA issue. Best practice
+       is to use the JIRA issue title in the pull request title and in the first line of the 
+       commit message.
+ - [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
+ - [ ] Run `mvn clean verify` to make sure basic checks pass. A more thorough check will 
+       be performed on your pull request automatically.
+ - [ ] You have run the integration tests successfully (`mvn -Prun-its clean verify`).
 
 If your pull request is about ~20 lines of code you don't need to sign an
 [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf) if you are unsure
@@ -18,8 +23,6 @@
 the [Apache License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0)
 you have to acknowledge this by using the following check-box.
 
-- [ ] I hereby declare this contribution to be licenced under the [Apache License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0)
+ - [ ] I hereby declare this contribution to be licenced under the [Apache License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0)
 
-- [ ] In any other case, please file an [Apache Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
-
-
+ - [ ] In any other case, please file an [Apache Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..e00391c
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,33 @@
+# 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.
+
+language: java
+sudo: false
+
+cache:
+  directories:
+  - "$HOME/.m2"
+
+jobs:
+  include:
+  - stage: test
+    jdk: openjdk11
+    script: mvn verify -Prun-its
+
+branches:
+  only:
+  - master
diff --git a/Jenkinsfile b/Jenkinsfile
index b87d437..5839442 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -17,4 +17,4 @@
  * under the License.
  */
 
-asfMavenTlpPlgnBuild(jdk:['8','9','10','11'])
+asfMavenTlpPlgnBuild(jdk:['8','11','12','13'])
diff --git a/pom.xml b/pom.xml
index af09425..4bf2821 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,111 +1,117 @@
-<?xml version='1.0' encoding='UTF-8'?>

-

-<!--

-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.

--->

-

-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

-  <modelVersion>4.0.0</modelVersion>

-

-  <parent>

-    <groupId>org.apache.maven.plugins</groupId>

-    <artifactId>maven-plugins</artifactId>

-    <version>33</version>

-    <relativePath></relativePath>

-  </parent>

-

-  <artifactId>maven-jdeps-plugin</artifactId>

-  <version>3.1.2-SNAPSHOT</version>

-  <packaging>maven-plugin</packaging>

-

-  <name>Apache Maven JDeps Plugin</name>

-  <description>The JDeps Plugin uses the jdeps tool to analyze classes for internal API calls.</description>

-  <inceptionYear>2015</inceptionYear>

-

-  <prerequisites>

-    <maven>${mavenVersion}</maven>

-  </prerequisites>

-  

-  <scm>

-    <connection>scm:git:https://gitbox.apache.org/repos/asf/maven-jdeps-plugin.git</connection>

-    <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/maven-jdeps-plugin.git</developerConnection>

-    <url>https://github.com/apache/maven-jdeps-plugin/tree/${project.scm.tag}</url>

-    <tag>HEAD</tag>

-  </scm>

-  <issueManagement>

-    <system>JIRA</system>

-    <url>https://issues.apache.org/jira/browse/MJDEPS</url>

-  </issueManagement>

-  <ciManagement>

-    <system>Jenkins</system>

-    <url>https://builds.apache.org/job/maven-box/job/maven-jdeps-plugin/</url>

-  </ciManagement>

-  <distributionManagement>

-    <site>

-      <id>apache.website</id>

-      <url>scm:svn:https://svn.apache.org/repos/asf/maven/website/components/${maven.site.path}</url>

-    </site>

-  </distributionManagement>

-

-  <properties>

-    <mavenVersion>3.0</mavenVersion>

-    <javaVersion>7</javaVersion>

-  </properties>

-  

-  <dependencies>

-    <dependency>

-      <groupId>org.apache.maven.plugin-tools</groupId>

-      <artifactId>maven-plugin-annotations</artifactId>

-      <scope>provided</scope>

-    </dependency>

-    <!-- Maven -->

-    <dependency>

-      <groupId>org.apache.maven</groupId>

-      <artifactId>maven-plugin-api</artifactId>

-      <version>${mavenVersion}</version>

-    </dependency>

-    <dependency>

-      <groupId>org.apache.maven</groupId>

-      <artifactId>maven-core</artifactId>

-      <version>${mavenVersion}</version>

-    </dependency>

-    <dependency>

-      <groupId>org.apache.maven</groupId>

-      <artifactId>maven-model</artifactId>

-      <version>${mavenVersion}</version>

-    </dependency>

-    <dependency>

-      <groupId>org.codehaus.plexus</groupId>

-      <artifactId>plexus-utils</artifactId>

-      <version>3.1.0</version>

-    </dependency>

-    <dependency>

-      <groupId>org.apache.commons</groupId>

-      <artifactId>commons-lang3</artifactId>

-      <version>3.5</version>

-    </dependency>

-    

-    <!-- TEST -->

-    <dependency>

-      <groupId>junit</groupId>

-      <artifactId>junit</artifactId>

-      <version>4.11</version>

-      <scope>test</scope>

-    </dependency>

-  </dependencies>

-</project>

+<?xml version='1.0' encoding='UTF-8'?>
+
+<!--
+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.
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <parent>
+    <groupId>org.apache.maven.plugins</groupId>
+    <artifactId>maven-plugins</artifactId>
+    <version>33</version>
+    <relativePath />
+  </parent>
+
+  <artifactId>maven-jdeps-plugin</artifactId>
+  <version>3.1.3-SNAPSHOT</version>
+  <packaging>maven-plugin</packaging>
+
+  <name>Apache Maven JDeps Plugin</name>
+  <description>The JDeps Plugin uses the jdeps tool to analyze classes for internal API calls.</description>
+  <inceptionYear>2015</inceptionYear>
+
+  <prerequisites>
+    <maven>${mavenVersion}</maven>
+  </prerequisites>
+  
+  <scm>
+    <connection>scm:git:https://gitbox.apache.org/repos/asf/maven-jdeps-plugin.git</connection>
+    <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/maven-jdeps-plugin.git</developerConnection>
+    <url>https://github.com/apache/maven-jdeps-plugin/tree/${project.scm.tag}</url>
+    <tag>HEAD</tag>
+  </scm>
+  <issueManagement>
+    <system>JIRA</system>
+    <url>https://issues.apache.org/jira/browse/MJDEPS</url>
+  </issueManagement>
+  <ciManagement>
+    <system>Jenkins</system>
+    <url>https://builds.apache.org/job/maven-box/job/maven-jdeps-plugin/</url>
+  </ciManagement>
+  <distributionManagement>
+    <site>
+      <id>apache.website</id>
+      <url>scm:svn:https://svn.apache.org/repos/asf/maven/website/components/${maven.site.path}</url>
+    </site>
+  </distributionManagement>
+
+  <properties>
+    <mavenVersion>3.0</mavenVersion>
+    <javaVersion>7</javaVersion>
+  </properties>
+
+  <contributors>
+    <contributor>
+      <name>Andrea Nenni</name>
+    </contributor>
+  </contributors>
+
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.maven.plugin-tools</groupId>
+      <artifactId>maven-plugin-annotations</artifactId>
+      <scope>provided</scope>
+    </dependency>
+    <!-- Maven -->
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-plugin-api</artifactId>
+      <version>${mavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-core</artifactId>
+      <version>${mavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-model</artifactId>
+      <version>${mavenVersion}</version>
+    </dependency>
+    <dependency>
+      <groupId>org.codehaus.plexus</groupId>
+      <artifactId>plexus-utils</artifactId>
+      <version>3.1.0</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-lang3</artifactId>
+      <version>3.5</version>
+    </dependency>
+    
+    <!-- TEST -->
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.11</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+</project>
diff --git a/src/it/unsupported-api_main/verify.groovy b/src/it/unsupported-api_main/verify.groovy
index 0a00176..b7aa41b 100644
--- a/src/it/unsupported-api_main/verify.groovy
+++ b/src/it/unsupported-api_main/verify.groovy
@@ -18,9 +18,6 @@
  * under the License.

  */

  

-def LS = System.getProperty("line.separator")

- 

 def buildLog = new File( basedir, 'build.log' )

-assert buildLog.text.contains( "Found offending packages:${LS} sun.misc -> JDK internal API (java.base)" ) || 

-	buildLog.text.contains( "Found offending packages:${LS} sun.misc -> JDK internal API (rt.jar)" ) ||

-	buildLog.text.contains( "Found offending packages:${LS} sun.misc -> JDK internal API (JDK removed internal API)" )
\ No newline at end of file
+

+assert buildLog.readLines().dropWhile{ !(it =~ /Found offending packages\:$/) }.getAt(1) ==~ /\[ERROR\]\s+sun\.misc -> JDK internal API \(.+\)/

diff --git a/src/it/unsupported-api_test/verify.groovy b/src/it/unsupported-api_test/verify.groovy
index 0a00176..5e97e6c 100644
--- a/src/it/unsupported-api_test/verify.groovy
+++ b/src/it/unsupported-api_test/verify.groovy
@@ -18,9 +18,6 @@
  * under the License.

  */

  

-def LS = System.getProperty("line.separator")

- 

 def buildLog = new File( basedir, 'build.log' )

-assert buildLog.text.contains( "Found offending packages:${LS} sun.misc -> JDK internal API (java.base)" ) || 

-	buildLog.text.contains( "Found offending packages:${LS} sun.misc -> JDK internal API (rt.jar)" ) ||

-	buildLog.text.contains( "Found offending packages:${LS} sun.misc -> JDK internal API (JDK removed internal API)" )
\ No newline at end of file
+

+assert buildLog.readLines().dropWhile{ !(it =~ /Found offending packages\:$/) }.getAt(1) ==~ /\[ERROR\]\s+sun\.misc -> JDK internal API \(.+\)/
\ No newline at end of file
diff --git a/src/main/java/org/apache/maven/plugins/jdeps/AbstractJDepsMojo.java b/src/main/java/org/apache/maven/plugins/jdeps/AbstractJDepsMojo.java
index 110b868..0140e82 100644
--- a/src/main/java/org/apache/maven/plugins/jdeps/AbstractJDepsMojo.java
+++ b/src/main/java/org/apache/maven/plugins/jdeps/AbstractJDepsMojo.java
@@ -85,7 +85,7 @@
      * 

      * @since 3.1.1

      */

-    @Parameter

+    @Parameter( property = "jdeps.multiRelease" )

     private String multiRelease;

     

     /**