[MNG-6164] Collections inconsistently immutable Make non-empty collections returned immutable just like those returned by java.util.Collections.
Project: http://git-wip-us.apache.org/repos/asf/maven/repo Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/0d4020ab Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/0d4020ab Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/0d4020ab Branch: refs/heads/MNG-6164 Commit: 0d4020ab8a6e85f4e8869a46557c19c75cb8bfd4 Parents: cd34b08 Author: Christian Schulte <schu...@apache.org> Authored: Mon Dec 14 04:57:47 2015 +0100 Committer: Karl Heinz Marbaise <khmarba...@apache.org> Committed: Sat Feb 17 20:59:25 2018 +0100 ---------------------------------------------------------------------- .../apache/maven/artifact/DefaultArtifact.java | 2 +- .../maven/artifact/versioning/VersionRange.java | 2 +- .../repository/DefaultArtifactRepository.java | 2 +- .../repository/MetadataResolutionResult.java | 27 ++++++++++++++------ .../repository/MavenArtifactRepository.java | 2 +- .../resolver/ArtifactResolutionResult.java | 27 ++++++++++++++------ .../maven/artifact/resolver/ResolutionNode.java | 1 + .../maven/exception/ExceptionSummary.java | 5 +++- .../execution/DefaultMavenExecutionResult.java | 6 +++-- .../maven/lifecycle/internal/MojoExecutor.java | 18 +++++++------ .../internal/DefaultMavenPluginManager.java | 2 +- .../prefix/DefaultPluginPrefixRequest.java | 4 +-- .../version/DefaultPluginVersionRequest.java | 2 +- .../DefaultDependencyResolutionResult.java | 5 +++- .../maven/project/DefaultProjectBuilder.java | 5 ++-- .../maven/project/DefaultProjectRealmCache.java | 4 ++- .../org/apache/maven/project/MavenProject.java | 19 +++++++------- .../maven/project/artifact/ProjectArtifact.java | 7 +++-- .../java/org/apache/maven/cli/MavenCli.java | 4 ++- .../model/building/ModelBuildingException.java | 2 +- 20 files changed, 93 insertions(+), 53 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven/blob/0d4020ab/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java ---------------------------------------------------------------------- diff --git a/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java b/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java index 1167e91..3fa1907 100644 --- a/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java +++ b/maven-artifact/src/main/java/org/apache/maven/artifact/DefaultArtifact.java @@ -273,7 +273,7 @@ public class DefaultArtifact return Collections.emptyList(); } - return metadataMap.values(); + return Collections.unmodifiableCollection( metadataMap.values() ); } // ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven/blob/0d4020ab/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java ---------------------------------------------------------------------- diff --git a/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java b/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java index 56343b2..e919621 100644 --- a/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java +++ b/maven-artifact/src/main/java/org/apache/maven/artifact/versioning/VersionRange.java @@ -262,7 +262,7 @@ public class VersionRange } else { - restrictions = intersection( r1, r2 ); + restrictions = Collections.unmodifiableList( intersection( r1, r2 ) ); } ArtifactVersion version = null; http://git-wip-us.apache.org/repos/asf/maven/blob/0d4020ab/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java ---------------------------------------------------------------------- diff --git a/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java b/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java index f5db5ef..16b82c5 100644 --- a/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java +++ b/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java @@ -256,7 +256,7 @@ public class DefaultArtifactRepository { if ( mirroredRepositories != null ) { - this.mirroredRepositories = mirroredRepositories; + this.mirroredRepositories = Collections.unmodifiableList( mirroredRepositories ); } else { http://git-wip-us.apache.org/repos/asf/maven/blob/0d4020ab/maven-compat/src/main/java/org/apache/maven/repository/MetadataResolutionResult.java ---------------------------------------------------------------------- diff --git a/maven-compat/src/main/java/org/apache/maven/repository/MetadataResolutionResult.java b/maven-compat/src/main/java/org/apache/maven/repository/MetadataResolutionResult.java index 70b9c3f..7be1d96 100644 --- a/maven-compat/src/main/java/org/apache/maven/repository/MetadataResolutionResult.java +++ b/maven-compat/src/main/java/org/apache/maven/repository/MetadataResolutionResult.java @@ -118,7 +118,10 @@ public class MetadataResolutionResult public List<Artifact> getMissingArtifacts() { - return missingArtifacts == null ? Collections.<Artifact>emptyList() : missingArtifacts; + return missingArtifacts == null + ? Collections.<Artifact>emptyList() + : Collections.unmodifiableList( missingArtifacts ); + } public MetadataResolutionResult addMissingArtifact( Artifact artifact ) @@ -148,7 +151,10 @@ public class MetadataResolutionResult public List<Exception> getExceptions() { - return exceptions == null ? Collections.<Exception>emptyList() : exceptions; + return exceptions == null + ? Collections.<Exception>emptyList() + : Collections.unmodifiableList( exceptions ); + } // ------------------------------------------------------------------------ @@ -185,7 +191,10 @@ public class MetadataResolutionResult public List<Exception> getVersionRangeViolations() { - return versionRangeViolations == null ? Collections.<Exception>emptyList() : versionRangeViolations; + return versionRangeViolations == null + ? Collections.<Exception>emptyList() + : Collections.unmodifiableList( versionRangeViolations ); + } // ------------------------------------------------------------------------ @@ -217,8 +226,10 @@ public class MetadataResolutionResult public List<ArtifactResolutionException> getMetadataResolutionExceptions() { - return metadataResolutionExceptions == null ? Collections.<ArtifactResolutionException>emptyList() - : metadataResolutionExceptions; + return metadataResolutionExceptions == null + ? Collections.<ArtifactResolutionException>emptyList() + : Collections.unmodifiableList( metadataResolutionExceptions ); + } // ------------------------------------------------------------------------ @@ -246,7 +257,7 @@ public class MetadataResolutionResult return Collections.emptyList(); } - return errorArtifactExceptions; + return Collections.unmodifiableList( errorArtifactExceptions ); } // ------------------------------------------------------------------------ @@ -283,7 +294,7 @@ public class MetadataResolutionResult return Collections.emptyList(); } - return circularDependencyExceptions; + return Collections.unmodifiableList( circularDependencyExceptions ); } // ------------------------------------------------------------------------ @@ -297,7 +308,7 @@ public class MetadataResolutionResult return Collections.emptyList(); } - return repositories; + return Collections.unmodifiableList( repositories ); } public MetadataResolutionResult setRepositories( final List<ArtifactRepository> repositories ) http://git-wip-us.apache.org/repos/asf/maven/blob/0d4020ab/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java ---------------------------------------------------------------------- diff --git a/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java b/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java index d4c64f0..f04007e 100644 --- a/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java +++ b/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java @@ -405,7 +405,7 @@ public class MavenArtifactRepository { if ( mirroredRepositories != null ) { - this.mirroredRepositories = mirroredRepositories; + this.mirroredRepositories = Collections.unmodifiableList( mirroredRepositories ); } else { http://git-wip-us.apache.org/repos/asf/maven/blob/0d4020ab/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java ---------------------------------------------------------------------- diff --git a/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java b/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java index 6de04f3..ffae1d3 100644 --- a/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java +++ b/maven-core/src/main/java/org/apache/maven/artifact/resolver/ArtifactResolutionResult.java @@ -130,7 +130,10 @@ public class ArtifactResolutionResult public List<Artifact> getMissingArtifacts() { - return missingArtifacts == null ? Collections.<Artifact>emptyList() : missingArtifacts; + return missingArtifacts == null + ? Collections.<Artifact>emptyList() + : Collections.unmodifiableList( missingArtifacts ); + } public ArtifactResolutionResult addMissingArtifact( Artifact artifact ) @@ -165,7 +168,10 @@ public class ArtifactResolutionResult public List<Exception> getExceptions() { - return exceptions == null ? Collections.<Exception>emptyList() : exceptions; + return exceptions == null + ? Collections.<Exception>emptyList() + : Collections.unmodifiableList( exceptions ); + } // ------------------------------------------------------------------------ @@ -202,7 +208,10 @@ public class ArtifactResolutionResult public List<Exception> getVersionRangeViolations() { - return versionRangeViolations == null ? Collections.<Exception>emptyList() : versionRangeViolations; + return versionRangeViolations == null + ? Collections.<Exception>emptyList() + : Collections.unmodifiableList( versionRangeViolations ); + } // ------------------------------------------------------------------------ @@ -234,8 +243,10 @@ public class ArtifactResolutionResult public List<ArtifactResolutionException> getMetadataResolutionExceptions() { - return metadataResolutionExceptions == null ? Collections.<ArtifactResolutionException>emptyList() - : metadataResolutionExceptions; + return metadataResolutionExceptions == null + ? Collections.<ArtifactResolutionException>emptyList() + : Collections.unmodifiableList( metadataResolutionExceptions ); + } // ------------------------------------------------------------------------ @@ -267,7 +278,7 @@ public class ArtifactResolutionResult return Collections.emptyList(); } - return errorArtifactExceptions; + return Collections.unmodifiableList( errorArtifactExceptions ); } // ------------------------------------------------------------------------ @@ -304,7 +315,7 @@ public class ArtifactResolutionResult return Collections.emptyList(); } - return circularDependencyExceptions; + return Collections.unmodifiableList( circularDependencyExceptions ); } // ------------------------------------------------------------------------ @@ -318,7 +329,7 @@ public class ArtifactResolutionResult return Collections.emptyList(); } - return repositories; + return Collections.unmodifiableList( repositories ); } public ArtifactResolutionResult setRepositories( final List<ArtifactRepository> repositories ) http://git-wip-us.apache.org/repos/asf/maven/blob/0d4020ab/maven-core/src/main/java/org/apache/maven/artifact/resolver/ResolutionNode.java ---------------------------------------------------------------------- diff --git a/maven-core/src/main/java/org/apache/maven/artifact/resolver/ResolutionNode.java b/maven-core/src/main/java/org/apache/maven/artifact/resolver/ResolutionNode.java index a156871..8e47d2e 100644 --- a/maven-core/src/main/java/org/apache/maven/artifact/resolver/ResolutionNode.java +++ b/maven-core/src/main/java/org/apache/maven/artifact/resolver/ResolutionNode.java @@ -102,6 +102,7 @@ public class ResolutionNode children.add( new ResolutionNode( a, remoteRepositories, this ) ); } + children = Collections.unmodifiableList( children ); } else { http://git-wip-us.apache.org/repos/asf/maven/blob/0d4020ab/maven-core/src/main/java/org/apache/maven/exception/ExceptionSummary.java ---------------------------------------------------------------------- diff --git a/maven-core/src/main/java/org/apache/maven/exception/ExceptionSummary.java b/maven-core/src/main/java/org/apache/maven/exception/ExceptionSummary.java index dcc376a..6615af6 100644 --- a/maven-core/src/main/java/org/apache/maven/exception/ExceptionSummary.java +++ b/maven-core/src/main/java/org/apache/maven/exception/ExceptionSummary.java @@ -53,7 +53,10 @@ public class ExceptionSummary this.exception = exception; this.message = ( message != null ) ? message : ""; this.reference = ( reference != null ) ? reference : ""; - this.children = ( children != null ) ? children : Collections.<ExceptionSummary>emptyList(); + this.children = ( children != null ) + ? Collections.unmodifiableList( children ) + : Collections.<ExceptionSummary>emptyList(); + } public Throwable getException() http://git-wip-us.apache.org/repos/asf/maven/blob/0d4020ab/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionResult.java ---------------------------------------------------------------------- diff --git a/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionResult.java b/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionResult.java index 87d8676..112a064 100644 --- a/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionResult.java +++ b/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionResult.java @@ -64,8 +64,10 @@ public class DefaultMavenExecutionResult public List<MavenProject> getTopologicallySortedProjects() { - return null == topologicallySortedProjects ? Collections.<MavenProject>emptyList() - : topologicallySortedProjects; + return null == topologicallySortedProjects + ? Collections.<MavenProject>emptyList() + : Collections.unmodifiableList( topologicallySortedProjects ); + } public DependencyResolutionResult getDependencyResolutionResult() http://git-wip-us.apache.org/repos/asf/maven/blob/0d4020ab/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoExecutor.java ---------------------------------------------------------------------- diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoExecutor.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoExecutor.java index 766aed1..b78f54d 100644 --- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoExecutor.java +++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoExecutor.java @@ -105,32 +105,34 @@ public class MojoExecutor private Collection<String> toScopes( String classpath ) { + Collection<String> scopes = Collections.emptyList(); + if ( StringUtils.isNotEmpty( classpath ) ) { if ( Artifact.SCOPE_COMPILE.equals( classpath ) ) { - return Arrays.asList( Artifact.SCOPE_COMPILE, Artifact.SCOPE_SYSTEM, Artifact.SCOPE_PROVIDED ); + scopes = Arrays.asList( Artifact.SCOPE_COMPILE, Artifact.SCOPE_SYSTEM, Artifact.SCOPE_PROVIDED ); } else if ( Artifact.SCOPE_RUNTIME.equals( classpath ) ) { - return Arrays.asList( Artifact.SCOPE_COMPILE, Artifact.SCOPE_RUNTIME ); + scopes = Arrays.asList( Artifact.SCOPE_COMPILE, Artifact.SCOPE_RUNTIME ); } else if ( Artifact.SCOPE_COMPILE_PLUS_RUNTIME.equals( classpath ) ) { - return Arrays.asList( Artifact.SCOPE_COMPILE, Artifact.SCOPE_SYSTEM, Artifact.SCOPE_PROVIDED, - Artifact.SCOPE_RUNTIME ); + scopes = Arrays.asList( Artifact.SCOPE_COMPILE, Artifact.SCOPE_SYSTEM, Artifact.SCOPE_PROVIDED, + Artifact.SCOPE_RUNTIME ); } else if ( Artifact.SCOPE_RUNTIME_PLUS_SYSTEM.equals( classpath ) ) { - return Arrays.asList( Artifact.SCOPE_COMPILE, Artifact.SCOPE_SYSTEM, Artifact.SCOPE_RUNTIME ); + scopes = Arrays.asList( Artifact.SCOPE_COMPILE, Artifact.SCOPE_SYSTEM, Artifact.SCOPE_RUNTIME ); } else if ( Artifact.SCOPE_TEST.equals( classpath ) ) { - return Arrays.asList( Artifact.SCOPE_COMPILE, Artifact.SCOPE_SYSTEM, Artifact.SCOPE_PROVIDED, - Artifact.SCOPE_RUNTIME, Artifact.SCOPE_TEST ); + scopes = Arrays.asList( Artifact.SCOPE_COMPILE, Artifact.SCOPE_SYSTEM, Artifact.SCOPE_PROVIDED, + Artifact.SCOPE_RUNTIME, Artifact.SCOPE_TEST ); } } - return Collections.emptyList(); + return Collections.unmodifiableCollection( scopes ); } public void execute( MavenSession session, List<MojoExecution> mojoExecutions, ProjectIndex projectIndex ) http://git-wip-us.apache.org/repos/asf/maven/blob/0d4020ab/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java ---------------------------------------------------------------------- diff --git a/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java b/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java index 34b3b17..54fa5c0 100644 --- a/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java +++ b/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java @@ -460,7 +460,7 @@ public class DefaultMavenPluginManager it.remove(); } } - return artifacts; + return Collections.unmodifiableList( artifacts ); } private Map<String, ClassLoader> calcImports( MavenProject project, ClassLoader parent, List<String> imports ) http://git-wip-us.apache.org/repos/asf/maven/blob/0d4020ab/maven-core/src/main/java/org/apache/maven/plugin/prefix/DefaultPluginPrefixRequest.java ---------------------------------------------------------------------- diff --git a/maven-core/src/main/java/org/apache/maven/plugin/prefix/DefaultPluginPrefixRequest.java b/maven-core/src/main/java/org/apache/maven/plugin/prefix/DefaultPluginPrefixRequest.java index 7ab86cf..01194c8 100644 --- a/maven-core/src/main/java/org/apache/maven/plugin/prefix/DefaultPluginPrefixRequest.java +++ b/maven-core/src/main/java/org/apache/maven/plugin/prefix/DefaultPluginPrefixRequest.java @@ -100,7 +100,7 @@ public class DefaultPluginPrefixRequest { if ( pluginGroups != null ) { - this.pluginGroups = pluginGroups; + this.pluginGroups = Collections.unmodifiableList( pluginGroups ); } else { @@ -131,7 +131,7 @@ public class DefaultPluginPrefixRequest { if ( repositories != null ) { - this.repositories = repositories; + this.repositories = Collections.unmodifiableList( repositories ); } else { http://git-wip-us.apache.org/repos/asf/maven/blob/0d4020ab/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionRequest.java ---------------------------------------------------------------------- diff --git a/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionRequest.java b/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionRequest.java index 9907066..57f4250 100644 --- a/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionRequest.java +++ b/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionRequest.java @@ -140,7 +140,7 @@ public class DefaultPluginVersionRequest { if ( repositories != null ) { - this.repositories = repositories; + this.repositories = Collections.unmodifiableList( repositories ); } else { http://git-wip-us.apache.org/repos/asf/maven/blob/0d4020ab/maven-core/src/main/java/org/apache/maven/project/DefaultDependencyResolutionResult.java ---------------------------------------------------------------------- diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultDependencyResolutionResult.java b/maven-core/src/main/java/org/apache/maven/project/DefaultDependencyResolutionResult.java index dbdf252..509e8b4 100644 --- a/maven-core/src/main/java/org/apache/maven/project/DefaultDependencyResolutionResult.java +++ b/maven-core/src/main/java/org/apache/maven/project/DefaultDependencyResolutionResult.java @@ -98,7 +98,10 @@ class DefaultDependencyResolutionResult public List<Exception> getResolutionErrors( Dependency dependency ) { List<Exception> errors = resolutionErrors.get( dependency ); - return ( errors != null ) ? errors : Collections.<Exception>emptyList(); + return ( errors != null ) + ? Collections.unmodifiableList( errors ) + : Collections.<Exception>emptyList(); + } public void setResolutionErrors( Dependency dependency, List<Exception> errors ) http://git-wip-us.apache.org/repos/asf/maven/blob/0d4020ab/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java ---------------------------------------------------------------------- diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java index 279399a..0e7bc16 100644 --- a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java +++ b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java @@ -809,6 +809,7 @@ public class DefaultProjectBuilder map.put( d.getManagementKey(), artifact ); } } + map = Collections.unmodifiableMap( map ); } else { @@ -939,9 +940,9 @@ public class DefaultProjectBuilder private final List<RemoteRepository> repositories; - private final ReactorModelPool modelPool; + public final ReactorModelPool modelPool; - private final ReactorModelCache modelCache; + public final ReactorModelCache modelCache; InternalConfig( ProjectBuildingRequest request, ReactorModelPool modelPool, ReactorModelCache modelCache ) { http://git-wip-us.apache.org/repos/asf/maven/blob/0d4020ab/maven-core/src/main/java/org/apache/maven/project/DefaultProjectRealmCache.java ---------------------------------------------------------------------- diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectRealmCache.java b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectRealmCache.java index a14e624..15681b6 100644 --- a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectRealmCache.java +++ b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectRealmCache.java @@ -51,7 +51,9 @@ public class DefaultProjectRealmCache public CacheKey( List<? extends ClassRealm> extensionRealms ) { - this.extensionRealms = ( extensionRealms != null ) ? extensionRealms : Collections.<ClassRealm>emptyList(); + this.extensionRealms = ( extensionRealms != null ) + ? Collections.unmodifiableList( extensionRealms ) + : Collections.<ClassRealm>emptyList(); this.hashCode = this.extensionRealms.hashCode(); } http://git-wip-us.apache.org/repos/asf/maven/blob/0d4020ab/maven-core/src/main/java/org/apache/maven/project/MavenProject.java ---------------------------------------------------------------------- diff --git a/maven-core/src/main/java/org/apache/maven/project/MavenProject.java b/maven-core/src/main/java/org/apache/maven/project/MavenProject.java index 80a5193..7b9aead 100644 --- a/maven-core/src/main/java/org/apache/maven/project/MavenProject.java +++ b/maven-core/src/main/java/org/apache/maven/project/MavenProject.java @@ -778,7 +778,7 @@ public class MavenProject { return Collections.emptyList(); } - return getModel().getBuild().getPlugins(); + return Collections.unmodifiableList( getModel().getBuild().getPlugins() ); } public List<String> getModules() @@ -1079,7 +1079,7 @@ public class MavenProject } else { - return build.getExtensions(); + return Collections.unmodifiableList( build.getExtensions() ); } } @@ -1604,7 +1604,7 @@ public class MavenProject { // TODO let the scope handler deal with this if ( Artifact.SCOPE_COMPILE.equals( a.getScope() ) || Artifact.SCOPE_PROVIDED.equals( a.getScope() ) - || Artifact.SCOPE_SYSTEM.equals( a.getScope() ) ) + || Artifact.SCOPE_SYSTEM.equals( a.getScope() ) ) { Dependency dependency = new Dependency(); @@ -1618,7 +1618,7 @@ public class MavenProject list.add( dependency ); } } - return list; + return Collections.unmodifiableList( list ); } @Deprecated @@ -1662,7 +1662,7 @@ public class MavenProject list.add( dependency ); } - return list; + return Collections.unmodifiableList( list ); } @Deprecated // used by the Maven ITs @@ -1677,7 +1677,7 @@ public class MavenProject List<Dependency> list = new ArrayList<>( artifacts.size() ); - for ( Artifact a : getArtifacts() ) + for ( Artifact a : getArtifacts() ) { // TODO let the scope handler deal with this if ( Artifact.SCOPE_COMPILE.equals( a.getScope() ) || Artifact.SCOPE_RUNTIME.equals( a.getScope() ) ) @@ -1694,7 +1694,7 @@ public class MavenProject list.add( dependency ); } } - return list; + return Collections.unmodifiableList( list ); } @Deprecated @@ -1790,7 +1790,7 @@ public class MavenProject list.add( dependency ); } } - return list; + return Collections.unmodifiableList( list ); } @Deprecated @@ -1862,8 +1862,7 @@ public class MavenProject { return Collections.emptyList(); } - return getModel().getReporting().getPlugins(); - + return Collections.unmodifiableList( getModel().getReporting().getPlugins() ); } @Deprecated http://git-wip-us.apache.org/repos/asf/maven/blob/0d4020ab/maven-core/src/main/java/org/apache/maven/project/artifact/ProjectArtifact.java ---------------------------------------------------------------------- diff --git a/maven-core/src/main/java/org/apache/maven/project/artifact/ProjectArtifact.java b/maven-core/src/main/java/org/apache/maven/project/artifact/ProjectArtifact.java index 8556a6a..46e56dc 100644 --- a/maven-core/src/main/java/org/apache/maven/project/artifact/ProjectArtifact.java +++ b/maven-core/src/main/java/org/apache/maven/project/artifact/ProjectArtifact.java @@ -58,8 +58,11 @@ public class ProjectArtifact public List<Dependency> getManagedDependencies() { - DependencyManagement depMgmt = project.getDependencyManagement(); - return ( depMgmt != null ) ? depMgmt.getDependencies() : Collections.<Dependency>emptyList(); + DependencyManagement depMngt = project.getDependencyManagement(); + return ( depMngt != null ) + ? Collections.unmodifiableList( depMngt.getDependencies() ) + : Collections.<Dependency>emptyList(); + } static class PomArtifactHandler http://git-wip-us.apache.org/repos/asf/maven/blob/0d4020ab/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java ---------------------------------------------------------------------- diff --git a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java index c7e5d9e..c3eeb90 100644 --- a/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java +++ b/maven-embedder/src/main/java/org/apache/maven/cli/MavenCli.java @@ -752,7 +752,9 @@ public class MavenCli BootstrapCoreExtensionManager resolver = container.lookup( BootstrapCoreExtensionManager.class ); - return resolver.loadCoreExtensions( request, providedArtifacts, extensions ); + return Collections.unmodifiableList( resolver.loadCoreExtensions( request, providedArtifacts, + extensions ) ); + } finally { http://git-wip-us.apache.org/repos/asf/maven/blob/0d4020ab/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingException.java ---------------------------------------------------------------------- diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingException.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingException.java index 434cb59..b527438 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingException.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingException.java @@ -136,7 +136,7 @@ public class ModelBuildingException { return Collections.emptyList(); } - return result.getProblems(); + return Collections.unmodifiableList( result.getProblems() ); } private static String toMessage( ModelBuildingResult result )