diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/.gitignore b/.gitignore index e69de29..48bebc2 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,22 @@ +/results_* +/*.src.rpm + +/maven-dependency-plugin-2.2.tar.xz +/maven-dependency-plugin-2.2-source-release.zip +/maven-dependency-plugin-2.3-source-release.zip +/maven-dependency-plugin-2.4-source-release.zip +/maven-dependency-plugin-2.6-source-release.zip +/maven-dependency-plugin-2.7-source-release.zip +/maven-dependency-plugin-2.8-source-release.zip +/maven-dependency-plugin-2.9-source-release.zip +/maven-dependency-plugin-2.10-source-release.zip +/maven-dependency-plugin-3.0-SNAPSHOT-source-release.zip +/maven-dependency-plugin-3.0.0-SNAPSHOT-source-release.zip +/maven-dependency-plugin-3.0.0-source-release.zip +/maven-dependency-plugin-3.0.1-source-release.zip +/maven-dependency-plugin-3.0.2-source-release.zip +/maven-dependency-plugin-3.1.1-source-release.zip +/maven-dependency-plugin-3.1.2-source-release.zip +/maven-dependency-plugin-3.3.0-source-release.zip +/maven-dependency-plugin-3.6.0-source-release.zip +/maven-dependency-plugin-3.6.1-source-release.zip diff --git a/0001-Port-tests-to-maven-model-3.6.X.patch b/0001-Port-tests-to-maven-model-3.6.X.patch new file mode 100644 index 0000000..513b346 --- /dev/null +++ b/0001-Port-tests-to-maven-model-3.6.X.patch @@ -0,0 +1,59 @@ +From 885b776756218b616d4c53ca1f3603ff19e8a1c5 Mon Sep 17 00:00:00 2001 +From: Marian Koncek +Date: Tue, 25 Aug 2020 12:12:09 +0200 +Subject: [PATCH 1/2] Port tests to maven model 3.6.X + +--- + .../plugins/dependency/analyze/TestAnalyzeDepMgt.java | 9 +++++++++ + 1 file changed, 9 insertions(+) + +diff --git a/src/test/java/org/apache/maven/plugins/dependency/analyze/TestAnalyzeDepMgt.java b/src/test/java/org/apache/maven/plugins/dependency/analyze/TestAnalyzeDepMgt.java +index 7b78a6ea..f0994629 100644 +--- a/src/test/java/org/apache/maven/plugins/dependency/analyze/TestAnalyzeDepMgt.java ++++ b/src/test/java/org/apache/maven/plugins/dependency/analyze/TestAnalyzeDepMgt.java +@@ -111,33 +111,42 @@ public class TestAnalyzeDepMgt extends TestCase { + // sure it's ok before + // testing the next one + dep.setType("t"); ++ dep.clearManagementKey(); + assertNotEquals(dep.getManagementKey(), mojo.getArtifactManagementKey(artifact)); + + dep.setType("type"); ++ dep.clearManagementKey(); + assertEquals(dep.getManagementKey(), mojo.getArtifactManagementKey(artifact)); + + dep.setArtifactId("a"); ++ dep.clearManagementKey(); + assertNotEquals(dep.getManagementKey(), mojo.getArtifactManagementKey(artifact)); + + dep.setArtifactId("artifact"); ++ dep.clearManagementKey(); + assertEquals(dep.getManagementKey(), mojo.getArtifactManagementKey(artifact)); + + dep.setClassifier("c"); ++ dep.clearManagementKey(); + assertNotEquals(dep.getManagementKey(), mojo.getArtifactManagementKey(artifact)); + + dep.setClassifier("class"); ++ dep.clearManagementKey(); + assertEquals(dep.getManagementKey(), mojo.getArtifactManagementKey(artifact)); + + dep.setGroupId("g"); ++ dep.clearManagementKey(); + assertNotEquals(dep.getManagementKey(), mojo.getArtifactManagementKey(artifact)); + + dep.setGroupId("group"); + dep.setClassifier(null); + artifact = stubFactory.createArtifact("group", "artifact", "1.0", Artifact.SCOPE_COMPILE, "type", null); ++ dep.clearManagementKey(); + assertEquals(dep.getManagementKey(), mojo.getArtifactManagementKey(artifact)); + + dep.setClassifier(""); + artifact = stubFactory.createArtifact("group", "artifact", "1.0", Artifact.SCOPE_COMPILE, "type", ""); ++ dep.clearManagementKey(); + assertEquals(dep.getManagementKey(), mojo.getArtifactManagementKey(artifact)); + } + +-- +2.47.1 + diff --git a/0002-MDEP-952-Cut-another-dependency-on-commons-lang3-479.patch b/0002-MDEP-952-Cut-another-dependency-on-commons-lang3-479.patch new file mode 100644 index 0000000..b616719 --- /dev/null +++ b/0002-MDEP-952-Cut-another-dependency-on-commons-lang3-479.patch @@ -0,0 +1,52 @@ +From 250f3078fc1e39f02cb82ad2cf225b99e760361a Mon Sep 17 00:00:00 2001 +From: Elliotte Rusty Harold +Date: Tue, 19 Nov 2024 12:35:34 +0000 +Subject: [PATCH 2/2] [MDEP-952] Cut another dependency on commons-lang3 (#479) + +* Cut another dependency on commons-lang3 +--- + .../java/org/apache/maven/plugins/dependency/GetMojo.java | 7 +++---- + 1 file changed, 3 insertions(+), 4 deletions(-) + +diff --git a/src/main/java/org/apache/maven/plugins/dependency/GetMojo.java b/src/main/java/org/apache/maven/plugins/dependency/GetMojo.java +index 159b775b..aed89844 100644 +--- a/src/main/java/org/apache/maven/plugins/dependency/GetMojo.java ++++ b/src/main/java/org/apache/maven/plugins/dependency/GetMojo.java +@@ -24,7 +24,6 @@ import java.util.Map; + import java.util.regex.Matcher; + import java.util.regex.Pattern; + +-import org.apache.commons.lang3.StringUtils; + import org.apache.maven.artifact.handler.ArtifactHandler; + import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager; + import org.apache.maven.artifact.repository.ArtifactRepository; +@@ -130,7 +129,7 @@ public class GetMojo extends AbstractMojo { + + "e.g. -Dartifact=org.apache.maven.plugins:maven-downloader-plugin:1.0"); + } + if (artifact != null) { +- String[] tokens = StringUtils.split(artifact, ":"); ++ String[] tokens = artifact.split(":"); + if (tokens.length < 3 || tokens.length > 5) { + throw new MojoFailureException("Invalid artifact, you must specify " + + "groupId:artifactId:version[:packaging[:classifier]] " + artifact); +@@ -157,7 +156,7 @@ public class GetMojo extends AbstractMojo { + + if (remoteRepositories != null) { + // Use the same format as in the deploy plugin id::layout::url +- String[] repos = StringUtils.split(remoteRepositories, ","); ++ String[] repos = remoteRepositories.split(","); + for (String repo : repos) { + repoList.add(parseRepository(repo, always)); + } +@@ -214,7 +213,7 @@ public class GetMojo extends AbstractMojo { + } + + id = matcher.group(1).trim(); +- if (!StringUtils.isEmpty(matcher.group(2))) { ++ if (matcher.group(2) != null && !matcher.group(2).isEmpty()) { + layout = getLayout(matcher.group(2).trim()); + } + url = matcher.group(3).trim(); +-- +2.47.1 + diff --git a/ci.fmf b/ci.fmf new file mode 100644 index 0000000..c5aa0e0 --- /dev/null +++ b/ci.fmf @@ -0,0 +1 @@ +resultsdb-testcase: separate diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..df26947 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,7 @@ +--- !Policy +product_versions: + - rhel-9 +decision_contexts: + - osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: osci.brew-build./plans/javapackages.functional} diff --git a/maven-dependency-plugin.spec b/maven-dependency-plugin.spec new file mode 100644 index 0000000..de93c7d --- /dev/null +++ b/maven-dependency-plugin.spec @@ -0,0 +1,311 @@ +%bcond_with bootstrap + +Name: maven-dependency-plugin +Version: 3.6.1 +Release: 13%{?dist} +Summary: Plugin to manipulate, copy and unpack local and remote artifacts +License: Apache-2.0 +URL: https://maven.apache.org/plugins/%{name} +BuildArch: noarch +ExclusiveArch: %{java_arches} noarch + +Source0: https://repo1.maven.org/maven2/org/apache/maven/plugins/%{name}/%{version}/%{name}-%{version}-source-release.zip + +Patch: 0001-Port-tests-to-maven-model-3.6.X.patch +Patch: 0002-MDEP-952-Cut-another-dependency-on-commons-lang3-479.patch + +%if %{with bootstrap} +BuildRequires: javapackages-bootstrap +%else +BuildRequires: maven-local +BuildRequires: mvn(commons-collections:commons-collections) +BuildRequires: mvn(org.apache.maven.plugin-tools:maven-plugin-annotations) +BuildRequires: mvn(org.apache.maven.plugins:maven-plugin-plugin) +BuildRequires: mvn(org.apache.maven.plugins:maven-plugins:pom:) +BuildRequires: mvn(org.apache.maven.shared:maven-artifact-transfer) +BuildRequires: mvn(org.apache.maven.shared:maven-common-artifact-filters) +BuildRequires: mvn(org.apache.maven.shared:maven-dependency-analyzer) +BuildRequires: mvn(org.apache.maven.shared:maven-dependency-tree) +BuildRequires: mvn(org.apache.maven.shared:maven-shared-utils) +BuildRequires: mvn(org.apache.maven:maven-aether-provider) +BuildRequires: mvn(org.apache.maven:maven-artifact) +BuildRequires: mvn(org.apache.maven:maven-core) +BuildRequires: mvn(org.apache.maven:maven-model) +BuildRequires: mvn(org.apache.maven:maven-plugin-api) +BuildRequires: mvn(org.apache.maven:maven-repository-metadata) +BuildRequires: mvn(org.apache.maven:maven-settings) +BuildRequires: mvn(org.codehaus.plexus:plexus-archiver) +BuildRequires: mvn(org.codehaus.plexus:plexus-io) +BuildRequires: mvn(org.codehaus.plexus:plexus-utils) +BuildRequires: mvn(org.eclipse.aether:aether-api) +BuildRequires: mvn(org.eclipse.aether:aether-util) +BuildRequires: mvn(org.eclipse.sisu:sisu-maven-plugin) +BuildRequires: mvn(org.sonatype.plexus:plexus-build-api) +%endif + +%description +The dependency plugin provides the capability to manipulate +artifacts. It can copy and/or unpack artifacts from local or remote +repositories to a specified location. + +%package javadoc +Summary: API documentation for %{name} + +%description javadoc +API documentation for %{name}. + +%prep +%autosetup -p1 +find src -name '*.java' -exec sed -i 's/\r//' {} + + +%pom_remove_dep :maven-reporting-impl +%pom_remove_dep :commons-io + +%pom_remove_dep :jetty-server +%pom_remove_dep :jetty-util +%pom_remove_dep :jetty-security + +%pom_remove_dep org.apache.maven.doxia:doxia-sink-api +%pom_remove_dep org.apache.maven.reporting:maven-reporting-api +%pom_remove_dep org.codehaus.plexus:plexus-i18n + +%pom_change_dep :commons-collections4 commons-collections:commons-collections +sed -i '/import org.apache.commons.collections4/s/4//' src/main/java/org/apache/maven/plugins/dependency/analyze/AnalyzeDuplicateMojo.java + +# Tests which require eclipse +rm src/test/java/org/apache/maven/plugins/dependency/TestGetMojo.java +rm -r src/test/java/org/apache/maven/plugins/dependency/fromDependencies +rm -r src/test/java/org/apache/maven/plugins/dependency/fromConfiguration +rm src/test/java/org/apache/maven/plugins/dependency/utils/translators/TestClassifierTypeTranslator.java + +# Requires org.apache.maven.reporting +rm src/main/java/org/apache/maven/plugins/dependency/analyze/AnalyzeReport{Mojo,Renderer}.java +sed -i '/doSpecialTest( "analyze-report" );/d' src/test/java/org/apache/maven/plugins/dependency/TestSkip.java + +%build +%mvn_build -f + +%install +%mvn_install + +%files -f .mfiles +%license LICENSE NOTICE + +%files javadoc -f .mfiles-javadoc +%license LICENSE NOTICE + +%changelog +* Mon Dec 30 2024 Mikolaj Izdebski - 3.6.1-12 +- Use %%autosetup -C + +* Wed Dec 18 2024 Mikolaj Izdebski - 3.6.1-11 +- Remove dependency on apache-commons-lang3 + +* Fri Nov 29 2024 Mikolaj Izdebski - 3.6.1-10 +- Update javapackages test plan to f42 + +* Wed Jul 24 2024 Mikolaj Izdebski - 3.6.1-5 +- Install license files in licensedir instead of docdir + +* Thu Jul 18 2024 Fedora Release Engineering - 3.6.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Feb 27 2024 Jiri Vanek - 3.6.1-3 +- Rebuilt for java-21-openjdk as system jdk + +* Fri Feb 23 2024 Jiri Vanek - 3.6.1-2 +- bump of release for for java-21-openjdk as system jdk + +* Thu Feb 01 2024 Mikolaj Izdebski - 3.6.1-1 +- Update to upstream version 3.6.1 + +* Thu Jan 25 2024 Fedora Release Engineering - 3.6.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 3.6.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Sep 01 2023 Mikolaj Izdebski - 3.6.0-2 +- Rebuild + +* Tue Aug 15 2023 Marian Koncek - 3.6.0-1 +- Update to upstream version 3.6.0 + +* Thu Jul 20 2023 Fedora Release Engineering - 3.3.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jan 19 2023 Fedora Release Engineering - 3.3.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Jul 21 2022 Fedora Release Engineering - 3.3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sun Apr 24 2022 Mikolaj Izdebski - 3.3.0-1 +- Update to upstream version 3.3.0 + +* Sat Feb 05 2022 Jiri Vanek - 3.1.2-9 +- Rebuilt for java-17-openjdk as system jdk + +* Thu Jan 20 2022 Fedora Release Engineering - 3.1.2-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jul 22 2021 Fedora Release Engineering - 3.1.2-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Mon May 17 2021 Mikolaj Izdebski - 3.1.2-6 +- Bootstrap build +- Non-bootstrap build + +* Tue Jan 26 2021 Fedora Release Engineering - 3.1.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Aug 25 2020 Marian Koncek - 3.1.2-1 +- Update to upstream version 3.1.2 + +* Thu Jul 30 2020 Fabio Valentini - 3.1.2-4 +- Port to commons-lang3. + +* Tue Jul 28 2020 Fedora Release Engineering - 3.1.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jul 10 2020 Jiri Vanek - 3.1.2-2 +- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 + +* Thu May 07 2020 Fabio Valentini - 3.1.2-1 +- Update to version 3.1.2. + +* Wed Jan 29 2020 Fedora Release Engineering - 3.1.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Nov 05 2019 Mikolaj Izdebski - 3.1.1-2 +- Mass rebuild for javapackages-tools 201902 + +* Sun Nov 03 2019 Fabio Valentini - 3.1.1-4 +- Include backported patch for maven-artifact-transfer 0.11.0 support. + +* Thu Jul 25 2019 Fedora Release Engineering - 3.1.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue Jun 04 2019 Marian Koncek - 3.1.1-1 +- Update to upstream version 3.1.1 + +* Fri May 24 2019 Mikolaj Izdebski - 3.0.2-3 +- Mass rebuild for javapackages-tools 201901 + +* Fri Feb 01 2019 Fedora Release Engineering - 3.1.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Mon Nov 5 2018 Mikolaj Izdebski - 3.1.1-1 +- Add missing BR on maven-shared-utils + +* Tue Oct 30 2018 Marian Koncek - 3.1.1-1 +- Update to upstream version 3.1.1 + +* Fri Jul 13 2018 Fedora Release Engineering - 3.0.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Feb 08 2018 Fedora Release Engineering - 3.0.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Thu Sep 14 2017 Mikolaj Izdebski - 3.0.2-1 +- Update to upstream version 3.0.2 + +* Mon Sep 11 2017 Mikolaj Izdebski - 3.0.1-1 +- Update to upstream version 3.0.1 + +* Wed Jul 26 2017 Fedora Release Engineering - 3.0.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 3.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Dec 14 2016 Mikolaj Izdebski - 3.0.0-1 +- Update to upstream version 3.0.0 + +* Mon Nov 07 2016 Michael Simacek - 3.0.0-0.5.20160823svn1756544 +- Regenerate BuildRequires + +* Tue Aug 23 2016 Mikolaj Izdebski - 3.0.0-0.4.20160823svn1756544 +- Update to latest upstream snapshot + +* Thu Feb 04 2016 Fedora Release Engineering - 3.0-0.3.20160119svn1722372 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Jan 19 2016 Mikolaj Izdebski - 3.0-0.2.20160119svn1722372 +- Update to latest upstream snapshot (svn revision 1722372) + +* Mon Oct 12 2015 Mikolaj Izdebski - 3.0-0.1.20151012svn1707940 +- Update to upstream 3.0 snapshot (svn revision 1707940) + +* Wed Jun 17 2015 Fedora Release Engineering - 2.10-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Mon Feb 2 2015 Mikolaj Izdebski - 2.10-1 +- Update to upstream version 2.10 + +* Mon Sep 22 2014 Mikolaj Izdebski - 2.9-1 +- Update to upstream version 2.9 + +* Wed Jun 11 2014 Alexander Kurtakov 2.8-4 +- Fix building by dropping useless BRs. + +* Sat Jun 07 2014 Fedora Release Engineering - 2.8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue Mar 04 2014 Stanislav Ochotnicky - 2.8-2 +- Use Requires: java-headless rebuild (#1067528) + +* Tue May 21 2013 Mikolaj Izdebski - 2.8-1 +- Update to upstream version 2.8 + +* Fri Mar 15 2013 Michal Srb - 2.7-1 +- Update to upstream version 2.7 + +* Thu Feb 14 2013 Fedora Release Engineering - 2.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Jan 23 2013 Mikolaj Izdebski - 2.6-1 +- Update to upstream version 2.6 +- Build with xmvn +- Install license files + +* Tue Jan 22 2013 Mikolaj Izdebski - 2.5.1-2 +- Remove unneeded BR: asm2 + +* Tue Aug 28 2012 Mikolaj Izdebski - 2.5.1-1 +- Update to upstream version 2.5.1 + +* Thu Jul 19 2012 Fedora Release Engineering - 2.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Feb 21 2012 Tomas Radej - 2.4-1 +- Updated to the upstream version +- Partially removed a test because of a legacy class use +- Removed exception checking as it has already been done + +* Fri Jan 13 2012 Alexander Kurtakov 2.3-3 +- Add missing BR. + +* Fri Jan 13 2012 Fedora Release Engineering - 2.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Mon Jul 11 2011 Stanislav Ochotnicky - 2.3-1 +- Update to latest upstream + +* Tue Jun 28 2011 Alexander Kurtakov 2.2-2 +- BR/R maven-shared-file-management. + +* Tue Apr 26 2011 Alexander Kurtakov 2.2-1 +- Update to 2.2 final release. + +* Tue Feb 08 2011 Fedora Release Engineering - 2.2-0.4.svn949573 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Tue Sep 7 2010 Stanislav Ochotnicky - 2.2-0.3.svn949573 +- Fix test case to expect new classworlds + +* Tue Jun 15 2010 Alexander Kurtakov 2.2-0.2.svn949573 +- Add missing Requires. + +* Thu Jun 3 2010 Stanislav Ochotnicky - 2.2-0.1.svn949573 +- Initial package diff --git a/plans/javapackages.fmf b/plans/javapackages.fmf new file mode 100644 index 0000000..8ba3510 --- /dev/null +++ b/plans/javapackages.fmf @@ -0,0 +1,7 @@ +summary: Run javapackages-specific tests +discover: + how: fmf + url: https://src.fedoraproject.org/tests/javapackages + ref: c9s +execute: + how: tmt diff --git a/sources b/sources new file mode 100644 index 0000000..909d10f --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (maven-dependency-plugin-3.6.1-source-release.zip) = 6bdbd4cf4ff355d4e087ee5a7eef24b8812963c4372a6ba5116c8ea8dfdc5291c34edc262fe19eb2fc97a8e77d60c91d9ec843512729b862609f28689f396bd9