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:41 UTC

[maven-parent] branch drop-legacy-dependencies-profile created (now 9158df6)

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

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


      at 9158df6  Drop legacy profile

This branch includes the following new commits:

     new 9158df6  Drop legacy profile

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


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

Posted by cs...@apache.org.
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>