You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sc...@apache.org on 2016/11/11 20:47:16 UTC

[1/2] maven git commit: [MNG-4463] Dependency management import should support version ranges. [MNG-5600] Dependency management import should support exclusions. [MNG-5527] Dependency management import should support relocations. [MNG-5971] Imported depe

Repository: maven
Updated Branches:
  refs/heads/master a277f6f43 -> 139c64539


[MNG-4463] Dependency management import should support version ranges.
[MNG-5600] Dependency management import should support exclusions.
[MNG-5527] Dependency management import should support relocations.
[MNG-5971] Imported dependencies should be available to inheritance processing.
[MNG-6082] Introduction of model version 4.1.0.

o Removed model version 4.1.0 and made model version 4.0.0 behave that way by
  default. There has been feedback on the users mailing list that a user would
  expect the current 4.1.0 behaviour as the default and the current 4.0.0
  behaviour to be broken. All of this can be disabled using system properties:

  org.apache.maven.model.building.DefaultModelBuilder.disableDependencyManagementImportVersionRanges
  org.apache.maven.model.building.DefaultModelBuilder.disableDependencyManagementImportExclusions
  org.apache.maven.model.building.DefaultModelBuilder.disableDependencyManagementImportRelocations
  org.apache.maven.model.building.DefaultModelBuilder.disableDependencyManagementImportInheritanceProcessing

o Restored the former model version 4.0.0 super pom without any changes.


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/2fd09304
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/2fd09304
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/2fd09304

Branch: refs/heads/master
Commit: 2fd09304b3e94876b23ff72c580d8a8533e0f3b5
Parents: a277f6f
Author: Christian Schulte <sc...@apache.org>
Authored: Fri Nov 11 21:21:44 2016 +0100
Committer: Christian Schulte <sc...@apache.org>
Committed: Fri Nov 11 21:36:00 2016 +0100

----------------------------------------------------------------------
 .../model/building/DefaultModelBuilder.java     |  43 ++++--
 .../model/superpom/DefaultSuperPomProvider.java |   3 +-
 .../model/validation/DefaultModelValidator.java |   3 +-
 .../maven/model/versioning/ModelVersions.java   | 132 -------------------
 .../org/apache/maven/model/pom-4.1.0.xml        | 109 ---------------
 5 files changed, 33 insertions(+), 257 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/2fd09304/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuilder.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 89c989f..fb401ee 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
@@ -73,7 +73,6 @@ import org.apache.maven.model.resolution.UnresolvableModelException;
 import org.apache.maven.model.resolution.WorkspaceModelResolver;
 import org.apache.maven.model.superpom.SuperPomProvider;
 import org.apache.maven.model.validation.ModelValidator;
-import org.apache.maven.model.versioning.ModelVersions;
 import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.component.annotations.Requirement;
 import org.codehaus.plexus.interpolation.MapBasedValueSource;
@@ -144,6 +143,26 @@ public class DefaultModelBuilder
     @Requirement( optional = true )
     private List<ModelFinalizer> modelFinalizers;
 
+    // [MNG-4463] Dependency management import should support version ranges.
+    private static final boolean DEPENDENCY_MANAGEMENT_IMPORT_VERSION_RANGES =
+        System.getProperty( DefaultModelBuilder.class.getName()
+                                + ".disableDependencyManagementImportVersionRanges" ) == null;
+
+    // [MNG-5600] Dependency management import should support exclusions.
+    private static final boolean DEPENDENCY_MANAGEMENT_IMPORT_EXCLUSIONS =
+        System.getProperty( DefaultModelBuilder.class.getName()
+                                + ".disableDependencyManagementImportExclusions" ) == null;
+
+    // [MNG-5527] Dependency management import should support relocations.
+    private static final boolean DEPENDENCY_MANAGEMENT_IMPORT_RELOCATIONS =
+        System.getProperty( DefaultModelBuilder.class.getName()
+                                + ".disableDependencyManagementImportRelocations" ) == null;
+
+    // [MNG-5971] Imported dependencies should be available to inheritance processing.
+    private static final boolean DEPENDENCY_MANAGEMENT_IMPORT_INHERITANCE_PROCESSING =
+        System.getProperty( DefaultModelBuilder.class.getName()
+                                + ".disableDependencyManagementImportInheritanceProcessing" ) == null;
+
     public DefaultModelBuilder setModelProcessor( ModelProcessor modelProcessor )
     {
         this.modelProcessor = modelProcessor;
@@ -468,10 +487,10 @@ public class DefaultModelBuilder
             lineage.add( result.getEffectiveModel( modelId ) );
         }
 
