You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2021/07/22 09:24:20 UTC
[maven] branch MNG-6656_Features created (now 3415eff)
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a change to branch MNG-6656_Features
in repository https://gitbox.apache.org/repos/asf/maven.git.
at 3415eff [MNG-6656] Features must use userProperties instead of systemProperties
This branch includes the following new commits:
new 3415eff [MNG-6656] Features must use userProperties instead of systemProperties
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
[maven] 01/01: [MNG-6656] Features must use userProperties instead
of systemProperties
Posted by rf...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
rfscholte pushed a commit to branch MNG-6656_Features
in repository https://gitbox.apache.org/repos/asf/maven.git
commit 3415eff3e40de7298c6910c4da04a85ad3c2bd5f
Author: rfscholte <rf...@apache.org>
AuthorDate: Thu Jul 22 11:24:05 2021 +0200
[MNG-6656] Features must use userProperties instead of systemProperties
---
.../aether/DefaultRepositorySystemSessionFactory.java | 2 +-
.../maven/lifecycle/internal/builder/BuilderCommon.java | 6 ++++--
.../java/org/apache/maven/project/DefaultProjectBuilder.java | 2 +-
.../src/main/java/org/apache/maven/feature/Features.java | 12 ++++++------
.../org/apache/maven/model/building/DefaultModelBuilder.java | 3 ++-
5 files changed, 14 insertions(+), 11 deletions(-)
diff --git a/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java b/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java
index bbefc61..c419f17 100644
--- a/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java
+++ b/maven-core/src/main/java/org/apache/maven/internal/aether/DefaultRepositorySystemSessionFactory.java
@@ -249,7 +249,7 @@ public class DefaultRepositorySystemSessionFactory
mavenRepositorySystem.injectProxy( session, request.getPluginArtifactRepositories() );
mavenRepositorySystem.injectAuthentication( session, request.getPluginArtifactRepositories() );
- if ( Features.buildConsumer().isActive() )
+ if ( Features.buildConsumer( request.getUserProperties() ).isActive() )
{
session.setFileTransformerManager( a -> getTransformersForArtifact( a, session.getData() ) );
}
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderCommon.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderCommon.java
index 14b0ec5..c3aed10 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderCommon.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderCommon.java
@@ -21,6 +21,7 @@ package org.apache.maven.lifecycle.internal.builder;
import java.util.List;
import java.util.Optional;
+import java.util.Properties;
import java.util.Set;
import java.util.stream.Collectors;
@@ -109,7 +110,8 @@ public class BuilderCommon
// With Maven 4's build/consumer the POM will always rewrite during distribution.
// The maven-gpg-plugin uses the original POM, causing an invalid signature.
// Fail as long as there's no solution available yet
- if ( Features.buildConsumer().isActive() )
+ Properties userProperties = session.getUserProperties();
+ if ( Features.buildConsumer( userProperties ).isActive() )
{
Optional<MojoExecution> gpgMojo = executionPlan.getMojoExecutions().stream()
.filter( m -> "maven-gpg-plugin".equals( m.getArtifactId() )
@@ -120,7 +122,7 @@ public class BuilderCommon
{
throw new LifecycleExecutionException( "The maven-gpg-plugin is not supported by Maven 4."
+ " Verify if there is a compatible signing solution,"
- + " add -D" + Features.buildConsumer().propertyName() + "=false"
+ + " add -D" + Features.buildConsumer( userProperties ).propertyName() + "=false"
+ " or use Maven 3." );
}
}
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 12e6e23..3aaf8ee 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
@@ -400,7 +400,7 @@ public class DefaultProjectBuilder
Thread.currentThread().setContextClassLoader( oldContextClassLoader );
}
- if ( Features.buildConsumer().isActive() )
+ if ( Features.buildConsumer( request.getUserProperties() ).isActive() )
{
request.getRepositorySession().getData().set( TransformerContext.KEY,
config.transformerContextBuilder.build() );
diff --git a/maven-model-builder/src/main/java/org/apache/maven/feature/Features.java b/maven-model-builder/src/main/java/org/apache/maven/feature/Features.java
index 979f7b3..47608a6 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/feature/Features.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/feature/Features.java
@@ -19,6 +19,8 @@ package org.apache.maven.feature;
* under the License.
*/
+import java.util.Properties;
+
/**
* Centralized class for feature information
*
@@ -31,11 +33,9 @@ public final class Features
{
}
- private static final Feature BUILDCONSUMER = new Feature( "maven.experimental.buildconsumer", "true" );
-
- public static Feature buildConsumer()
+ public static Feature buildConsumer( Properties userProperties )
{
- return BUILDCONSUMER;
+ return new Feature( userProperties, "maven.experimental.buildconsumer", "true" );
}
/**
@@ -50,10 +50,10 @@ public final class Features
private final String name;
- Feature( String name, String defaultValue )
+ Feature( Properties userProperties, String name, String defaultValue )
{
this.name = name;
- this.active = "true".equals( System.getProperty( name, defaultValue ) );
+ this.active = "true".equals( userProperties.getProperty( name, defaultValue ) );
}
public boolean isActive()
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
index 25e0bc7..213a7bd 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.java
@@ -790,7 +790,8 @@ public class DefaultModelBuilder
}
Model rawModel;
- if ( Features.buildConsumer().isActive() && modelSource instanceof FileModelSource )
+ if ( Features.buildConsumer( request.getUserProperties() ).isActive()
+ && modelSource instanceof FileModelSource )
{
rawModel = readFileModel( request, problems );
File pomFile = ( (FileModelSource) modelSource ).getFile();