You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by cs...@apache.org on 2021/10/14 09:04:42 UTC

[maven-parent] 01/01: Drop legacy profile

This is an automated email from the ASF dual-hosted git repository.

cstamas pushed a commit to branch drop-legacy-dependencies-profile
in repository https://gitbox.apache.org/repos/asf/maven-parent.git

commit 9158df60ea694250ef7bf878b81906cd177e3b60
Author: Tamas Cservenak <ta...@cservenak.net>
AuthorDate: Thu Oct 14 11:03:53 2021 +0200

    Drop legacy profile
    
    A "helper" profile that is meant to help for downstream projects
    to ensure they are not depending on anything legacy, so to say
    that they are future-proof.
---
 pom.xml | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/pom.xml b/pom.xml
index 94f0fe1..2d8c9b7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1205,6 +1205,54 @@ under the License.
 
   <profiles>
     <profile>
+      <!-- "utility" profile allowing all downstream projects to prepare for upcoming bans: drop legacy -->
+      <id>drop-legacy-dependencies</id>
+      <build>
+        <plugins>
+          <plugin>
+            <groupId>org.apache.maven.plugins</groupId>
+            <artifactId>maven-enforcer-plugin</artifactId>
+            <executions>
+              <execution>
+                <id>drop-legacy-dependencies</id>
+                <goals>
+                  <goal>enforce</goal>
+                </goals>
+                <configuration>
+                  <rules>
+                    <bannedDependencies>
+                      <excludes>
+                        <!-- Plexus -->
+                        <!-- Old Plexus -> org.eclipse.sisu:org.eclipse.sisu.plexus -->
+                        <exclude>org.codehaus.plexus:plexus-container-default</exclude>
+                        <!-- Legacy Shim -> org.eclipse.sisu:org.eclipse.sisu.(inject/plexus) -->
+                        <exclude>org.sonatype.sisu:sisu-inject-bean</exclude>
+                        <exclude>org.sonatype.sisu:sisu-inject-plexus</exclude>
+                        <!-- Resolver: you want org.eclipse.aether OR org.apache.maven.resolver instead -->
+                        <exclude>org.sonatype.aether:*</exclude>
+                        <!-- Various: most probably you want org.codehaus.plexus instead -->
+                        <exclude>org.sonatype.plexus:*</exclude>
+                        <!-- Maven: lowest version we support -->
+                        <exclude>org.apache.maven:maven-plugin-api:[,3.2.5)</exclude>
+                      </excludes>
+                      <includes>
+                        <!-- This is dead API -->
+                        <include>org.sonatype.plexus:plexus-build-api</include>
+                        <!-- Not including these would make painful lives of anyone depending on maven-core < 3.8.3 -->
+                        <include>org.sonatype.plexus:plexus-sec-dispatcher</include>
+                        <include>org.sonatype.plexus:plexus-cipher</include>
+                      </includes>
+                    </bannedDependencies>
+                  </rules>
+                  <fail>true</fail>
+                </configuration>
+              </execution>
+            </executions>
+          </plugin>
+        </plugins>
+      </build>
+    </profile>
+    <profile>
       <id>jdk-toolchain</id>
       <build>
         <plugins>