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>