|
36 | 36 | import org.apache.maven.lifecycle.LifecycleExecutionException;
|
37 | 37 | import org.apache.maven.lifecycle.LifecycleExecutor;
|
38 | 38 | import org.apache.maven.lifecycle.mapping.LifecycleMapping;
|
| 39 | +import org.apache.maven.model.InputLocation; |
39 | 40 | import org.apache.maven.model.Model;
|
40 | 41 | import org.apache.maven.model.Plugin;
|
41 | 42 | import org.apache.maven.model.Prerequisites;
|
42 | 43 | import org.apache.maven.model.Profile;
|
43 | 44 | 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; |
44 | 50 | import org.apache.maven.model.io.xpp3.MavenXpp3Writer;
|
45 | 51 | import org.apache.maven.plugin.InvalidPluginException;
|
46 | 52 | import org.apache.maven.plugin.MojoExecutionException;
|
|
56 | 62 | import org.apache.maven.project.DefaultProjectBuilderConfiguration;
|
57 | 63 | import org.apache.maven.project.MavenProject;
|
58 | 64 | import org.apache.maven.project.ProjectBuildingException;
|
59 |
| -import org.apache.maven.project.interpolation.ModelInterpolationException; |
60 |
| -import org.apache.maven.project.interpolation.ModelInterpolator; |
61 | 65 | import org.apache.maven.settings.Settings;
|
62 | 66 | import org.codehaus.mojo.versions.api.ArtifactVersions;
|
63 | 67 | import org.codehaus.mojo.versions.api.PomHelper;
|
@@ -716,35 +720,29 @@ private Map<String, String> getParentsPlugins( List<MavenProject> parents )
|
716 | 720 | StringWriter writer = new StringWriter();
|
717 | 721 | boolean havePom = false;
|
718 | 722 | 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 | + } |
719 | 732 | try
|
720 | 733 | {
|
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; |
743 | 737 | }
|
744 |
| - catch ( ModelInterpolationException e ) |
| 738 | + catch ( IOException e ) |
745 | 739 | {
|
746 |
| - throw new MojoExecutionException( e.getMessage(), e ); |
| 740 | + // ignore |
747 | 741 | }
|
| 742 | + ModelBuildingRequest modelBuildingRequest = new DefaultModelBuildingRequest(); |
| 743 | + modelBuildingRequest.setUserProperties(getProject().getProperties()); |
| 744 | + interpolatedModel = modelInterpolator.interpolateModel( originalModel, null, |
| 745 | + modelBuildingRequest, new IgnoringModelProblemCollector() ); |
748 | 746 | if ( havePom )
|
749 | 747 | {
|
750 | 748 | try
|
@@ -1477,18 +1475,11 @@ private Set<Plugin> getProjectPlugins( Map<String, String> superPomPluginManagem
|
1477 | 1475 |
|
1478 | 1476 | debugVersionMap( "final aggregate version map", excludePluginManagement );
|
1479 | 1477 |
|
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 | + |
1492 | 1483 | try
|
1493 | 1484 | {
|
1494 | 1485 | addProjectPlugins( plugins, originalModel.getBuild().getPluginManagement().getPlugins(),
|
@@ -1800,4 +1791,12 @@ private static int compare( ArtifactVersion a, ArtifactVersion b )
|
1800 | 1791 | {
|
1801 | 1792 | return a.compareTo( b );
|
1802 | 1793 | }
|
| 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 | + |
1803 | 1802 | }
|
0 commit comments