This is an automated email from the ASF dual-hosted git repository.
claude 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 51dc4198 RAT-107: fix excludes working recursively in submodules and
add tests (#401)
51dc4198 is described below
commit 51dc4198388c18e8583048f767ca6e07ea8ce523
Author: Claude Warren <[email protected]>
AuthorDate: Tue Nov 26 08:06:21 2024 +0000
RAT-107: fix excludes working recursively in submodules and add tests (#401)
* Fixes for SCM style excludes
* Fixes additional SCM excludes
* RAT-107: Minor fixes, changelog and docs
* RAT-107: Make log output more explicit
---------
Co-authored-by: P. Ottlinger <[email protected]>
---
.../rat/config/exclusion/ExclusionProcessor.java | 23 +++++++++--
.../rat/config/exclusion/StandardCollection.java | 38 +++++++++----------
apache-rat-plugin/pom.xml | 1 -
apache-rat-plugin/src/it/RAT-107/.idea/dummy | 1 +
apache-rat-plugin/src/it/RAT-107/covertura.ser | 1 +
apache-rat-plugin/src/it/RAT-107/pom.xml | 44 ++++++++++++++++++++++
.../src/it/RAT-107/release.properties | 1 +
.../src/it/RAT-107/submodule/.idea/dummy | 1 +
.../src/it/RAT-107/submodule/covertura.ser | 1 +
.../it/{it4_RAT-168 => RAT-107/submodule}/pom.xml | 19 ++--------
.../src/it/RAT-107/submodule/release.properties | 1 +
.../it/{it4_RAT-168 => RAT-168}/invoker.properties | 0
.../src/it/{it4_RAT-168 => RAT-168}/pom.xml | 0
.../src/it/{it4_RAT-168 => RAT-168}/verify.groovy | 0
.../java/org/apache/rat/mp/RatCheckMojoTest.java | 21 ++++++++++-
.../src/test/resources/unit/RAT-107/.idea/dummy | 1 +
.../src/test/resources/unit/RAT-107/cobertura.ser | 1 +
.../src/test/resources/unit/RAT-107/pom.xml | 38 +++++++++++++++++++
.../test/resources/unit/RAT-107/release.properties | 1 +
.../resources/unit/RAT-107/submodule/.idea/dummy | 1 +
.../resources/unit/RAT-107/submodule/cobertura.ser | 1 +
.../resources/unit/RAT-107/submodule}/pom.xml | 18 +--------
.../unit/RAT-107/submodule/release.properties | 1 +
src/changes/changes.xml | 3 ++
24 files changed, 159 insertions(+), 58 deletions(-)
diff --git
a/apache-rat-core/src/main/java/org/apache/rat/config/exclusion/ExclusionProcessor.java
b/apache-rat-core/src/main/java/org/apache/rat/config/exclusion/ExclusionProcessor.java
index 390faf6b..74434179 100644
---
a/apache-rat-core/src/main/java/org/apache/rat/config/exclusion/ExclusionProcessor.java
+++
b/apache-rat-core/src/main/java/org/apache/rat/config/exclusion/ExclusionProcessor.java
@@ -64,7 +64,7 @@ public class ExclusionProcessor {
/** The base dir for the last PathMatcher */
private DocumentName lastMatcherBaseDir;
- /** Reset the pathmatcher to start again */
+ /** Reset the path matcher to start again */
private void resetLastMatcher() {
lastMatcher = null;
lastMatcherBaseDir = null;
@@ -197,7 +197,12 @@ public class ExclusionProcessor {
// add the file processors
for (StandardCollection sc : fileProcessors) {
- sc.fileProcessor().forEachRemaining(fp -> segregateList(excl,
incl, fp.apply(basedir)));
+ ExtendedIterator<FileProcessor> iter = sc.fileProcessor();
+ if (iter.hasNext()) {
+ sc.fileProcessor().forEachRemaining(fp ->
segregateList(excl, incl, fp.apply(basedir)));
+ } else {
+ DefaultLog.getInstance().info(String.format("%s does not
have a fileProcessor.", sc));
+ }
}
// add the standard patterns
@@ -206,10 +211,20 @@ public class ExclusionProcessor {
// add the collection patterns
for (StandardCollection sc : includedCollections) {
- segregateList(incl, excl,
FileProcessor.from(sc.patterns()).apply(basedir));
+ Set<String> patterns = sc.patterns();
+ if (patterns.isEmpty()) {
+ DefaultLog.getInstance().info(String.format("%s does not
have a defined collection for inclusion.", sc));
+ } else {
+ segregateList(incl, excl,
FileProcessor.from(sc.patterns()).apply(basedir));
+ }
}
for (StandardCollection sc : excludedCollections) {
- segregateList(excl, incl,
FileProcessor.from(sc.patterns()).apply(basedir));
+ Set<String> patterns = sc.patterns();
+ if (patterns.isEmpty()) {
+ DefaultLog.getInstance().info(String.format("%s does not
have a defined collection for exclusion.", sc));
+ } else {
+ segregateList(excl, incl,
FileProcessor.from(sc.patterns()).apply(basedir));
+ }
}
// add the matchers
diff --git
a/apache-rat-core/src/main/java/org/apache/rat/config/exclusion/StandardCollection.java
b/apache-rat-core/src/main/java/org/apache/rat/config/exclusion/StandardCollection.java
index 184423a6..97d3ae79 100644
---
a/apache-rat-core/src/main/java/org/apache/rat/config/exclusion/StandardCollection.java
+++
b/apache-rat-core/src/main/java/org/apache/rat/config/exclusion/StandardCollection.java
@@ -36,9 +36,13 @@ import org.apache.rat.document.DocumentNameMatcherSupplier;
import org.apache.rat.document.TraceableDocumentNameMatcher;
import org.apache.rat.utils.ExtendedIterator;
+/**
+ * Collection of standard excludes.
+ * HINT: In order to work recursively each entry is prefixed with {@code
"**\/"}.
+ */
public enum StandardCollection {
/**
- * All the standard excludes combined
+ * All the standard excludes combined.
*/
// see getCollections() for loading
ALL("All of the Standard Excludes combined.", null, null, null),
@@ -51,7 +55,7 @@ public enum StandardCollection {
* The files and directories created by a Bazaar source code control based
tool.
*/
BAZAAR("The files and directories created by a Bazaar source code control
based tool.",
- Arrays.asList("**/.bzr/**", ".bzrignore"), null, new
BazaarIgnoreProcessor()),
+ Arrays.asList("**/.bzr/**", "**/.bzrignore"), null, new
BazaarIgnoreProcessor()),
/**
* The files and directories created by a Bitkeeper source code control
based tool.
*/
@@ -80,7 +84,7 @@ public enum StandardCollection {
* The files and directories created by an Eclipse IDE based tool.
*/
ECLIPSE("The files and directories created by an Eclipse IDE based tool.",
- Arrays.asList(".checkstyle", ".classpath", ".factorypath",
".project", ".settings/**"),
+ Arrays.asList("**/.checkstyle", "**/.classpath",
"**/.factorypath", "**/.project", "**/.settings/**"),
null, null),
/**
* The files and directories created by GIT source code control to support
GIT, also processes files listed in '.gitignore'.
@@ -114,11 +118,7 @@ public enum StandardCollection {
* The files and directories created by an IDEA IDE based tool.
*/
IDEA("The files and directories created by an IDEA IDE based tool.",
- Arrays.asList(
- "*.iml",
- "*.ipr",
- "*.iws",
- ".idea/**"), null, null),
+ Arrays.asList("**/*.iml", "**/*.ipr", "**/*.iws", "**/.idea/**"),
null, null),
/**
* The .DS_Store files MAC computer.
*/
@@ -128,20 +128,20 @@ public enum StandardCollection {
* The files and directories created by Maven build system based project.
*/
MAVEN("The files and directories created by Maven build system based
project.",
- Arrays.asList(//
- "target/**", //
- "cobertura.ser", //
+ Arrays.asList(
+ "**/target/**", //
+ "**/cobertura.ser", //
"**/MANIFEST.MF", // a MANIFEST.MF file cannot contain
comment lines. In other words: It is not possible, to include a license.
- "release.properties", //
- ".repository", // Used by Jenkins when a Maven job uses a
private repository that is "Local to the workspace"
- "build.log", // RAT-160: until now maven-invoker-plugin
runs create a build.log that is not part of a release
- ".mvn/**", // Project configuration since Maven 3.3.1
which contains maven.config, jvm.config, extensions.xml
- "pom.xml.releaseBackup"), null, null),
+ "**/release.properties", //
+ "**/.repository", // Used by Jenkins when a Maven job uses
a private repository that is "Local to the workspace"
+ "**/build.log", // RAT-160: until now maven-invoker-plugin
runs create a build.log that is not part of a release
+ "**/.mvn/**", // Project configuration since Maven 3.3.1
which contains maven.config, jvm.config, extensions.xml
+ "**/pom.xml.releaseBackup"), null, null),
/**
* The files and directories created by a Mercurial source code control
based tool.
*/
MERCURIAL("The files and directories created by a Mercurial source code
control based tool.",
- Arrays.asList("**/.hg/**", ".hgignore"), null, new
HgIgnoreProcessor()),
+ Arrays.asList("**/.hg/**", "**/.hgignore"), null, new
HgIgnoreProcessor()),
/**
* The set of miscellaneous files generally left by editors and the like.
*/
@@ -154,7 +154,7 @@ public enum StandardCollection {
MKS("The files and directories created by an MKS source code control based
tool.",
Collections.singletonList("**/project.pj"), null, null),
/**
- * The files and directories created by a RCS source code control based
tool.
+ * The files and directories created by an RCS source code control based
tool.
*/
RCS("The files and directories created by a RCS source code control based
tool.",
Collections.singletonList("**/RCS/**"), null, null),
@@ -245,7 +245,7 @@ public enum StandardCollection {
/**
* @return the combined and deduped collection of patterns in the given
collection.
*/
- public Collection<String> patterns() {
+ public Set<String> patterns() {
Set<String> result = new HashSet<>();
getCollections().forEach(sc -> result.addAll(sc.patterns));
return result;
diff --git a/apache-rat-plugin/pom.xml b/apache-rat-plugin/pom.xml
index 951614fd..739982a2 100644
--- a/apache-rat-plugin/pom.xml
+++ b/apache-rat-plugin/pom.xml
@@ -221,7 +221,6 @@
<localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
<settingsFile>src/it/settings.xml</settingsFile>
<postBuildHookScript>verify</postBuildHookScript>
- <debug>true</debug>
</configuration>
<executions>
<execution>
diff --git a/apache-rat-plugin/src/it/RAT-107/.idea/dummy
b/apache-rat-plugin/src/it/RAT-107/.idea/dummy
new file mode 100644
index 00000000..b77e339f
--- /dev/null
+++ b/apache-rat-plugin/src/it/RAT-107/.idea/dummy
@@ -0,0 +1 @@
+This file intentionally has no Apache License Header.
diff --git a/apache-rat-plugin/src/it/RAT-107/covertura.ser
b/apache-rat-plugin/src/it/RAT-107/covertura.ser
new file mode 100644
index 00000000..b77e339f
--- /dev/null
+++ b/apache-rat-plugin/src/it/RAT-107/covertura.ser
@@ -0,0 +1 @@
+This file intentionally has no Apache License Header.
diff --git a/apache-rat-plugin/src/it/RAT-107/pom.xml
b/apache-rat-plugin/src/it/RAT-107/pom.xml
new file mode 100644
index 00000000..81226068
--- /dev/null
+++ b/apache-rat-plugin/src/it/RAT-107/pom.xml
@@ -0,0 +1,44 @@
+<?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">
+ <groupId>org.apache.rat.test</groupId>
+ <artifactId>RAT-107</artifactId>
+ <version>1.0</version>
+ <modelVersion>4.0.0</modelVersion>
+ <packaging>pom</packaging>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.rat</groupId>
+ <artifactId>apache-rat-plugin</artifactId>
+ <version>@pom.version@</version>
+ <configuration>
+ <excludeSubProjects>false</excludeSubProjects>
+ <inputExcludeParsedScms>
+ <inputExcludeParsedScm>MAVEN</inputExcludeParsedScm>
+ <inputExcludeParsedScm>idea</inputExcludeParsedScm>
+ <inputExcludeParsedScm>eclipse</inputExcludeParsedScm>
+ </inputExcludeParsedScms>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <modules>
+ <module>submodule</module>
+ </modules>
+</project>
diff --git a/apache-rat-plugin/src/it/RAT-107/release.properties
b/apache-rat-plugin/src/it/RAT-107/release.properties
new file mode 100644
index 00000000..b77e339f
--- /dev/null
+++ b/apache-rat-plugin/src/it/RAT-107/release.properties
@@ -0,0 +1 @@
+This file intentionally has no Apache License Header.
diff --git a/apache-rat-plugin/src/it/RAT-107/submodule/.idea/dummy
b/apache-rat-plugin/src/it/RAT-107/submodule/.idea/dummy
new file mode 100644
index 00000000..b77e339f
--- /dev/null
+++ b/apache-rat-plugin/src/it/RAT-107/submodule/.idea/dummy
@@ -0,0 +1 @@
+This file intentionally has no Apache License Header.
diff --git a/apache-rat-plugin/src/it/RAT-107/submodule/covertura.ser
b/apache-rat-plugin/src/it/RAT-107/submodule/covertura.ser
new file mode 100644
index 00000000..b77e339f
--- /dev/null
+++ b/apache-rat-plugin/src/it/RAT-107/submodule/covertura.ser
@@ -0,0 +1 @@
+This file intentionally has no Apache License Header.
diff --git a/apache-rat-plugin/src/it/it4_RAT-168/pom.xml
b/apache-rat-plugin/src/it/RAT-107/submodule/pom.xml
similarity index 73%
copy from apache-rat-plugin/src/it/it4_RAT-168/pom.xml
copy to apache-rat-plugin/src/it/RAT-107/submodule/pom.xml
index c570d26a..05fb8d23 100644
--- a/apache-rat-plugin/src/it/it4_RAT-168/pom.xml
+++ b/apache-rat-plugin/src/it/RAT-107/submodule/pom.xml
@@ -16,10 +16,10 @@
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>it4rat168</artifactId>
+ <artifactId>submodule</artifactId>
<version>1.0</version>
+ <modelVersion>4.0.0</modelVersion>
<build>
<plugins>
<plugin>
@@ -27,21 +27,8 @@
<artifactId>apache-rat-plugin</artifactId>
<version>@pom.version@</version>
<configuration>
- <includes>
- <include>pom.xml</include>
- </includes>
- </configuration>
+ </configuration>
</plugin>
</plugins>
- <!-- RAT-354: prevent warning about missing version property of
maven-clean-plugin -->
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-clean-plugin</artifactId>
- <version>3.3.2</version>
- </plugin>
- </plugins>
- </pluginManagement>
</build>
</project>
diff --git a/apache-rat-plugin/src/it/RAT-107/submodule/release.properties
b/apache-rat-plugin/src/it/RAT-107/submodule/release.properties
new file mode 100644
index 00000000..b77e339f
--- /dev/null
+++ b/apache-rat-plugin/src/it/RAT-107/submodule/release.properties
@@ -0,0 +1 @@
+This file intentionally has no Apache License Header.
diff --git a/apache-rat-plugin/src/it/it4_RAT-168/invoker.properties
b/apache-rat-plugin/src/it/RAT-168/invoker.properties
similarity index 100%
rename from apache-rat-plugin/src/it/it4_RAT-168/invoker.properties
rename to apache-rat-plugin/src/it/RAT-168/invoker.properties
diff --git a/apache-rat-plugin/src/it/it4_RAT-168/pom.xml
b/apache-rat-plugin/src/it/RAT-168/pom.xml
similarity index 100%
copy from apache-rat-plugin/src/it/it4_RAT-168/pom.xml
copy to apache-rat-plugin/src/it/RAT-168/pom.xml
diff --git a/apache-rat-plugin/src/it/it4_RAT-168/verify.groovy
b/apache-rat-plugin/src/it/RAT-168/verify.groovy
similarity index 100%
rename from apache-rat-plugin/src/it/it4_RAT-168/verify.groovy
rename to apache-rat-plugin/src/it/RAT-168/verify.groovy
diff --git
a/apache-rat-plugin/src/test/java/org/apache/rat/mp/RatCheckMojoTest.java
b/apache-rat-plugin/src/test/java/org/apache/rat/mp/RatCheckMojoTest.java
index 213b2620..0690c1ce 100644
--- a/apache-rat-plugin/src/test/java/org/apache/rat/mp/RatCheckMojoTest.java
+++ b/apache-rat-plugin/src/test/java/org/apache/rat/mp/RatCheckMojoTest.java
@@ -27,7 +27,6 @@ import static org.assertj.core.api.Assertions.assertThat;
import java.io.File;
import org.apache.commons.io.FileUtils;
-import org.apache.maven.plugin.MojoFailureException;
import org.apache.rat.ReportConfiguration;
import org.apache.rat.ReportConfigurationTest;
import org.apache.rat.ReporterTestUtils;
@@ -265,7 +264,7 @@ public class RatCheckMojoTest extends
BetterAbstractMojoTestCase {
/**
* Tests verifying gitignore parsing
*/
- public void testRAT335GitIgnore() throws Exception {
+ public void testRAT_335GitIgnoreParsing() throws Exception {
final RatCheckMojo mojo = newRatCheckMojo("RAT-335-GitIgnore");
final File ratTxtFile = mojo.getRatTxtFile();
final String[] expected = {
@@ -323,6 +322,7 @@ public class RatCheckMojoTest extends
BetterAbstractMojoTestCase {
// Create the test file with a content on which it must fail
File barFile = new File(dir, "bar.md");
+ assertThat(barFile).exists();
final String[] expected = {
ReporterTestUtils.counterText(ClaimStatistic.Counter.NOTICES,
0),
ReporterTestUtils.counterText(ClaimStatistic.Counter.BINARIES,
0),
@@ -344,4 +344,21 @@ public class RatCheckMojoTest extends
BetterAbstractMojoTestCase {
ensureRatReportIsCorrect(ratTxtFile, expected, TextUtils.EMPTY);
}
}
+
+ /**
+ * Tests implicit excludes apply to submodules too
+ */
+ public void testRAT_107() throws Exception {
+ final RatCheckMojo mojo = (RatCheckMojo) newRatMojo("RAT-107", "check",
true);
+ final File ratTxtFile = mojo.getRatTxtFile();
+ final String[] expected = {};
+ final String[] notExpected = {};
+ setVariableValueToObject(mojo, "excludeSubProjects", Boolean.FALSE);
+ mojo.setInputExcludeParsedScm("MAVEN");
+ mojo.setInputExcludeParsedScm("idea");
+ mojo.setInputExcludeParsedScm("eclipse");
+ mojo.execute();
+
+ ensureRatReportIsCorrect(ratTxtFile, expected, notExpected);
+ }
}
diff --git a/apache-rat-plugin/src/test/resources/unit/RAT-107/.idea/dummy
b/apache-rat-plugin/src/test/resources/unit/RAT-107/.idea/dummy
new file mode 100644
index 00000000..b77e339f
--- /dev/null
+++ b/apache-rat-plugin/src/test/resources/unit/RAT-107/.idea/dummy
@@ -0,0 +1 @@
+This file intentionally has no Apache License Header.
diff --git a/apache-rat-plugin/src/test/resources/unit/RAT-107/cobertura.ser
b/apache-rat-plugin/src/test/resources/unit/RAT-107/cobertura.ser
new file mode 100644
index 00000000..b77e339f
--- /dev/null
+++ b/apache-rat-plugin/src/test/resources/unit/RAT-107/cobertura.ser
@@ -0,0 +1 @@
+This file intentionally has no Apache License Header.
diff --git a/apache-rat-plugin/src/test/resources/unit/RAT-107/pom.xml
b/apache-rat-plugin/src/test/resources/unit/RAT-107/pom.xml
new file mode 100644
index 00000000..14060ae4
--- /dev/null
+++ b/apache-rat-plugin/src/test/resources/unit/RAT-107/pom.xml
@@ -0,0 +1,38 @@
+<?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>RAT-107</artifactId>
+ <packaging>pom</packaging>
+ <version>1.0</version>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.rat</groupId>
+ <artifactId>apache-rat-plugin</artifactId>
+ <version>@pom.version@</version>
+ <configuration>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+ <modules>
+ <module>submodule</module>
+ </modules>
+</project>
diff --git
a/apache-rat-plugin/src/test/resources/unit/RAT-107/release.properties
b/apache-rat-plugin/src/test/resources/unit/RAT-107/release.properties
new file mode 100644
index 00000000..b77e339f
--- /dev/null
+++ b/apache-rat-plugin/src/test/resources/unit/RAT-107/release.properties
@@ -0,0 +1 @@
+This file intentionally has no Apache License Header.
diff --git
a/apache-rat-plugin/src/test/resources/unit/RAT-107/submodule/.idea/dummy
b/apache-rat-plugin/src/test/resources/unit/RAT-107/submodule/.idea/dummy
new file mode 100644
index 00000000..b77e339f
--- /dev/null
+++ b/apache-rat-plugin/src/test/resources/unit/RAT-107/submodule/.idea/dummy
@@ -0,0 +1 @@
+This file intentionally has no Apache License Header.
diff --git
a/apache-rat-plugin/src/test/resources/unit/RAT-107/submodule/cobertura.ser
b/apache-rat-plugin/src/test/resources/unit/RAT-107/submodule/cobertura.ser
new file mode 100644
index 00000000..b77e339f
--- /dev/null
+++ b/apache-rat-plugin/src/test/resources/unit/RAT-107/submodule/cobertura.ser
@@ -0,0 +1 @@
+This file intentionally has no Apache License Header.
diff --git a/apache-rat-plugin/src/it/it4_RAT-168/pom.xml
b/apache-rat-plugin/src/test/resources/unit/RAT-107/submodule/pom.xml
similarity index 71%
rename from apache-rat-plugin/src/it/it4_RAT-168/pom.xml
rename to apache-rat-plugin/src/test/resources/unit/RAT-107/submodule/pom.xml
index c570d26a..f3bf511d 100644
--- a/apache-rat-plugin/src/it/it4_RAT-168/pom.xml
+++ b/apache-rat-plugin/src/test/resources/unit/RAT-107/submodule/pom.xml
@@ -16,9 +16,8 @@
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>it4rat168</artifactId>
+ <artifactId>submodule</artifactId>
<version>1.0</version>
<build>
<plugins>
@@ -27,21 +26,8 @@
<artifactId>apache-rat-plugin</artifactId>
<version>@pom.version@</version>
<configuration>
- <includes>
- <include>pom.xml</include>
- </includes>
- </configuration>
+ </configuration>
</plugin>
</plugins>
- <!-- RAT-354: prevent warning about missing version property of
maven-clean-plugin -->
- <pluginManagement>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-clean-plugin</artifactId>
- <version>3.3.2</version>
- </plugin>
- </plugins>
- </pluginManagement>
</build>
</project>
diff --git
a/apache-rat-plugin/src/test/resources/unit/RAT-107/submodule/release.properties
b/apache-rat-plugin/src/test/resources/unit/RAT-107/submodule/release.properties
new file mode 100644
index 00000000..b77e339f
--- /dev/null
+++
b/apache-rat-plugin/src/test/resources/unit/RAT-107/submodule/release.properties
@@ -0,0 +1 @@
+This file intentionally has no Apache License Header.
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 986def59..e6b8100c 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -72,6 +72,9 @@ The <action> type attribute can be one of:
</release>
-->
<release version="0.17-SNAPSHOT" date="xxxx-yy-zz" description="Current
SNAPSHOT - release to be done">
+ <action issue="RAT-107" type="fix" dev="claudenw">
+ Exclusions of defaults should work recursively and in submodules now.
Added unit and integration tests.
+ </action>
<action issue="RAT-2" type="add" dev="claudenw">
Added --input-exclude-size as an option to skip the scanning of very
small files.
</action>