summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorJulien Lepiller <julien@lepiller.eu>2020-06-27 17:25:52 +0200
committerJulien Lepiller <julien@lepiller.eu>2020-07-17 04:18:04 +0200
commitc3951015d79ce7410fbd66d889acc88be9192d32 (patch)
tree52e57f0eebded80b47e284561bc37d30d7b5757f /gnu
parentee1bed9d64fe923c2733d368e353dc9a6789b600 (diff)
gnu: Add maven-enforcer-api.
* gnu/packages/maven.scm (maven-enforcer-api): New variable. * gnu/packages/patches/maven-enforcer-api-fix-old-dependencies.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/maven.scm50
-rw-r--r--gnu/packages/patches/maven-enforcer-api-fix-old-dependencies.patch177
3 files changed, 228 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 67756186b5f..b174cdeaf54 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1279,6 +1279,7 @@ dist_patch_DATA = \
1279 %D%/packages/patches/mars-install.patch \ 1279 %D%/packages/patches/mars-install.patch \
1280 %D%/packages/patches/mars-sfml-2.3.patch \ 1280 %D%/packages/patches/mars-sfml-2.3.patch \
1281 %D%/packages/patches/maxima-defsystem-mkdir.patch \ 1281 %D%/packages/patches/maxima-defsystem-mkdir.patch \
1282 %D%/packages/patches/maven-enforcer-api-fix-old-dependencies.patch \
1282 %D%/packages/patches/maven-generate-component-xml.patch \ 1283 %D%/packages/patches/maven-generate-component-xml.patch \
1283 %D%/packages/patches/maven-generate-javax-inject-named.patch \ 1284 %D%/packages/patches/maven-generate-javax-inject-named.patch \
1284 %D%/packages/patches/mcrypt-CVE-2012-4409.patch \ 1285 %D%/packages/patches/mcrypt-CVE-2012-4409.patch \
diff --git a/gnu/packages/maven.scm b/gnu/packages/maven.scm
index bca499d87dd..fb0cb9eac47 100644
--- a/gnu/packages/maven.scm
+++ b/gnu/packages/maven.scm
@@ -2655,3 +2655,53 @@ Maven project dependencies.")
2655 (description "This package provides a tree-based API for resolution of 2655 (description "This package provides a tree-based API for resolution of
2656Maven project dependencies.") 2656Maven project dependencies.")
2657 (license license:asl2.0))) 2657 (license license:asl2.0)))
2658
2659(define-public maven-enforcer-api
2660 (package
2661 (name "maven-enforcer-api")
2662 (version "3.0.0-M3")
2663 (source (origin
2664 (method url-fetch)
2665 (uri (string-append "mirror://apache/maven/enforcer/"
2666 "enforcer-" version "-source-release.zip"))
2667 (sha256
2668 (base32
2669 "014cwj0dqa69nnlzcin8pk9wsjmmg71vsbcpb16cibcjpm6h9wjg"))
2670 (patches
2671 (search-patches "maven-enforcer-api-fix-old-dependencies.patch"))))
2672 (build-system ant-build-system)
2673 (arguments
2674 `(#:jar-name "maven-enforcer-api.jar"
2675 #:source-dir "enforcer-api/src/main/java"
2676 #:tests? #f; no tests
2677 #:phases
2678 (modify-phases %standard-phases
2679 (replace 'install
2680 (install-from-pom "enforcer-api/pom.xml")))))
2681 (propagated-inputs
2682 `(("maven-plugin-api" ,maven-plugin-api)
2683 ("java-plexus-container-default" ,java-plexus-container-default)
2684 ("java-jsr305" ,java-jsr305)
2685 ("maven-enforcer-parent-pom" ,maven-enforcer-parent-pom)))
2686 (native-inputs
2687 `(("unzip" ,unzip)))
2688 (home-page "https://maven.apache.org/shared/maven-dependency-tree")
2689 (synopsis "Tree-based API for resolution of Maven project dependencies")
2690 (description "This package provides a tree-based API for resolution of
2691Maven project dependencies.")
2692 (license license:asl2.0)))
2693
2694(define maven-enforcer-parent-pom
2695 (package
2696 (inherit maven-enforcer-api)
2697 (name "maven-enforcer-parent-pom")
2698 (arguments
2699 `(#:tests? #f
2700 #:phases
2701 (modify-phases %standard-phases
2702 (delete 'configure)
2703 (delete 'build)
2704 (replace 'install
2705 (install-pom-file "pom.xml")))))
2706 (propagated-inputs
2707 `(("maven-parent-pom" ,maven-parent-pom-30)))))
diff --git a/gnu/packages/patches/maven-enforcer-api-fix-old-dependencies.patch b/gnu/packages/patches/maven-enforcer-api-fix-old-dependencies.patch
new file mode 100644
index 00000000000..98a0c8a395c
--- /dev/null
+++ b/gnu/packages/patches/maven-enforcer-api-fix-old-dependencies.patch
@@ -0,0 +1,177 @@
1From eccc46eaf7903a8e837813795498b12c078faaea Mon Sep 17 00:00:00 2001
2From: Julien Lepiller <julien@lepiller.eu>
3Date: Wed, 11 Mar 2020 21:53:32 +0100
4Subject: [PATCH] Fix old dependencies
5
6---
7 .../enforcer/AbstractBanDependencies.java | 2 +-
8 .../enforcer/BanTransitiveDependencies.java | 2 +-
9 .../enforcer/DependencyConvergence.java | 17 ++++++++---------
10 .../enforcer/RequireUpperBoundDeps.java | 19 +++++++++----------
11 .../enforcer/utils/DependencyVersionMap.java | 6 +++---
12 5 files changed, 22 insertions(+), 24 deletions(-)
13
14diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractBanDependencies.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractBanDependencies.java
15index 2888a61..2b944b7 100644
16--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractBanDependencies.java
17+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/AbstractBanDependencies.java
18@@ -119,7 +119,7 @@ public abstract class AbstractBanDependencies
19 Set<Artifact> dependencies = null;
20 try
21 {
22- DependencyNode node = graphBuilder.buildDependencyGraph( project, null );
23+ DependencyNode node = graphBuilder.buildDependencyGraph( project.getProjectBuildingRequest(), null );
24 if ( searchTransitive )
25 {
26 dependencies = ArtifactUtils.getAllDescendants( node );
27diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanTransitiveDependencies.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanTransitiveDependencies.java
28index 6e1dcd4..1b964ba 100644
29--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanTransitiveDependencies.java
30+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/BanTransitiveDependencies.java
31@@ -158,7 +158,7 @@ public class BanTransitiveDependencies
32 try
33 {
34 MavenProject project = (MavenProject) helper.evaluate( "${project}" );
35- rootNode = createDependencyGraphBuilder().buildDependencyGraph( project, null );
36+ rootNode = createDependencyGraphBuilder().buildDependencyGraph( project.getProjectBuildingRequest(), null );
37 }
38 catch ( Exception e )
39 {
40diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java
41index 684f984..ca7ad3a 100644
42--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java
43+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/DependencyConvergence.java
44@@ -35,9 +35,9 @@ import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
45 import org.apache.maven.plugin.logging.Log;
46 import org.apache.maven.plugins.enforcer.utils.DependencyVersionMap;
47 import org.apache.maven.project.MavenProject;
48-import org.apache.maven.shared.dependency.tree.DependencyNode;
49-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilder;
50-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilderException;
51+import org.apache.maven.shared.dependency.graph.DependencyNode;
52+import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder;
53+import org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException;
54 import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
55 import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
56
57@@ -60,7 +60,7 @@ public class DependencyConvergence
58 // CHECKSTYLE_OFF: LineLength
59 /**
60 * Uses the {@link EnforcerRuleHelper} to populate the values of the
61- * {@link DependencyTreeBuilder#buildDependencyTree(MavenProject, ArtifactRepository, ArtifactFactory, ArtifactMetadataSource, ArtifactFilter, ArtifactCollector)}
62+ * {@link DependencyGraphBuilder#buildDependencyTree(MavenProject, ArtifactRepository, ArtifactFactory, ArtifactMetadataSource, ArtifactFilter, ArtifactCollector)}
63 * factory method. <br/>
64 * This method simply exists to hide all the ugly lookup that the {@link EnforcerRuleHelper} has to do.
65 *
66@@ -75,16 +75,15 @@ public class DependencyConvergence
67 try
68 {
69 MavenProject project = (MavenProject) helper.evaluate( "${project}" );
70- DependencyTreeBuilder dependencyTreeBuilder =
71- (DependencyTreeBuilder) helper.getComponent( DependencyTreeBuilder.class );
72+ DependencyGraphBuilder dependencyTreeBuilder =
73+ (DependencyGraphBuilder) helper.getComponent( DependencyGraphBuilder.class );
74 ArtifactRepository repository = (ArtifactRepository) helper.evaluate( "${localRepository}" );
75 ArtifactFactory factory = (ArtifactFactory) helper.getComponent( ArtifactFactory.class );
76 ArtifactMetadataSource metadataSource =
77 (ArtifactMetadataSource) helper.getComponent( ArtifactMetadataSource.class );
78 ArtifactCollector collector = (ArtifactCollector) helper.getComponent( ArtifactCollector.class );
79 ArtifactFilter filter = null; // we need to evaluate all scopes
80- DependencyNode node = dependencyTreeBuilder.buildDependencyTree( project, repository, factory,
81- metadataSource, filter, collector );
82+ DependencyNode node = dependencyTreeBuilder.buildDependencyGraph( project.getProjectBuildingRequest(), filter);
83 return node;
84 }
85 catch ( ExpressionEvaluationException e )
86@@ -95,7 +94,7 @@ public class DependencyConvergence
87 {
88 throw new EnforcerRuleException( "Unable to lookup a component " + e.getLocalizedMessage(), e );
89 }
90- catch ( DependencyTreeBuilderException e )
91+ catch ( DependencyGraphBuilderException e )
92 {
93 throw new EnforcerRuleException( "Could not build dependency tree " + e.getLocalizedMessage(), e );
94 }
95diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDeps.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDeps.java
96index 458554a..2de9870 100644
97--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDeps.java
98+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireUpperBoundDeps.java
99@@ -38,10 +38,10 @@ import org.apache.maven.enforcer.rule.api.EnforcerRuleException;
100 import org.apache.maven.enforcer.rule.api.EnforcerRuleHelper;
101 import org.apache.maven.plugin.logging.Log;
102 import org.apache.maven.project.MavenProject;
103-import org.apache.maven.shared.dependency.tree.DependencyNode;
104-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilder;
105-import org.apache.maven.shared.dependency.tree.DependencyTreeBuilderException;
106-import org.apache.maven.shared.dependency.tree.traversal.DependencyNodeVisitor;
107+import org.apache.maven.shared.dependency.graph.DependencyNode;
108+import org.apache.maven.shared.dependency.graph.DependencyGraphBuilder;
109+import org.apache.maven.shared.dependency.graph.DependencyGraphBuilderException;
110+import org.apache.maven.shared.dependency.graph.traversal.DependencyNodeVisitor;
111 import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluationException;
112 import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
113
114@@ -91,7 +91,7 @@ public class RequireUpperBoundDeps
115 // CHECKSTYLE_OFF: LineLength
116 /**
117 * Uses the {@link EnforcerRuleHelper} to populate the values of the
118- * {@link DependencyTreeBuilder#buildDependencyTree(MavenProject, ArtifactRepository, ArtifactFactory, ArtifactMetadataSource, ArtifactFilter, ArtifactCollector)}
119+ * {@link DependencyGraphBuilder#buildDependencyTree(MavenProject, ArtifactRepository, ArtifactFactory, ArtifactMetadataSource, ArtifactFilter, ArtifactCollector)}
120 * factory method. <br/>
121 * This method simply exists to hide all the ugly lookup that the {@link EnforcerRuleHelper} has to do.
122 *
123@@ -106,8 +106,8 @@ public class RequireUpperBoundDeps
124 try
125 {
126 MavenProject project = (MavenProject) helper.evaluate( "${project}" );
127- DependencyTreeBuilder dependencyTreeBuilder =
128- (DependencyTreeBuilder) helper.getComponent( DependencyTreeBuilder.class );
129+ DependencyGraphBuilder dependencyTreeBuilder =
130+ (DependencyGraphBuilder) helper.getComponent( DependencyGraphBuilder.class );
131 ArtifactRepository repository = (ArtifactRepository) helper.evaluate( "${localRepository}" );
132 ArtifactFactory factory = (ArtifactFactory) helper.getComponent( ArtifactFactory.class );
133 ArtifactMetadataSource metadataSource =
134@@ -115,8 +115,7 @@ public class RequireUpperBoundDeps
135 ArtifactCollector collector = (ArtifactCollector) helper.getComponent( ArtifactCollector.class );
136 ArtifactFilter filter = null; // we need to evaluate all scopes
137 DependencyNode node =
138- dependencyTreeBuilder.buildDependencyTree( project, repository, factory, metadataSource, filter,
139- collector );
140+ dependencyTreeBuilder.buildDependencyGraph( project.getProjectBuildingRequest(), filter);
141 return node;
142 }
143 catch ( ExpressionEvaluationException e )
144@@ -127,7 +126,7 @@ public class RequireUpperBoundDeps
145 {
146 throw new EnforcerRuleException( "Unable to lookup a component " + e.getLocalizedMessage(), e );
147 }
148- catch ( DependencyTreeBuilderException e )
149+ catch ( DependencyGraphBuilderException e )
150 {
151 throw new EnforcerRuleException( "Could not build dependency tree " + e.getLocalizedMessage(), e );
152 }
153diff --git a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/DependencyVersionMap.java b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/DependencyVersionMap.java
154index b6213fa..2c2a645 100644
155--- a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/DependencyVersionMap.java
156+++ b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/utils/DependencyVersionMap.java
157@@ -26,8 +26,8 @@ import java.util.Map;
158
159 import org.apache.maven.artifact.Artifact;
160 import org.apache.maven.plugin.logging.Log;
161-import org.apache.maven.shared.dependency.tree.DependencyNode;
162-import org.apache.maven.shared.dependency.tree.traversal.DependencyNodeVisitor;
163+import org.apache.maven.shared.dependency.graph.DependencyNode;
164+import org.apache.maven.shared.dependency.graph.traversal.DependencyNodeVisitor;
165
166 /**
167 * @author Brian Fox
168@@ -132,4 +132,4 @@ public class DependencyVersionMap
169 }
170 return output;
171 }
172-}
173\ No newline at end of file
174+}
175--
1762.24.1
177