-        if ( ModelVersions.supportsDependencyManagementImportInheritanceProcessing( resultModel ) )
+        if ( DEPENDENCY_MANAGEMENT_IMPORT_INHERITANCE_PROCESSING )
         {
-            // [MNG-5971] Imported dependencies should be available to inheritance processing
-            processImports( lineage, request, problems );
+            // [MNG-5971] Imported dependencies should be available to inheritance processing.
+            this.processImports( lineage, request, problems );
         }
 
         problems.setSource( resultModel );
@@ -506,7 +525,7 @@ public class DefaultModelBuilder
             lifecycleBindingsInjector.injectLifecycleBindings( resultModel, request, problems );
         }
 
-        if ( !ModelVersions.supportsDependencyManagementImportInheritanceProcessing( resultModel ) )
+        if ( !DEPENDENCY_MANAGEMENT_IMPORT_INHERITANCE_PROCESSING )
         {
             this.importDependencyManagement( resultModel, "import", request, problems, new HashSet<String>() );
         }
@@ -790,7 +809,7 @@ public class DefaultModelBuilder
             final Model model = lineage.get( 0 ).getModel();
             // [MNG-666] need to be able to operate on a Maven 1 repository
             final String modelVersion = model.getModelVersion() == null
-                                            ? ModelVersions.V4_0_0
+                                            ? "4.0.0"
                                             : model.getModelVersion();
 
             for ( int i = 1, s0 = lineage.size(); i < s0; i++ )
@@ -798,7 +817,7 @@ public class DefaultModelBuilder
                 final Model parent = lineage.get( i ).getModel();
                 // [MNG-666] need to be able to operate on a Maven 1 repository
                 final String parentModelVersion = parent.getModelVersion() == null
-                                                      ? ModelVersions.V4_0_0
+                                                      ? "4.0.0"
                                                       : parent.getModelVersion();
 
                 if ( !parentModelVersion.equals( modelVersion ) )
@@ -1462,7 +1481,7 @@ public class DefaultModelBuilder
                                      ? importModel.getDependencyManagement().clone()
                                      : new DependencyManagement();
 
