From 69f09fe32bcf7808d483d40e2c8367097f786e02 Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Wed, 4 Jan 2023 11:16:15 +0100 Subject: [PATCH 1/5] [MNG-7642] Restore compatibility with flatten-maven-plugin Revert "[MNG-7505] Remove ReportingConverter (#906)" This reverts commit adf89ef63ffca07e490f5cc550f9411bad1a7bd6. --- .../model/building/DefaultModelBuilder.java | 10 +++++ .../building/DefaultModelBuilderFactory.java | 13 ++++++ .../plugin/DefaultReportingConverter.java | 41 ++++++++++++++++++ .../model/plugin/ReportingConverter.java | 42 +++++++++++++++++++ 4 files changed, 106 insertions(+) create mode 100644 maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultReportingConverter.java create mode 100644 maven-model-builder/src/main/java/org/apache/maven/model/plugin/ReportingConverter.java 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 2b3b5f102a79..d4c8cbde0502 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 @@ -76,6 +76,7 @@ import org.apache.maven.model.plugin.LifecycleBindingsInjector; import org.apache.maven.model.plugin.PluginConfigurationExpander; import org.apache.maven.model.plugin.ReportConfigurationExpander; +import org.apache.maven.model.plugin.ReportingConverter; import org.apache.maven.model.profile.DefaultProfileActivationContext; import org.apache.maven.model.profile.ProfileActivationContext; import org.apache.maven.model.profile.ProfileInjector; @@ -625,6 +626,15 @@ public DefaultModelBuilder setProfileActivationFilePathInterpolator( versionProcessor); } + /** + * @deprecated since Maven 4 + * @see DefaultModelBuilderFactory#setReportingConverter(ReportingConverter) + */ + @Deprecated + public DefaultModelBuilder setReportingConverter(ReportingConverter reportingConverter) { + return this; + } + @Override public DefaultTransformerContextBuilder newTransformerContextBuilder() { return new DefaultTransformerContextBuilder(); diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilderFactory.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilderFactory.java index bf573541a0fb..592d6e80a9d8 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilderFactory.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilderFactory.java @@ -50,9 +50,11 @@ import org.apache.maven.model.path.UrlNormalizer; import org.apache.maven.model.plugin.DefaultPluginConfigurationExpander; import org.apache.maven.model.plugin.DefaultReportConfigurationExpander; +import org.apache.maven.model.plugin.DefaultReportingConverter; import org.apache.maven.model.plugin.LifecycleBindingsInjector; import org.apache.maven.model.plugin.PluginConfigurationExpander; import org.apache.maven.model.plugin.ReportConfigurationExpander; +import org.apache.maven.model.plugin.ReportingConverter; import org.apache.maven.model.profile.DefaultProfileInjector; import org.apache.maven.model.profile.DefaultProfileSelector; import org.apache.maven.model.profile.ProfileInjector; @@ -95,6 +97,7 @@ public class DefaultModelBuilderFactory { private LifecycleBindingsInjector lifecycleBindingsInjector; private PluginConfigurationExpander pluginConfigurationExpander; private ReportConfigurationExpander reportConfigurationExpander; + private ReportingConverter reportingConverter; private ProfileActivationFilePathInterpolator profileActivationFilePathInterpolator; private ModelVersionProcessor versionProcessor; @@ -183,6 +186,11 @@ public DefaultModelBuilderFactory setReportConfigurationExpander( return this; } + public DefaultModelBuilderFactory setReportingConverter(ReportingConverter reportingConverter) { + this.reportingConverter = reportingConverter; + return this; + } + public DefaultModelBuilderFactory setProfileActivationFilePathInterpolator( ProfileActivationFilePathInterpolator profileActivationFilePathInterpolator) { this.profileActivationFilePathInterpolator = profileActivationFilePathInterpolator; @@ -294,6 +302,11 @@ protected ReportConfigurationExpander newReportConfigurationExpander() { return new DefaultReportConfigurationExpander(); } + @Deprecated + protected ReportingConverter newReportingConverter() { + return new DefaultReportingConverter(); + } + private ModelSourceTransformer newModelSourceTransformer() { return new DefaultModelSourceTransformer(); } diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultReportingConverter.java b/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultReportingConverter.java new file mode 100644 index 000000000000..ba8ebee6c9e7 --- /dev/null +++ b/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultReportingConverter.java @@ -0,0 +1,41 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.maven.model.plugin; + +import javax.inject.Named; +import javax.inject.Singleton; + +import org.apache.maven.model.Model; +import org.apache.maven.model.building.ModelBuildingRequest; +import org.apache.maven.model.building.ModelProblemCollector; + +/** + * Handles conversion of the <reporting> section into the configuration of Maven Site Plugin 3.x, + * i.e. reportPlugins and outputDirectory parameters. + * + * @author Benjamin Bentmann + */ +@Named +@Singleton +@Deprecated +public class DefaultReportingConverter implements ReportingConverter { + + @Override + public void convertReporting(Model model, ModelBuildingRequest request, ModelProblemCollector problems) {} +} diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/plugin/ReportingConverter.java b/maven-model-builder/src/main/java/org/apache/maven/model/plugin/ReportingConverter.java new file mode 100644 index 000000000000..5c02a5e9efb7 --- /dev/null +++ b/maven-model-builder/src/main/java/org/apache/maven/model/plugin/ReportingConverter.java @@ -0,0 +1,42 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.maven.model.plugin; + +import org.apache.maven.model.Model; +import org.apache.maven.model.building.ModelBuildingRequest; +import org.apache.maven.model.building.ModelProblemCollector; + +/** + * Handles conversion of the <reporting> section into the configuration of Maven Site Plugin 3.x, + * i.e. reportPlugins and outputDirectory parameters. + * + * @author Benjamin Bentmann + */ +@Deprecated +public interface ReportingConverter { + + /** + * Converts values from model's reporting section into the configuration for Maven Site Plugin 3.x. + * + * @param model The model whose reporting section should be converted, must not be null. + * @param request The model building request that holds further settings, must not be {@code null}. + * @param problems The container used to collect problems that were encountered, must not be {@code null}. + */ + void convertReporting(Model model, ModelBuildingRequest request, ModelProblemCollector problems); +} From 0c6b70bfe36fba11db7d2809bdd27c009f0aad2c Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Wed, 4 Jan 2023 11:47:16 +0100 Subject: [PATCH 2/5] Add some comment about deprecation and remove the unused field --- .../maven/model/building/DefaultModelBuilderFactory.java | 3 +-- .../apache/maven/model/plugin/DefaultReportingConverter.java | 1 + .../java/org/apache/maven/model/plugin/ReportingConverter.java | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilderFactory.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilderFactory.java index 592d6e80a9d8..3ddecdc5700d 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilderFactory.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilderFactory.java @@ -97,7 +97,6 @@ public class DefaultModelBuilderFactory { private LifecycleBindingsInjector lifecycleBindingsInjector; private PluginConfigurationExpander pluginConfigurationExpander; private ReportConfigurationExpander reportConfigurationExpander; - private ReportingConverter reportingConverter; private ProfileActivationFilePathInterpolator profileActivationFilePathInterpolator; private ModelVersionProcessor versionProcessor; @@ -186,8 +185,8 @@ public DefaultModelBuilderFactory setReportConfigurationExpander( return this; } + @Deprecated public DefaultModelBuilderFactory setReportingConverter(ReportingConverter reportingConverter) { - this.reportingConverter = reportingConverter; return this; } diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultReportingConverter.java b/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultReportingConverter.java index ba8ebee6c9e7..bf685d08010c 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultReportingConverter.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultReportingConverter.java @@ -30,6 +30,7 @@ * i.e. reportPlugins and outputDirectory parameters. * * @author Benjamin Bentmann + * @deprecated since maven 4.0, this class is not used anymore and is only here for compatibility */ @Named @Singleton diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/plugin/ReportingConverter.java b/maven-model-builder/src/main/java/org/apache/maven/model/plugin/ReportingConverter.java index 5c02a5e9efb7..b3104a2dc27b 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/plugin/ReportingConverter.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/plugin/ReportingConverter.java @@ -27,6 +27,7 @@ * i.e. reportPlugins and outputDirectory parameters. * * @author Benjamin Bentmann + * @deprecated since maven 4.0, this class is not used anymore and is only here for compatibility */ @Deprecated public interface ReportingConverter { From 0dc76ed53db6b0bf6b6149513213598e8ffc6218 Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Wed, 4 Jan 2023 13:57:45 +0100 Subject: [PATCH 3/5] [MNG-7652] switch to Modello Velocity (#944) --- api/modello-plugin-velocity/src/site/site.xml | 38 ------------------- 1 file changed, 38 deletions(-) delete mode 100644 api/modello-plugin-velocity/src/site/site.xml diff --git a/api/modello-plugin-velocity/src/site/site.xml b/api/modello-plugin-velocity/src/site/site.xml deleted file mode 100644 index 8ffe43d07c30..000000000000 --- a/api/modello-plugin-velocity/src/site/site.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - ${project.scm.url} - - - - - - - - - - - - - \ No newline at end of file From 069c8823646ede99e3679f45114e50e3f753ff2f Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Mon, 9 Jan 2023 08:55:26 +0100 Subject: [PATCH 4/5] [MNG-7642] Explicit the fact that the class is now a no-op class --- .../apache/maven/model/plugin/DefaultReportingConverter.java | 2 +- .../java/org/apache/maven/model/plugin/ReportingConverter.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultReportingConverter.java b/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultReportingConverter.java index bf685d08010c..69f767ec9a5e 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultReportingConverter.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultReportingConverter.java @@ -30,7 +30,7 @@ * i.e. reportPlugins and outputDirectory parameters. * * @author Benjamin Bentmann - * @deprecated since maven 4.0, this class is not used anymore and is only here for compatibility + * @deprecated since maven 4.0, this class is now a no-op class and is only here for compatibility */ @Named @Singleton diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/plugin/ReportingConverter.java b/maven-model-builder/src/main/java/org/apache/maven/model/plugin/ReportingConverter.java index b3104a2dc27b..bffde5c00b98 100644 --- a/maven-model-builder/src/main/java/org/apache/maven/model/plugin/ReportingConverter.java +++ b/maven-model-builder/src/main/java/org/apache/maven/model/plugin/ReportingConverter.java @@ -27,7 +27,7 @@ * i.e. reportPlugins and outputDirectory parameters. * * @author Benjamin Bentmann - * @deprecated since maven 4.0, this class is not used anymore and is only here for compatibility + * @deprecated since maven 4.0, this interface is not used anymore and is only here for compatibility */ @Deprecated public interface ReportingConverter { From 9572b5970c955c72251d37ce4f18aa4bd26f63d2 Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Tue, 17 Jan 2023 15:03:55 +0100 Subject: [PATCH 5/5] Disable parsing the whole reactor --- .../java/org/apache/maven/graph/DefaultGraphBuilder.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/maven-core/src/main/java/org/apache/maven/graph/DefaultGraphBuilder.java b/maven-core/src/main/java/org/apache/maven/graph/DefaultGraphBuilder.java index 9d0683f22eb6..f15410d714d8 100644 --- a/maven-core/src/main/java/org/apache/maven/graph/DefaultGraphBuilder.java +++ b/maven-core/src/main/java/org/apache/maven/graph/DefaultGraphBuilder.java @@ -351,10 +351,10 @@ private List getProjectsForMavenReactor(MavenSession session) thro } // 2. Collect projects for all modules in the multi-module project. - List projects = multiModuleCollectionStrategy.collectProjects(request); - if (!projects.isEmpty()) { - return projects; - } + // List projects = multiModuleCollectionStrategy.collectProjects(request); + // if (!projects.isEmpty()) { + // return projects; + // } // 3. Collect projects for explicitly requested POM. return requestPomCollectionStrategy.collectProjects(request);