This is an automated email from the ASF dual-hosted git repository.
pottlinger pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/creadur-rat.git
The following commit(s) were added to refs/heads/master by this push:
new 88f8d92 [RAT-268] apache-rat-plugin incorrectly assumes poms module
is always a directory
new dc27a1b Merge pull request #18 from rfscholte/master
88f8d92 is described below
commit 88f8d926c97c5caa378703e46f3debda87ecf0c7
Author: rfscholte <[email protected]>
AuthorDate: Wed May 13 22:55:11 2020 +0200
[RAT-268] apache-rat-plugin incorrectly assumes poms module is always a
directory
---
apache-rat-plugin/pom.xml | 12 +++---
.../src/it/RAT-268/invoker.properties | 16 ++++++++
apache-rat-plugin/src/it/RAT-268/module1/pom.xml | 29 +++++++++++++
apache-rat-plugin/src/it/RAT-268/module1/src.apt | 12 ++++++
.../src/it/RAT-268/module2/module2.pom | 29 +++++++++++++
apache-rat-plugin/src/it/RAT-268/module2/src.apt | 12 ++++++
apache-rat-plugin/src/it/RAT-268/module3/pom.xml | 29 +++++++++++++
apache-rat-plugin/src/it/RAT-268/module3/src.apt | 12 ++++++
apache-rat-plugin/src/it/RAT-268/pom.xml | 48 ++++++++++++++++++++++
.../java/org/apache/rat/mp/AbstractRatMojo.java | 8 +++-
10 files changed, 200 insertions(+), 7 deletions(-)
diff --git a/apache-rat-plugin/pom.xml b/apache-rat-plugin/pom.xml
index b6b59bb..594b3a1 100644
--- a/apache-rat-plugin/pom.xml
+++ b/apache-rat-plugin/pom.xml
@@ -85,7 +85,7 @@
<configuration>
<excludes>
<!-- These files do not have license headers because they are
used to test license headers -->
- <exclude>src/it/it1/src.apt</exclude>
+ <exclude>src/it/**/src.apt</exclude>
<exclude>src/test/resources/unit/it2/src.txt</exclude>
<exclude>src/test/resources/unit/it3/src.apt</exclude>
<exclude>src/test/resources/unit/it4/*.html</exclude>
@@ -131,13 +131,8 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-invoker-plugin</artifactId>
- <version>1.10</version>
<configuration>
- <projectsDirectory>src/it</projectsDirectory>
<cloneProjectsTo>${project.build.directory}/invoker</cloneProjectsTo>
- <pomIncludes>
- <pomInclude>*/pom.xml</pomInclude>
- </pomIncludes>
<localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
<settingsFile>src/it/settings.xml</settingsFile>
<postBuildHookScript>verify</postBuildHookScript>
@@ -247,6 +242,11 @@
<artifactId>plexus-utils</artifactId>
<version>3.0.21</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.commons</groupId>
+ <artifactId>commons-lang3</artifactId>
+ <version>3.5</version>
+ </dependency>
</dependencies>
<reporting>
<plugins>
diff --git a/apache-rat-plugin/src/it/RAT-268/invoker.properties
b/apache-rat-plugin/src/it/RAT-268/invoker.properties
new file mode 100644
index 0000000..6e8c347
--- /dev/null
+++ b/apache-rat-plugin/src/it/RAT-268/invoker.properties
@@ -0,0 +1,16 @@
+# 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.
+
+invoker.goals = clean apache-rat:check
diff --git a/apache-rat-plugin/src/it/RAT-268/module1/pom.xml
b/apache-rat-plugin/src/it/RAT-268/module1/pom.xml
new file mode 100644
index 0000000..896861e
--- /dev/null
+++ b/apache-rat-plugin/src/it/RAT-268/module1/pom.xml
@@ -0,0 +1,29 @@
+<?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/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.rat.test</groupId>
+ <artifactId>rat268</artifactId>
+ <version>1.0</version>
+ </parent>
+ <artifactId>module1</artifactId>
+</project>
diff --git a/apache-rat-plugin/src/it/RAT-268/module1/src.apt
b/apache-rat-plugin/src/it/RAT-268/module1/src.apt
new file mode 100644
index 0000000..01ab206
--- /dev/null
+++ b/apache-rat-plugin/src/it/RAT-268/module1/src.apt
@@ -0,0 +1,12 @@
+~~ Yet Another License, just for test purposes
+
+ --------------
+ Some text file
+ --------------
+
+Some text file
+
+ This is a text file, which intentionally has no Apache License Header.
+ Instead, it contains a dummy license header. The Rat plugin should
+ accept it with a proper custom license matcher.
+
diff --git a/apache-rat-plugin/src/it/RAT-268/module2/module2.pom
b/apache-rat-plugin/src/it/RAT-268/module2/module2.pom
new file mode 100644
index 0000000..341b911
--- /dev/null
+++ b/apache-rat-plugin/src/it/RAT-268/module2/module2.pom
@@ -0,0 +1,29 @@
+<?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/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.rat.test</groupId>
+ <artifactId>rat268</artifactId>
+ <version>1.0</version>
+ </parent>
+ <artifactId>module2</artifactId>
+</project>
diff --git a/apache-rat-plugin/src/it/RAT-268/module2/src.apt
b/apache-rat-plugin/src/it/RAT-268/module2/src.apt
new file mode 100644
index 0000000..01ab206
--- /dev/null
+++ b/apache-rat-plugin/src/it/RAT-268/module2/src.apt
@@ -0,0 +1,12 @@
+~~ Yet Another License, just for test purposes
+
+ --------------
+ Some text file
+ --------------
+
+Some text file
+
+ This is a text file, which intentionally has no Apache License Header.
+ Instead, it contains a dummy license header. The Rat plugin should
+ accept it with a proper custom license matcher.
+
diff --git a/apache-rat-plugin/src/it/RAT-268/module3/pom.xml
b/apache-rat-plugin/src/it/RAT-268/module3/pom.xml
new file mode 100644
index 0000000..2f41709
--- /dev/null
+++ b/apache-rat-plugin/src/it/RAT-268/module3/pom.xml
@@ -0,0 +1,29 @@
+<?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/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.rat.test</groupId>
+ <artifactId>rat268</artifactId>
+ <version>1.0</version>
+ </parent>
+ <artifactId>module3</artifactId>
+</project>
diff --git a/apache-rat-plugin/src/it/RAT-268/module3/src.apt
b/apache-rat-plugin/src/it/RAT-268/module3/src.apt
new file mode 100644
index 0000000..01ab206
--- /dev/null
+++ b/apache-rat-plugin/src/it/RAT-268/module3/src.apt
@@ -0,0 +1,12 @@
+~~ Yet Another License, just for test purposes
+
+ --------------
+ Some text file
+ --------------
+
+Some text file
+
+ This is a text file, which intentionally has no Apache License Header.
+ Instead, it contains a dummy license header. The Rat plugin should
+ accept it with a proper custom license matcher.
+
diff --git a/apache-rat-plugin/src/it/RAT-268/pom.xml
b/apache-rat-plugin/src/it/RAT-268/pom.xml
new file mode 100644
index 0000000..8886a6c
--- /dev/null
+++ b/apache-rat-plugin/src/it/RAT-268/pom.xml
@@ -0,0 +1,48 @@
+<?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/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>org.apache.rat.test</groupId>
+ <artifactId>rat268</artifactId>
+ <version>1.0</version>
+ <packaging>pom</packaging>
+
+ <modules>
+ <module>module1</module>
+ <module>module2/module2.pom</module>
+ <module>module3/pom.xml</module>
+ </modules>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.rat</groupId>
+ <artifactId>apache-rat-plugin</artifactId>
+ <version>@pom.version@</version>
+ <configuration>
+ <excludes>
+ <exclude>src.apt</exclude>
+ </excludes>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
diff --git
a/apache-rat-plugin/src/main/java/org/apache/rat/mp/AbstractRatMojo.java
b/apache-rat-plugin/src/main/java/org/apache/rat/mp/AbstractRatMojo.java
index 5e143be..9d672da 100644
--- a/apache-rat-plugin/src/main/java/org/apache/rat/mp/AbstractRatMojo.java
+++ b/apache-rat-plugin/src/main/java/org/apache/rat/mp/AbstractRatMojo.java
@@ -48,6 +48,7 @@ import javax.xml.transform.TransformerConfigurationException;
import org.apache.commons.io.IOUtils;
+import org.apache.commons.lang3.StringUtils;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
@@ -438,7 +439,12 @@ public abstract class AbstractRatMojo extends AbstractMojo
{
&& project.getModules() != null) {
for (final Object o : project.getModules()) {
final String moduleSubPath = (String) o;
- results.add(moduleSubPath + "/**/*");
+ if (new File( basedir, moduleSubPath ).isDirectory()) {
+ results.add(moduleSubPath + "/**/*");
+ }
+ else {
+ results.add(StringUtils.substringBeforeLast(
moduleSubPath, "/" ) + "/**/*");
+ }
}
}