andrey-petrenko-db commented on a change in pull request #610:
URL: https://github.com/apache/maven/pull/610#discussion_r748744142



##########
File path: 
maven-core/src/main/java/org/apache/maven/plugin/MojoExecutionStrategy.java
##########
@@ -0,0 +1,46 @@
+package org.apache.maven.plugin;
+
+/*
+ * 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.
+ */
+
+import org.apache.maven.execution.MavenSession;
+import org.apache.maven.lifecycle.LifecycleExecutionException;
+
+import java.util.List;
+
+/**
+ * Interface allows overriding default mojo execution strategy
+ * For example it is possible wrap some mojo execution to decorate default 
functionality or
+ * skip some executions
+ */
+public interface MojoExecutionStrategy
+{
+
+    void execute( MavenSession session, List<MojoExecution> mojoExecutions, 
Executor executor )
+            throws LifecycleExecutionException;
+
+    /**
+     * Implementors must perform real mojo execution
+     */
+    interface Executor

Review comment:
       > My opinion is that we should leave Maven 3 as is and just focus on 
Maven 4. This feature might attract more people, so putting it into Maven 4 
makes more sense to me.
   
   Yes I didn't mean to develop extension in 3.8, I thought just to add these 
minimal changes to core 3.8 and 4
   Then we can use our current extension draft (from 3.8) and test in against 
real projects (our project is about 750 modules with tricky configuration 
sometimes)
   Our extension built with 3.8 maven could be left as a draft in our fork
   
   To summarise our plan was:
   
   1) merge minimal changes to 3.8 and 4
   2) create new branch from MNG-7129-master and apply changes which we have 
done in our draft extension version (bug fixes, support to change projects 
versions like it is done by maven set plugin)
   3) raise PR from our branch to MNG-7129-master




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@maven.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to