You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by gn...@apache.org on 2026/09/26 17:09:04 UTC
(maven-filtering) branch master updated: fix: initialize Resource includes/excludes to empty lists (MRESOURCES-356)
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-filtering.git
The following commit(s) were added to refs/heads/master by this push:
new 01d9c26 fix: initialize Resource includes/excludes to empty lists (MRESOURCES-356)
01d9c26 is described below
commit 01d9c267b1f441e11ed8c89301354e59a8c22cf9
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Sat Sep 26 19:08:59 2026 +0200
fix: initialize Resource includes/excludes to empty lists (MRESOURCES-356)
- Initialize Resource.includes and excludes to new ArrayList<>() so getters always return non-null mutable lists
- Simplify addInclude/addExclude — remove now-redundant null guards
- Simplify DefaultMavenResourcesFiltering: drop null checks on excludes in debug log and setupScanner
- Fixes #356
---
.../filtering/DefaultMavenResourcesFiltering.java | 29 ++++++----------------
.../apache/maven/shared/filtering/Resource.java | 25 ++++++-------------
2 files changed, 15 insertions(+), 39 deletions(-)
diff --git a/src/main/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFiltering.java b/src/main/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFiltering.java
index 18b946c..3bc7540 100644
--- a/src/main/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFiltering.java
+++ b/src/main/java/org/apache/maven/shared/filtering/DefaultMavenResourcesFiltering.java
@@ -163,19 +163,8 @@ public class DefaultMavenResourcesFiltering implements MavenResourcesFiltering {
.append(ls);
// @formatter:off
- debugMessage
- .append("excludes ")
- .append(
- resource.getExcludes() == null
- ? " empty "
- : resource.getExcludes().toString())
- .append(ls);
- debugMessage
- .append("includes ")
- .append(
- resource.getIncludes() == null
- ? " empty "
- : resource.getIncludes().toString());
+ debugMessage.append("excludes ").append(resource.getExcludes()).append(ls);
+ debugMessage.append("includes ").append(resource.getIncludes());
// @formatter:on
LOGGER.debug(debugMessage.toString());
@@ -439,17 +428,13 @@ public class DefaultMavenResourcesFiltering implements MavenResourcesFiltering {
}
private void setupScanner(Resource resource, Scanner scanner, boolean addDefaultExcludes) {
- String[] includes;
- if (resource.getIncludes() != null && !resource.getIncludes().isEmpty()) {
- includes = resource.getIncludes().toArray(EMPTY_STRING_ARRAY);
- } else {
- includes = DEFAULT_INCLUDES;
- }
+ String[] includes = resource.getIncludes().isEmpty()
+ ? DEFAULT_INCLUDES
+ : resource.getIncludes().toArray(EMPTY_STRING_ARRAY);
scanner.setIncludes(includes);
- if (resource.getExcludes() != null && !resource.getExcludes().isEmpty()) {
- String[] excludes = resource.getExcludes().toArray(EMPTY_STRING_ARRAY);
- scanner.setExcludes(excludes);
+ if (!resource.getExcludes().isEmpty()) {
+ scanner.setExcludes(resource.getExcludes().toArray(EMPTY_STRING_ARRAY));
}
if (addDefaultExcludes) {
diff --git a/src/main/java/org/apache/maven/shared/filtering/Resource.java b/src/main/java/org/apache/maven/shared/filtering/Resource.java
index 5dfda61..f2b83ee 100644
--- a/src/main/java/org/apache/maven/shared/filtering/Resource.java
+++ b/src/main/java/org/apache/maven/shared/filtering/Resource.java
@@ -29,9 +29,9 @@ import java.util.List;
*/
public class Resource {
- List<String> includes;
- List<String> excludes;
- List<String> nonFilteredFiles;
+ List<String> includes = new ArrayList<>();
+ List<String> excludes = new ArrayList<>();
+ List<String> nonFilteredFiles = new ArrayList<>();
String directory;
String targetPath;
boolean filtering;
@@ -44,7 +44,7 @@ public class Resource {
}
public void setIncludes(List<String> includes) {
- this.includes = includes;
+ this.includes = includes != null ? includes : new ArrayList<>();
}
public List<String> getExcludes() {
@@ -52,7 +52,7 @@ public class Resource {
}
public void setExcludes(List<String> excludes) {
- this.excludes = excludes;
+ this.excludes = excludes != null ? excludes : new ArrayList<>();
}
/**
@@ -60,11 +60,11 @@ public class Resource {
* even when this resource has {@code <filtering>true</filtering>}. Patterns are matched
* against the relative file path within the resource directory.
*
- * @return the list of non-filtered file glob patterns, or {@code null} if none are configured
+ * @return the list of non-filtered file glob patterns (never {@code null}, may be empty)
* @since 3.4.0
*/
public List<String> getNonFilteredFiles() {
- return nonFilteredFiles == null ? null : Collections.unmodifiableList(nonFilteredFiles);
+ return Collections.unmodifiableList(nonFilteredFiles);
}
/**
@@ -74,7 +74,7 @@ public class Resource {
* @since 3.4.0
*/
public void setNonFilteredFiles(List<String> nonFilteredFiles) {
- this.nonFilteredFiles = nonFilteredFiles;
+ this.nonFilteredFiles = nonFilteredFiles != null ? nonFilteredFiles : new ArrayList<>();
}
/**
@@ -84,9 +84,6 @@ public class Resource {
* @since 3.4.0
*/
public void addNonFilteredFile(String nonFilteredFile) {
- if (nonFilteredFiles == null) {
- nonFilteredFiles = new ArrayList<>();
- }
nonFilteredFiles.add(nonFilteredFile);
}
@@ -123,16 +120,10 @@ public class Resource {
}
public void addInclude(String include) {
- if (includes == null) {
- includes = new ArrayList<>();
- }
includes.add(include);
}
public void addExclude(String exclude) {
- if (excludes == null) {
- excludes = new ArrayList<>();
- }
excludes.add(exclude);
}
}