You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by mi...@apache.org on 2022/02/19 22:35:22 UTC
[maven] branch master updated: [MNG-7244] Remove deprecated WARNING for usage of pom.X placeholders
This is an automated email from the ASF dual-hosted git repository.
michaelo pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven.git
The following commit(s) were added to refs/heads/master by this push:
new b2a21f1 [MNG-7244] Remove deprecated WARNING for usage of pom.X placeholders
b2a21f1 is described below
commit b2a21f12f8a0598dd4a286177e340bda0148e9ba
Author: Giovanni van der Schelde <Gi...@infosupport.com>
AuthorDate: Tue Feb 1 11:19:10 2022 +0100
[MNG-7244] Remove deprecated WARNING for usage of pom.X placeholders
This closes #678
---
.../AbstractStringBasedModelInterpolator.java | 20 +++++-------
.../AbstractModelInterpolatorTest.java | 37 ++++++++++++++++------
2 files changed, 35 insertions(+), 22 deletions(-)
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/AbstractStringBasedModelInterpolator.java b/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/AbstractStringBasedModelInterpolator.java
index 9fb48a2..50a78be 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/AbstractStringBasedModelInterpolator.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/interpolation/AbstractStringBasedModelInterpolator.java
@@ -21,8 +21,8 @@ package org.apache.maven.model.interpolation;
import java.io.File;
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collection;
+import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Properties;
@@ -52,7 +52,7 @@ import org.codehaus.plexus.interpolation.ValueSource;
public abstract class AbstractStringBasedModelInterpolator
implements ModelInterpolator
{
- private static final List<String> PROJECT_PREFIXES = Arrays.asList( "pom.", "project." );
+ private static final List<String> PROJECT_PREFIXES = Collections.singletonList( "project." );
private static final Collection<String> TRANSLATED_PATH_EXPRESSIONS;
@@ -95,16 +95,12 @@ public abstract class AbstractStringBasedModelInterpolator
{
Properties modelProperties = model.getProperties();
- ValueSource modelValueSource1 = new PrefixedObjectValueSource( PROJECT_PREFIXES, model, false );
+ ValueSource projectPrefixValueSource = new PrefixedObjectValueSource( PROJECT_PREFIXES, model, false );
+ ValueSource prefixlessObjectBasedValueSource = new ObjectBasedValueSource( model );
if ( config.getValidationLevel() >= ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0 )
{
- modelValueSource1 = new ProblemDetectingValueSource( modelValueSource1, "pom.", "project.", problems );
- }
-
- ValueSource modelValueSource2 = new ObjectBasedValueSource( model );
- if ( config.getValidationLevel() >= ModelBuildingRequest.VALIDATION_LEVEL_MAVEN_2_0 )
- {
- modelValueSource2 = new ProblemDetectingValueSource( modelValueSource2, "", "project.", problems );
+ prefixlessObjectBasedValueSource =
+ new ProblemDetectingValueSource( prefixlessObjectBasedValueSource, "", "project.", problems );
}
// NOTE: Order counts here!
@@ -142,7 +138,7 @@ public abstract class AbstractStringBasedModelInterpolator
valueSources.add( new BuildTimestampValueSource( config.getBuildStartTime(), modelProperties ) );
}
- valueSources.add( modelValueSource1 );
+ valueSources.add( projectPrefixValueSource );
valueSources.add( new MapBasedValueSource( config.getUserProperties() ) );
@@ -163,7 +159,7 @@ public abstract class AbstractStringBasedModelInterpolator
}
} );
- valueSources.add( modelValueSource2 );
+ valueSources.add( prefixlessObjectBasedValueSource );
return valueSources;
}
diff --git a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/AbstractModelInterpolatorTest.java b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/AbstractModelInterpolatorTest.java
index 032ef28..e4a7af3 100644
--- a/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/AbstractModelInterpolatorTest.java
+++ b/maven-model-builder/src/test/java/org/apache/maven/model/interpolation/AbstractModelInterpolatorTest.java
@@ -176,7 +176,7 @@ public abstract class AbstractModelInterpolatorTest
final SimpleProblemCollector collector = new SimpleProblemCollector();
interpolator.interpolateModel( model, null, createModelBuildingRequest( context ), collector );
- assertCollectorState( 0, 1, 0, collector );
+ assertCollectorState( 0, 1, 0, collector );
}
@Test
@@ -208,7 +208,7 @@ public abstract class AbstractModelInterpolatorTest
String orgName = "MyCo";
Model model = new Model();
- model.setName( "${pom.organization.name} Tools" );
+ model.setName( "${project.organization.name} Tools" );
Organization org = new Organization();
org.setName( orgName );
@@ -427,22 +427,17 @@ public abstract class AbstractModelInterpolatorTest
build.addResource( res );
Resource res2 = new Resource();
- res2.setDirectory( "${pom.build.sourceDirectory}" );
+ res2.setDirectory( "${build.sourceDirectory}" );
build.addResource( res2 );
- Resource res3 = new Resource();
- res3.setDirectory( "${build.sourceDirectory}" );
-
- build.addResource( res3 );
-
model.setBuild( build );
ModelInterpolator interpolator = createInterpolator();
final SimpleProblemCollector collector = new SimpleProblemCollector();
Model out = interpolator.interpolateModel( model, null, createModelBuildingRequest( context ), collector );
- assertCollectorState( 0, 0, 2, collector );
+ assertCollectorState( 0, 0, 1, collector );
List<Resource> outResources = out.getBuild().getResources();
@@ -450,7 +445,6 @@ public abstract class AbstractModelInterpolatorTest
assertEquals( build.getSourceDirectory(), resIt.next().getDirectory() );
assertEquals( build.getSourceDirectory(), resIt.next().getDirectory() );
- assertEquals( build.getSourceDirectory(), resIt.next().getDirectory() );
}
@Test
@@ -517,6 +511,29 @@ public abstract class AbstractModelInterpolatorTest
collector.getErrors().get( 0 ) );
}
+ @Test
+ public void shouldIgnorePropertiesWithPomPrefix() throws Exception
+ {
+ final String orgName = "MyCo";
+ final String expectedName = "${pom.organization.name} Tools";
+
+ Model model = new Model();
+ model.setName( expectedName );
+
+ Organization org = new Organization();
+ org.setName( orgName );
+
+ model.setOrganization( org );
+
+ ModelInterpolator interpolator = createInterpolator();
+ SimpleProblemCollector collector = new SimpleProblemCollector();
+ Model out = interpolator.interpolateModel( model, null, createModelBuildingRequest( context ),
+ collector );
+
+ assertCollectorState( 0, 0, 0, collector );
+ assertEquals( out.getName(), expectedName );
+ }
+
protected abstract ModelInterpolator createInterpolator() throws Exception;
}