Skip to content

Commit 82c6e1c

Browse files
committed
#538 switch to non-deprecated ModelInterpolator
1 parent 619d36c commit 82c6e1c

File tree

1 file changed

+37
-38
lines changed

1 file changed

+37
-38
lines changed

src/main/java/org/codehaus/mojo/versions/DisplayPluginUpdatesMojo.java

+37-38
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,17 @@
3636
import org.apache.maven.lifecycle.LifecycleExecutionException;
3737
import org.apache.maven.lifecycle.LifecycleExecutor;
3838
import org.apache.maven.lifecycle.mapping.LifecycleMapping;
39+
import org.apache.maven.model.InputLocation;
3940
import org.apache.maven.model.Model;
4041
import org.apache.maven.model.Plugin;
4142
import org.apache.maven.model.Prerequisites;
4243
import org.apache.maven.model.Profile;
4344
import org.apache.maven.model.ReportPlugin;
45+
import org.apache.maven.model.building.DefaultModelBuildingRequest;
46+
import org.apache.maven.model.building.ModelBuildingRequest;
47+
import org.apache.maven.model.building.ModelProblem.Severity;
48+
import org.apache.maven.model.building.ModelProblemCollector;
49+
import org.apache.maven.model.interpolation.ModelInterpolator;
4450
import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
4551
import org.apache.maven.plugin.InvalidPluginException;
4652
import org.apache.maven.plugin.MojoExecutionException;
@@ -56,8 +62,6 @@
5662
import org.apache.maven.project.DefaultProjectBuilderConfiguration;
5763
import org.apache.maven.project.MavenProject;
5864
import org.apache.maven.project.ProjectBuildingException;
59-
import org.apache.maven.project.interpolation.ModelInterpolationException;
60-
import org.apache.maven.project.interpolation.ModelInterpolator;
6165
import org.apache.maven.settings.Settings;
6266
import org.codehaus.mojo.versions.api.ArtifactVersions;
6367
import org.codehaus.mojo.versions.api.PomHelper;
@@ -716,35 +720,29 @@ private Map<String, String> getParentsPlugins( List<MavenProject> parents )
716720
StringWriter writer = new StringWriter();
717721
boolean havePom = false;
718722
Model interpolatedModel;
723+
724+
Model originalModel = parentProject.getOriginalModel();
725+
if ( originalModel == null )
726+
{
727+
getLog().warn( "project.getOriginalModel()==null for " + parentProject.getGroupId() + ":"
728+
+ parentProject.getArtifactId() + ":" + parentProject.getVersion()
729+
+ " is null, substituting project.getModel()" );
730+
originalModel = parentProject.getModel();
731+
}
719732
try
720733
{
721-
Model originalModel = parentProject.getOriginalModel();
722-
if ( originalModel == null )
723-
{
724-
getLog().warn( "project.getOriginalModel()==null for " + parentProject.getGroupId() + ":"
725-
+ parentProject.getArtifactId() + ":" + parentProject.getVersion()
726-
+ " is null, substituting project.getModel()" );
727-
originalModel = parentProject.getModel();
728-
}
729-
try
730-
{
731-
new MavenXpp3Writer().write( writer, originalModel );
732-
writer.close();
733-
havePom = true;
734-
}
735-
catch ( IOException e )
736-
{
737-
// ignore
738-
}
739-
interpolatedModel =
740-
modelInterpolator.interpolate( originalModel, null,
741-
new DefaultProjectBuilderConfiguration().setExecutionProperties( getProject().getProperties() ),
742-
false );
734+
new MavenXpp3Writer().write( writer, originalModel );
735+
writer.close();
736+
havePom = true;
743737
}
744-
catch ( ModelInterpolationException e )
738+
catch ( IOException e )
745739
{
746-
throw new MojoExecutionException( e.getMessage(), e );
740+
// ignore
747741
}
742+
ModelBuildingRequest modelBuildingRequest = new DefaultModelBuildingRequest();
743+
modelBuildingRequest.setUserProperties(getProject().getProperties());
744+
interpolatedModel = modelInterpolator.interpolateModel( originalModel, null,
745+
modelBuildingRequest, new IgnoringModelProblemCollector() );
748746
if ( havePom )
749747
{
750748
try
@@ -1477,18 +1475,11 @@ private Set<Plugin> getProjectPlugins( Map<String, String> superPomPluginManagem
14771475

14781476
debugVersionMap( "final aggregate version map", excludePluginManagement );
14791477

1480-
Model originalModel;
1481-
try
1482-
{
1483-
originalModel =
1484-
modelInterpolator.interpolate( getProject().getOriginalModel(), getProject().getBasedir(),
1485-
new DefaultProjectBuilderConfiguration().setExecutionProperties( getProject().getProperties() ),
1486-
true );
1487-
}
1488-
catch ( ModelInterpolationException e )
1489-
{
1490-
throw new MojoExecutionException( e.getMessage(), e );
1491-
}
1478+
ModelBuildingRequest modelBuildingRequest = new DefaultModelBuildingRequest();
1479+
modelBuildingRequest.setUserProperties(getProject().getProperties());
1480+
Model originalModel = modelInterpolator.interpolateModel( getProject().getOriginalModel(), getProject().getBasedir(),
1481+
modelBuildingRequest, new IgnoringModelProblemCollector() );
1482+
14921483
try
14931484
{
14941485
addProjectPlugins( plugins, originalModel.getBuild().getPluginManagement().getPlugins(),
@@ -1800,4 +1791,12 @@ private static int compare( ArtifactVersion a, ArtifactVersion b )
18001791
{
18011792
return a.compareTo( b );
18021793
}
1794+
1795+
private static class IgnoringModelProblemCollector implements ModelProblemCollector {
1796+
@Override
1797+
public void add(Severity severity, String message, InputLocation location, Exception cause) {
1798+
// ignore
1799+
}
1800+
}
1801+
18031802
}

0 commit comments

Comments
 (0)