diff options
| author | Julien Lepiller <julien@lepiller.eu> | 2020-06-27 17:25:52 +0200 |
|---|---|---|
| committer | Julien Lepiller <julien@lepiller.eu> | 2020-07-17 04:18:04 +0200 |
| commit | c3951015d79ce7410fbd66d889acc88be9192d32 (patch) | |
| tree | 52e57f0eebded80b47e284561bc37d30d7b5757f /gnu | |
| parent | ee1bed9d64fe923c2733d368e353dc9a6789b600 (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.mk | 1 | ||||
| -rw-r--r-- | gnu/packages/maven.scm | 50 | ||||
| -rw-r--r-- | gnu/packages/patches/maven-enforcer-api-fix-old-dependencies.patch | 177 |
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 |
| 2656 | Maven project dependencies.") | 2656 | Maven 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 | ||
| 2691 | Maven 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 @@ | |||
| 1 | From eccc46eaf7903a8e837813795498b12c078faaea Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Julien Lepiller <julien@lepiller.eu> | ||
| 3 | Date: Wed, 11 Mar 2020 21:53:32 +0100 | ||
| 4 | Subject: [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 | |||
| 14 | diff --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 | ||
| 15 | index 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 ); | ||
| 27 | diff --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 | ||
| 28 | index 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 | { | ||
| 40 | diff --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 | ||
| 41 | index 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 | } | ||
| 95 | diff --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 | ||
| 96 | index 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 | } | ||
| 153 | diff --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 | ||
| 154 | index 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 | -- | ||
| 176 | 2.24.1 | ||
| 177 | |||