-                    if ( ModelVersions.supportsDependencyManagementImportExclusions( model ) )
+                    if ( DEPENDENCY_MANAGEMENT_IMPORT_EXCLUSIONS )
                     {
                         if ( !dependency.getExclusions().isEmpty() )
                         {
@@ -1530,11 +1549,11 @@ public class DefaultModelBuilder
             final Dependency resolvedDependency = dependency.clone();
 
             final ModelSource importSource =
-                ModelVersions.supportsDependencyManagementImportVersionRanges( model )
+                DEPENDENCY_MANAGEMENT_IMPORT_VERSION_RANGES
                     ? targetModelBuildingRequest.getModelResolver().resolveModel( resolvedDependency )
                     : targetModelBuildingRequest.getModelResolver().resolveModel(
-                    resolvedDependency.getGroupId(), resolvedDependency.getArtifactId(),
-                    resolvedDependency.getVersion() );
+                        resolvedDependency.getGroupId(), resolvedDependency.getArtifactId(),
+                        resolvedDependency.getVersion() );
 
             final String resolvedId =
                 String.format( "%s:%s:%s", resolvedDependency.getGroupId(), resolvedDependency.getArtifactId(),
@@ -1569,7 +1588,7 @@ public class DefaultModelBuilder
 
                 if ( importModel.getDistributionManagement() != null
                          && importModel.getDistributionManagement().getRelocation() != null
-                         && ModelVersions.supportsDependencyManagementImportRelocations( model ) )
+                         && DEPENDENCY_MANAGEMENT_IMPORT_RELOCATIONS )
                 {
                     final Dependency relocated = dependency.clone();
                     relocated.setGroupId( importModel.getDistributionManagement().getRelocation().getGroupId() );

http://git-wip-us.apache.org/repos/asf/maven/blob/2fd09304/maven-model-builder/src/main/java/org/apache/maven/model/superpom/DefaultSuperPomProvider.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/superpom/DefaultSuperPomProvider.java b/maven-model-builder/src/main/java/org/apache/maven/model/superpom/DefaultSuperPomProvider.java
index 2338c62..0c720d1 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/superpom/DefaultSuperPomProvider.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/superpom/DefaultSuperPomProvider.java
@@ -28,7 +28,6 @@ import java.util.Map;
 
 import org.apache.maven.model.Model;
 import org.apache.maven.model.building.ModelProcessor;
-import org.apache.maven.model.versioning.ModelVersions;
 import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.component.annotations.Requirement;
 
@@ -62,7 +61,7 @@ public class DefaultSuperPomProvider
     {
         // [MNG-666] need to be able to operate on a Maven 1 repository
         //    Instead of throwing an exception if version == null, we return a version "4.0.0" super pom.
-        final String effectiveVersion = version == null ? ModelVersions.V4_0_0 : version;
+        final String effectiveVersion = version == null ? "4.0.0" : version;
         final String resource = "/org/apache/maven/model/pom-" + effectiveVersion + ".xml";
 
         try

http://git-wip-us.apache.org/repos/asf/maven/blob/2fd09304/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java b/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
index 41f4d3f..cea2a74 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
@@ -53,7 +53,6 @@ import org.apache.maven.model.building.ModelProblem.Severity;
 import org.apache.maven.model.building.ModelProblem.Version;
 import org.apache.maven.model.building.ModelProblemCollector;
 import org.apache.maven.model.building.ModelProblemCollectorRequest;
-import org.apache.maven.model.versioning.ModelVersions;
 import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.util.StringUtils;
 
@@ -112,7 +111,7 @@ public class DefaultModelValidator
             validateStringNotEmpty( "modelVersion", problems, Severity.ERROR, Version.V20, m.getModelVersion(), m );
 
             validateEnum( "modelVersion", problems, Severity.ERROR, Version.V20, m.getModelVersion(), null, m,
-                          ModelVersions.V4_0_0, ModelVersions.V4_1_0 );
+                          "4.0.0" );
 
             validateStringNoExpression( "groupId", problems, Severity.WARNING, Version.V20, m.getGroupId(), m );
             if ( parent == null )

http://git-wip-us.apache.org/repos/asf/maven/blob/2fd09304/maven-model-builder/src/main/java/org/apache/maven/model/versioning/ModelVersions.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/versioning/ModelVersions.java b/maven-model-builder/src/main/java/org/apache/maven/model/versioning/ModelVersions.java
deleted file mode 100644
index 6b527ca..0000000
--- a/maven-model-builder/src/main/java/org/apache/maven/model/versioning/ModelVersions.java
+++ /dev/null
@@ -1,132 +0,0 @@
-package org.apache.maven.model.versioning;
-
-/*
- * 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 java.util.Objects;
-
-import org.apache.maven.model.Model;
-
-/**
- * Gathers model version information.
- *
- * @author Christian Schulte
- * @since 3.4
- */
-public final class ModelVersions
-{
-
-    /**
-     * Creates a new {@code ModelVersions} instance.
-     */
-    private ModelVersions()
-    {
-        super();
-    }
-
-    /**
-     * Constant for model version {@code 4.0.0}.
-     */
-    public static final String V4_0_0 = "4.0.0";
-
-    /**
-     * Constant for model version {@code 4.1.0}.
-     */
-    public static final String V4_1_0 = "4.1.0";
-
-    /**
-     * Tests whether dependency management import version ranges are supported for a given {@code Model}.
-     *
-     * @param model The {@code Model} to test.
-     *
-     * @return {@code true}, if dependency management import version ranges are supported for {@code model};
-     * {@code false}, if dependency management import version ranges are not supported for {@code model}.
-     */
-    public static boolean supportsDependencyManagementImportVersionRanges( final Model model )
-    {
-        // [MNG-4463] Version ranges cannot be used for artifacts with 'import' scope
-        return isGreaterOrEqual( model, V4_1_0 );
-    }
-
-    /**
-     * Tests whether dependency management import exclusions are supported for a given {@code Model}.
-     *
-     * @param model The {@code Model} to test.
-     *
-     * @return {@code true}, if dependency management import exclusions are supported for {@code model};
-     * {@code false}, if dependency management import exclusions are not supported for {@code model}.
-     */
-    public static boolean supportsDependencyManagementImportExclusions( final Model model )
-    {
-        // [MNG-5600] Dependency management import should support exclusions.
-        return isGreaterOrEqual( model, V4_1_0 );
-    }
-
-    /**
-     * Tests whether dependency management import relocations are supported for a given {@code Model}.
-     *
-     * @param model The {@code Model} to test.
-     *
-     * @return {@code true}, if dependency management import relocations are supported for {@code model};
-     * {@code false}, if dependency management import relocations are not supported for {@code model}.
-     */
-    public static boolean supportsDependencyManagementImportRelocations( final Model model )
-    {
-        // [MNG-5527] Dependency management import should support relocations.
-        return isGreaterOrEqual( model, V4_1_0 );
-    }
-
-    /**
-     * Tests whether dependency management import inheritance processing is supported for a given {@code Model}.
-     *
-     * @param model The {@code Model} to test.
-     *
-     * @return {@code true}, if dependency management import inheritance processing is supported for {@code model};
-     * {@code false}, if dependency management import inheritance processing is not supported for {@code model}.
-     */
-    public static boolean supportsDependencyManagementImportInheritanceProcessing( final Model model )
-    {
-        // [MNG-5971] Imported dependencies should be available to inheritance processing
-        return isGreaterOrEqual( model, V4_1_0 );
-    }
-
-    private static boolean isGreaterOrEqual( final Model model, final String version )
-    {
-        Objects.requireNonNull( model, "model" );
-        Objects.requireNonNull( version, "version" );
-
-        if ( null != model.getModelVersion() )
-        {
-            switch ( model.getModelVersion() )
-            {
-                case V4_0_0:
-                    return V4_0_0.equals( version );
-                case V4_1_0:
-                    return V4_0_0.equals( version ) || V4_1_0.equals( version );
-                default:
-                    throw new AssertionError( String.format( "Unsupported model version '%s'.", version ) );
-            }
-        }
-
-        // [MNG-666] need to be able to operate on a Maven 1 repository
-        //   Handles null as the lowest version possible.
-        return false;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/maven/blob/2fd09304/maven-model-builder/src/main/resources/org/apache/maven/model/pom-4.1.0.xml
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/resources/org/apache/maven/model/pom-4.1.0.xml b/maven-model-builder/src/main/resources/org/apache/maven/model/pom-4.1.0.xml
deleted file mode 100644
index 39a5d5d..0000000
--- a/maven-model-builder/src/main/resources/org/apache/maven/model/pom-4.1.0.xml
+++ /dev/null
@@ -1,109 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-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.
--->
-
-<!-- START SNIPPET: superpom410 -->
-<project>
-  <modelVersion>4.1.0</modelVersion>
-
-  <build>
-    <directory>${project.basedir}/target</directory>
-    <outputDirectory>${project.build.directory}/classes</outputDirectory>
-    <finalName>${project.artifactId}-${project.version}</finalName>
-    <testOutputDirectory>${project.build.directory}/test-classes</testOutputDirectory>
-    <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
-    <scriptSourceDirectory>${project.basedir}/src/main/scripts</scriptSourceDirectory>
-    <testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory>
-    <resources>
-      <resource>
-        <directory>${project.basedir}/src/main/resources</directory>
-      </resource>
-      <resource>
-        <directory>${project.basedir}/src/main/resources-filtered</directory>
-        <filtering>true</filtering>
-      </resource>
-    </resources>
-    <testResources>
-      <testResource>
-        <directory>${project.basedir}/src/test/resources</directory>
-      </testResource>
-      <testResource>
-        <directory>${project.basedir}/src/test/resources-filtered</directory>
-        <filtering>true</filtering>
-      </testResource>
-    </testResources>
-  </build>
-
-  <reporting>
-    <outputDirectory>${project.build.directory}/site</outputDirectory>
-  </reporting>
-
-  <profiles>
-    <!-- NOTE: The release profile will be removed from future versions of the super POM -->
-    <profile>
-      <id>release-profile</id>
-
-      <activation>
-        <property>
-          <name>performRelease</name>
-          <value>true</value>
-        </property>
-      </activation>
-
-      <build>
-        <plugins>
-          <plugin>
-            <inherited>true</inherited>
-            <artifactId>maven-source-plugin</artifactId>
-            <executions>
-              <execution>
-                <id>attach-sources</id>
-                <goals>
-                  <goal>jar-no-fork</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
-          <plugin>
-            <inherited>true</inherited>
-            <artifactId>maven-javadoc-plugin</artifactId>
-            <executions>
-              <execution>
-                <id>attach-javadocs</id>
-                <goals>
-                  <goal>jar</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
-          <plugin>
-            <inherited>true</inherited>
-            <artifactId>maven-deploy-plugin</artifactId>
-            <configuration>
-              <updateReleaseInfo>true</updateReleaseInfo>
-            </configuration>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
-  </profiles>
-
-</project>
-<!-- END SNIPPET: superpom410 -->


[2/2] maven git commit: [MNG-4645] Move central repo definition out of Maven's core so it can be more easily changed

Posted by sc...@apache.org.
[MNG-4645] Move central repo definition out of Maven's core so it can be more easily changed

This reverts commits
    6d9ffe351814f5482def88066ce9dd2011567689
    1b00a9e1591fe0f7c14b251126d9326e9a6bd401


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/139c6453
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/139c6453
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/139c6453

Branch: refs/heads/master
Commit: 139c6453970d66aa2c90c92b245af8aaf270f080
Parents: 2fd0930
Author: Christian Schulte <sc...@apache.org>
Authored: Fri Nov 11 21:41:46 2016 +0100
Committer: Christian Schulte <sc...@apache.org>
Committed: Fri Nov 11 21:44:20 2016 +0100

----------------------------------------------------------------------
 apache-maven/src/conf/settings.xml | 42 ---------------------------------
 1 file changed, 42 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/139c6453/apache-maven/src/conf/settings.xml
----------------------------------------------------------------------
diff --git a/apache-maven/src/conf/settings.xml b/apache-maven/src/conf/settings.xml
index c24acfd..41db3ba 100644
--- a/apache-maven/src/conf/settings.xml
+++ b/apache-maven/src/conf/settings.xml
@@ -244,47 +244,6 @@ under the License.
       </properties>
     </profile>
     -->
-
-    <!--
-    | Default profile holding various defaults.
-    |-->
-    <profile>
-      <!--
-      This intentionally uses a UUID to not clash with any profile
-      id already in use before this profile got added to the settings.
-      -->
-      <id>f06abaa7-178e-441e-bb0d-10a92d7ce014</id>
-
-      <repositories>
-        <repository>
-          <id>central</id>
-          <name>Central Repository</name>
-          <url>https://repo.maven.apache.org/maven2</url>
-          <layout>default</layout>
-          <snapshots>
-            <enabled>false</enabled>
-          </snapshots>
-          <releases>
-            <updatePolicy>never</updatePolicy>
-          </releases>
-        </repository>
-      </repositories>
-
-      <pluginRepositories>
-        <pluginRepository>
-          <id>central</id>
-          <name>Central Repository</name>
-          <url>https://repo.maven.apache.org/maven2</url>
-          <layout>default</layout>
-          <snapshots>
-            <enabled>false</enabled>
-          </snapshots>
-          <releases>
-            <updatePolicy>never</updatePolicy>
-          </releases>
-        </pluginRepository>
-      </pluginRepositories>
-    </profile>
   </profiles>
 
   <!-- activeProfiles
@@ -295,7 +254,6 @@ under the License.
     <activeProfile>alwaysActiveProfile</activeProfile>
     <activeProfile>anotherAlwaysActiveProfile</activeProfile>
     -->
-    <activeProfile>f06abaa7-178e-441e-bb0d-10a92d7ce014</activeProfile>
   </activeProfiles>
 
 </settings>