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..9d78033 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,161 @@ +/javapackages-bootstrap-1.0.0.tar.xz +/ant.tar.xz +/apache-pom.tar.xz +/apiguardian.tar.xz +/asm.tar.xz +/assertj-core.tar.xz +/bnd.tar.xz +/build-helper-maven-plugin.tar.xz +/byte-buddy.tar.xz +/cdi.tar.xz +/cglib.tar.xz +/common-annotations-api.tar.xz +/commons-beanutils.tar.xz +/commons-cli.tar.xz +/commons-codec.tar.xz +/commons-collections.tar.xz +/commons-compress.tar.xz +/commons-io.tar.xz +/commons-jxpath.tar.xz +/commons-lang.tar.xz +/commons-logging.tar.xz +/commons-parent-pom.tar.xz +/cup.tar.xz +/easymock.tar.xz +/felix-parent-pom.tar.xz +/felix-utils.tar.xz +/fusesource-pom.tar.xz +/guava.tar.xz +/guice.tar.xz +/hamcrest.tar.xz +/httpcomponents-client.tar.xz +/httpcomponents-core.tar.xz +/httpcomponents-parent-pom.tar.xz +/injection-api.tar.xz +/jansi.tar.xz +/jcommander.tar.xz +/jdom2.tar.xz +/jdom.tar.xz +/jflex.tar.xz +/jsoup.tar.xz +/jsr-305.tar.xz +/junit4.tar.xz +/junit5.tar.xz +/maven-antrun-plugin.tar.xz +/maven-archiver.tar.xz +/maven-artifact-transfer.tar.xz +/maven-assembly-plugin.tar.xz +/maven-bundle-plugin.tar.xz +/maven-common-artifact-filters.tar.xz +/maven-compiler-plugin.tar.xz +/maven-dependency-analyzer.tar.xz +/maven-dependency-plugin.tar.xz +/maven-dependency-tree.tar.xz +/maven-enforcer.tar.xz +/maven-file-management.tar.xz +/maven-filtering.tar.xz +/maven-jar-plugin.tar.xz +/maven-parent-pom.tar.xz +/maven-plugin-testing.tar.xz +/maven-plugin-tools.tar.xz +/maven-remote-resources-plugin.tar.xz +/maven-resolver.tar.xz +/maven-resources-plugin.tar.xz +/maven-resources.tar.xz +/maven-shared-incremental.tar.xz +/maven-shared-io.tar.xz +/maven-shared-utils.tar.xz +/maven-source-plugin.tar.xz +/maven-surefire.tar.xz +/maven.tar.xz +/maven-verifier.tar.xz +/maven-wagon.tar.xz +/mockito.tar.xz +/modello.tar.xz +/mojo-parent-pom.tar.xz +/munge-maven-plugin.tar.xz +/objenesis.tar.xz +/opentest4j.tar.xz +/osgi-annotation.tar.xz +/osgi-cmpn.tar.xz +/osgi-core.tar.xz +/oss-parent-pom.tar.xz +/plexus-archiver.tar.xz +/plexus-cipher.tar.xz +/plexus-classworlds.tar.xz +/plexus-compiler.tar.xz +/plexus-components-pom.tar.xz +/plexus-containers.tar.xz +/plexus-interpolation.tar.xz +/plexus-io.tar.xz +/plexus-languages.tar.xz +/plexus-pom.tar.xz +/plexus-resources.tar.xz +/plexus-sec-dispatcher.tar.xz +/plexus-utils.tar.xz +/qdox.tar.xz +/servlet-api.tar.xz +/sisu-build-api.tar.xz +/sisu-inject.tar.xz +/sisu-mojos.tar.xz +/sisu-plexus.tar.xz +/slf4j.tar.xz +/testng.tar.xz +/univocity-parsers.tar.xz +/velocity-engine.tar.xz +/xbean.tar.xz +/xmlunit.tar.xz +/xmvn.tar.xz +/xz-java.tar.xz +/javapackages-bootstrap-1.1.0.tar.xz +/javapackages-bootstrap-1.2.0.tar.xz +/javapackages-bootstrap-1.3.0.tar.xz +/javapackages-bootstrap-1.4.0.tar.xz +/javapackages-bootstrap-1.5.0.tar.xz +/1e296d5.tar.gz +/d348d92.tar.gz +/plexus-build-api.tar.xz +/94debe8.tar.gz +/1ccbeaf.tar.gz +/2daa95f.tar.gz +/d896ef9.tar.gz +/a0c34e8.tar.gz +/98aeb0b.tar.gz +/d76c032.tar.gz +/00bdfe7.tar.gz +/8493092.tar.gz +/9f283b7.tar.gz +/1cfada9.tar.gz +/4f9a68a.tar.gz +/extra-enforcer-rules.tar.xz +/javapackages-bootstrap-1.7.0.tar.xz +/javapackages-bootstrap-1.7.1.tar.xz +/7fae2e4.tar.gz +/9e621d9.tar.gz +/javapackages-bootstrap-1.7.2.tar.xz +/javapackages-bootstrap-1.8.0.tar.xz +/modulemaker-maven-plugin.tar.xz +/xmvn-generator.tar.xz +/javapackages-bootstrap-1.8.1.tar.xz +/javapackages-bootstrap-1.9.0.tar.xz +/aopalliance.tar.xz +/javapackages-bootstrap-1.10.0.tar.xz +/disruptor.tar.xz +/jaf-api.tar.xz +/jctools.tar.xz +/log4j.tar.xz +/mail-api.tar.xz +/javapackages-bootstrap-1.11.0.tar.xz +/maven-apache-resources.tar.xz +/javapackages-bootstrap-1.12.0.tar.xz +/javapackages-bootstrap-1.13.0.tar.xz +/javacc.tar.xz +/javacc-maven-plugin.tar.xz +/javapackages-bootstrap-1.14.0.tar.xz +/javaparser.tar.xz +/moditect.tar.xz +/javapackages-bootstrap-1.15.0.tar.xz +/plexus-testing.tar.xz +/plexus-xml.tar.xz +/javapackages-bootstrap-1.16.0.tar.xz +/javapackages-bootstrap-1.17.0.tar.xz diff --git a/0001-Bind-to-OpenJDK-17-for-runtime.patch b/0001-Bind-to-OpenJDK-17-for-runtime.patch new file mode 100644 index 0000000..4ddf31d --- /dev/null +++ b/0001-Bind-to-OpenJDK-17-for-runtime.patch @@ -0,0 +1,39 @@ +From ad65f62443f23076dfc520d3f0589282da9530fa Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +Date: Wed, 8 Jul 2020 09:04:57 +0200 +Subject: [PATCH 2/2] Bind to OpenJDK 17 for runtime + +--- + apache-maven/src/bin/mvn | 16 +--------------- + 1 file changed, 1 insertion(+), 15 deletions(-) + +diff --git a/apache-maven/src/bin/mvn b/apache-maven/src/bin/mvn +index dfa384b8e..2e9f10da0 100755 +--- a/downstream/maven/apache-maven/src/bin/mvn ++++ b/downstream/maven/apache-maven/src/bin/mvn +@@ -27,21 +27,7 @@ + # MAVEN_SKIP_RC (Optional) Flag to disable loading of mavenrc files. + # ----------------------------------------------------------------------------- + +-if [ -z "$MAVEN_SKIP_RC" ] ; then +- +- if [ -f /usr/local/etc/mavenrc ] ; then +- . /usr/local/etc/mavenrc +- fi +- +- if [ -f /etc/mavenrc ] ; then +- . /etc/mavenrc +- fi +- +- if [ -f "$HOME/.mavenrc" ] ; then +- . "$HOME/.mavenrc" +- fi +- +-fi ++export JAVA_HOME=/usr/lib/jvm/java-17-openjdk + + # OS specific support. $var _must_ be set to either true or false. + cygwin=false; +-- +2.31.1 + diff --git a/0002-Rebase-xmvn-to-current-trunk.patch b/0002-Rebase-xmvn-to-current-trunk.patch new file mode 100644 index 0000000..07cc6bd --- /dev/null +++ b/0002-Rebase-xmvn-to-current-trunk.patch @@ -0,0 +1,1094 @@ +From 176c6273f7d725bdb2178be7dabaeab2db9f9e33 Mon Sep 17 00:00:00 2001 +From: Marian Koncek +Date: Wed, 26 Oct 2022 09:53:13 +0200 +Subject: [PATCH] Rebase xmvn to current trunk + +--- + patches/xmvn/0001-Port-to-current-trunk.patch | 1075 +++++++++++++++++ + 1 file changed, 1075 insertions(+) + create mode 100644 patches/xmvn/0001-Port-to-current-trunk.patch + +diff --git a/patches/xmvn/0001-Port-to-current-trunk.patch b/patches/xmvn/0001-Port-to-current-trunk.patch +new file mode 100644 +index 0000000..5e0e1ac +--- /dev/null ++++ b/patches/xmvn/0001-Port-to-current-trunk.patch +@@ -0,0 +1,1075 @@ ++diff --git a/.github/workflows/Dockerfile b/.github/workflows/Dockerfile ++index 6eaf6875..154e10d9 100644 ++--- a/.github/workflows/Dockerfile +++++ b/.github/workflows/Dockerfile ++@@ -14,5 +14,5 @@ ++ # limitations under the License. ++ # ++ ++-FROM registry.access.redhat.com/ubi8 ++-RUN dnf -y module enable maven:3.6 && dnf -y update && dnf -y install git-core maven-openjdk11 +++FROM registry.access.redhat.com/ubi9 +++RUN dnf -y update && dnf -y install git-core maven-openjdk8 ++diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml ++index 0dc14a3f..775c25c6 100644 ++--- a/.github/workflows/maven.yml +++++ b/.github/workflows/maven.yml ++@@ -27,8 +27,8 @@ jobs: ++ container: quay.io/mizdebsk/maven:latest ++ steps: ++ - name: Checkout git repository ++- uses: actions/checkout@v2 +++ uses: actions/checkout@v3 ++ - name: Run build ++- run: mvn -B -Dgpg.skip -Prun-its verify +++ run: mvn -V -B -Dgpg.skip -Pquality,run-its,release verify ++ - name: Upload coverage report to Codecov ++- uses: codecov/codecov-action@v2.0.2 +++ uses: codecov/codecov-action@v3.1.0 ++diff --git a/aux/license-header.txt b/aux/license-header.txt ++index 78ec7dee..9212e864 100644 ++--- a/aux/license-header.txt +++++ b/aux/license-header.txt ++@@ -1,5 +1,5 @@ ++ ^/\*-$ ++-^ \* Copyright \(c\) (20(1[2-9]|2[0-0])-)?2021 Red Hat, Inc\.$ +++^ \* Copyright \(c\) (20(1[2-9]|2[0-1])-)?202[1-2] Red Hat, Inc\.$ ++ ^ \*$ ++ ^ \* Licensed under the Apache License, Version 2\.0 \(the "License"\);$ ++ ^ \* you may not use this file except in compliance with the License\.$ ++diff --git a/xmvn-api/.classpath b/xmvn-api/.classpath ++index 6c61e620..12aa8aee 100644 ++--- a/xmvn-api/.classpath +++++ b/xmvn-api/.classpath ++@@ -13,7 +13,7 @@ ++ ++ ++ ++- +++ ++ ++ ++ ++diff --git a/xmvn-api/.settings/org.eclipse.jdt.core.prefs b/xmvn-api/.settings/org.eclipse.jdt.core.prefs ++index 2d67d3f3..2f39a66b 100644 ++--- a/xmvn-api/.settings/org.eclipse.jdt.core.prefs +++++ b/xmvn-api/.settings/org.eclipse.jdt.core.prefs ++@@ -8,8 +8,8 @@ org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= ++ org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable ++ org.eclipse.jdt.core.compiler.annotation.nullable.secondary= ++ org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled ++-org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 ++-org.eclipse.jdt.core.compiler.compliance=11 +++org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +++org.eclipse.jdt.core.compiler.compliance=1.8 ++ org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning ++ org.eclipse.jdt.core.compiler.problem.autoboxing=ignore ++ org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning ++@@ -97,8 +97,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning ++ org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=warning ++ org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning ++ org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning ++-org.eclipse.jdt.core.compiler.release=enabled ++-org.eclipse.jdt.core.compiler.source=11 +++org.eclipse.jdt.core.compiler.release=disabled +++org.eclipse.jdt.core.compiler.source=1.8 ++ org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false ++ org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 ++ org.eclipse.jdt.core.formatter.align_type_members_on_columns=false ++diff --git a/xmvn-api/pom.xml b/xmvn-api/pom.xml ++index 74b961d8..247eaad7 100644 ++--- a/xmvn-api/pom.xml +++++ b/xmvn-api/pom.xml ++@@ -38,7 +38,7 @@ ++ modello-maven-plugin ++ ++ 3.2.0 ++- true +++ 8 ++ false ++ ++ src/main/mdo/config.mdo ++diff --git a/xmvn-api/src/main/java/org/fedoraproject/xmvn/deployer/DependencyDescriptor.java b/xmvn-api/src/main/java/org/fedoraproject/xmvn/deployer/DependencyDescriptor.java ++index 9918affe..1af7d2fb 100644 ++--- a/xmvn-api/src/main/java/org/fedoraproject/xmvn/deployer/DependencyDescriptor.java +++++ b/xmvn-api/src/main/java/org/fedoraproject/xmvn/deployer/DependencyDescriptor.java ++@@ -15,6 +15,7 @@ ++ */ ++ package org.fedoraproject.xmvn.deployer; ++ +++import java.util.Collections; ++ import java.util.List; ++ ++ import org.fedoraproject.xmvn.artifact.Artifact; ++@@ -34,7 +35,7 @@ public class DependencyDescriptor ++ { ++ this.dependencyArtifact = dependencyArtifact; ++ this.optional = optional; ++- this.exclusions = List.copyOf( exclusions ); +++ this.exclusions = Collections.unmodifiableList( exclusions ); ++ } ++ ++ public Artifact getDependencyArtifact() ++diff --git a/xmvn-api/src/main/java/org/fedoraproject/xmvn/deployer/DeploymentRequest.java b/xmvn-api/src/main/java/org/fedoraproject/xmvn/deployer/DeploymentRequest.java ++index 6c67d2c7..16e48471 100644 ++--- a/xmvn-api/src/main/java/org/fedoraproject/xmvn/deployer/DeploymentRequest.java +++++ b/xmvn-api/src/main/java/org/fedoraproject/xmvn/deployer/DeploymentRequest.java ++@@ -19,6 +19,7 @@ import java.nio.file.Path; ++ import java.nio.file.Paths; ++ import java.util.ArrayList; ++ import java.util.Arrays; +++import java.util.Collections; ++ import java.util.Iterator; ++ import java.util.LinkedHashMap; ++ import java.util.List; ++@@ -53,7 +54,7 @@ public class DeploymentRequest ++ ++ public List getDependencies() ++ { ++- return List.copyOf( dependencies ); +++ return Collections.unmodifiableList( dependencies ); ++ } ++ ++ public void addDependency( Artifact dependencyArtifact, Artifact... exclusions ) ++@@ -85,7 +86,7 @@ public class DeploymentRequest ++ ++ public Map getProperties() ++ { ++- return Map.copyOf( properties ); +++ return Collections.unmodifiableMap( properties ); ++ } ++ ++ public String getProperty( String key ) ++diff --git a/xmvn-connector/.classpath b/xmvn-connector/.classpath ++index 97c81cef..4f8e155a 100644 ++--- a/xmvn-connector/.classpath +++++ b/xmvn-connector/.classpath ++@@ -13,7 +13,7 @@ ++ ++ ++ ++- +++ ++ ++ ++ ++diff --git a/xmvn-connector/.settings/org.eclipse.jdt.core.prefs b/xmvn-connector/.settings/org.eclipse.jdt.core.prefs ++index 2d67d3f3..2f39a66b 100644 ++--- a/xmvn-connector/.settings/org.eclipse.jdt.core.prefs +++++ b/xmvn-connector/.settings/org.eclipse.jdt.core.prefs ++@@ -8,8 +8,8 @@ org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= ++ org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable ++ org.eclipse.jdt.core.compiler.annotation.nullable.secondary= ++ org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled ++-org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 ++-org.eclipse.jdt.core.compiler.compliance=11 +++org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +++org.eclipse.jdt.core.compiler.compliance=1.8 ++ org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning ++ org.eclipse.jdt.core.compiler.problem.autoboxing=ignore ++ org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning ++@@ -97,8 +97,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning ++ org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=warning ++ org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning ++ org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning ++-org.eclipse.jdt.core.compiler.release=enabled ++-org.eclipse.jdt.core.compiler.source=11 +++org.eclipse.jdt.core.compiler.release=disabled +++org.eclipse.jdt.core.compiler.source=1.8 ++ org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false ++ org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 ++ org.eclipse.jdt.core.formatter.align_type_members_on_columns=false ++diff --git a/xmvn-connector/src/main/java/org/fedoraproject/xmvn/connector/maven/XMvnModelValidator.java b/xmvn-connector/src/main/java/org/fedoraproject/xmvn/connector/maven/XMvnModelValidator.java ++index a3fe4712..d340b91f 100644 ++--- a/xmvn-connector/src/main/java/org/fedoraproject/xmvn/connector/maven/XMvnModelValidator.java +++++ b/xmvn-connector/src/main/java/org/fedoraproject/xmvn/connector/maven/XMvnModelValidator.java ++@@ -27,6 +27,7 @@ import org.apache.maven.model.Model; ++ import org.apache.maven.model.Plugin; ++ import org.apache.maven.model.building.ModelBuildingRequest; ++ import org.apache.maven.model.building.ModelProblemCollector; +++import org.apache.maven.model.interpolation.DefaultModelVersionProcessor; ++ import org.apache.maven.model.validation.DefaultModelValidator; ++ import org.apache.maven.model.validation.ModelValidator; ++ import org.codehaus.plexus.component.annotations.Component; ++@@ -52,6 +53,11 @@ public class XMvnModelValidator ++ @Requirement ++ private Configurator configurator; ++ +++ public XMvnModelValidator() +++ { +++ super( new DefaultModelVersionProcessor() ); +++ } +++ ++ @Override ++ public void validateEffectiveModel( Model model, ModelBuildingRequest request, ModelProblemCollector problems ) ++ { ++diff --git a/xmvn-connector/src/main/java/org/fedoraproject/xmvn/connector/maven/XMvnMojoExecutionListener.java b/xmvn-connector/src/main/java/org/fedoraproject/xmvn/connector/maven/XMvnMojoExecutionListener.java ++index dc312edf..812ecd83 100644 ++--- a/xmvn-connector/src/main/java/org/fedoraproject/xmvn/connector/maven/XMvnMojoExecutionListener.java +++++ b/xmvn-connector/src/main/java/org/fedoraproject/xmvn/connector/maven/XMvnMojoExecutionListener.java ++@@ -25,6 +25,7 @@ import java.nio.file.Files; ++ import java.nio.file.Path; ++ import java.nio.file.Paths; ++ import java.util.ArrayList; +++import java.util.Collections; ++ import java.util.List; ++ import java.util.Properties; ++ ++@@ -276,7 +277,7 @@ public class XMvnMojoExecutionListener ++ } ++ else if ( XMVN_BUILDDEP.equals( execution ) ) ++ { ++- trySetBeanProperty( mojo, "resolutions", List.copyOf( resolutions ) ); +++ trySetBeanProperty( mojo, "resolutions", Collections.unmodifiableList( new ArrayList<>( resolutions ) ) ); ++ } ++ } ++ ++diff --git a/xmvn-connector/src/main/java/org/fedoraproject/xmvn/connector/maven/XMvnToolchainManager.java b/xmvn-connector/src/main/java/org/fedoraproject/xmvn/connector/maven/XMvnToolchainManager.java ++index 53f1020d..1fb59cb3 100644 ++--- a/xmvn-connector/src/main/java/org/fedoraproject/xmvn/connector/maven/XMvnToolchainManager.java +++++ b/xmvn-connector/src/main/java/org/fedoraproject/xmvn/connector/maven/XMvnToolchainManager.java ++@@ -22,6 +22,7 @@ import org.apache.maven.execution.MavenSession; ++ import org.apache.maven.project.MavenProject; ++ import org.apache.maven.toolchain.DefaultToolchainManagerPrivate; ++ import org.apache.maven.toolchain.MisconfiguredToolchainException; +++import org.apache.maven.toolchain.ToolchainPrivate; ++ import org.codehaus.plexus.component.annotations.Component; ++ ++ /** ++@@ -38,11 +39,11 @@ public class XMvnToolchainManager ++ ++ try ++ { ++- for ( var toolchain : getToolchainsForType( "jdk", session ) ) +++ for ( ToolchainPrivate toolchain : getToolchainsForType( "jdk", session ) ) ++ { ++ if ( toolchain.matchesRequirements( Collections.singletonMap( "xmvn", "xmvn" ) ) ) ++ { ++- for ( var project : session.getAllProjects() ) +++ for ( MavenProject project : session.getAllProjects() ) ++ { ++ session.setCurrentProject( project ); ++ storeToolchainToBuildContext( toolchain, session ); ++diff --git a/xmvn-core/.classpath b/xmvn-core/.classpath ++index 0fb79cfe..002ad570 100644 ++--- a/xmvn-core/.classpath +++++ b/xmvn-core/.classpath ++@@ -24,7 +24,7 @@ ++ ++ ++ ++- +++ ++ ++ ++ ++diff --git a/xmvn-core/.settings/org.eclipse.jdt.core.prefs b/xmvn-core/.settings/org.eclipse.jdt.core.prefs ++index 2d67d3f3..2f39a66b 100644 ++--- a/xmvn-core/.settings/org.eclipse.jdt.core.prefs +++++ b/xmvn-core/.settings/org.eclipse.jdt.core.prefs ++@@ -8,8 +8,8 @@ org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= ++ org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable ++ org.eclipse.jdt.core.compiler.annotation.nullable.secondary= ++ org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled ++-org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 ++-org.eclipse.jdt.core.compiler.compliance=11 +++org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +++org.eclipse.jdt.core.compiler.compliance=1.8 ++ org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning ++ org.eclipse.jdt.core.compiler.problem.autoboxing=ignore ++ org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning ++@@ -97,8 +97,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning ++ org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=warning ++ org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning ++ org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning ++-org.eclipse.jdt.core.compiler.release=enabled ++-org.eclipse.jdt.core.compiler.source=11 +++org.eclipse.jdt.core.compiler.release=disabled +++org.eclipse.jdt.core.compiler.source=1.8 ++ org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false ++ org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 ++ org.eclipse.jdt.core.formatter.align_type_members_on_columns=false ++diff --git a/xmvn-core/src/test/java/org/fedoraproject/xmvn/deployer/BasicDeployerTest.java b/xmvn-core/src/test/java/org/fedoraproject/xmvn/deployer/BasicDeployerTest.java ++index f79e5b64..0028f4f1 100644 ++--- a/xmvn-core/src/test/java/org/fedoraproject/xmvn/deployer/BasicDeployerTest.java +++++ b/xmvn-core/src/test/java/org/fedoraproject/xmvn/deployer/BasicDeployerTest.java ++@@ -28,6 +28,7 @@ import java.nio.file.Paths; ++ import java.nio.file.attribute.PosixFilePermission; ++ import java.util.Arrays; ++ import java.util.Collections; +++import java.util.regex.Matcher; ++ import java.util.regex.Pattern; ++ ++ import org.junit.jupiter.api.Test; ++@@ -149,7 +150,7 @@ public class BasicDeployerTest ++ { ++ return Files.lines( Paths.get( "/proc/self/status" ) ).map( s -> ++ { ++- var matcher = PROCESS_UID_PATTERN.matcher( s ); +++ Matcher matcher = PROCESS_UID_PATTERN.matcher( s ); ++ ++ if ( matcher.matches() ) ++ { ++diff --git a/xmvn-it/.classpath b/xmvn-it/.classpath ++index 2fcc9100..8131be0e 100644 ++--- a/xmvn-it/.classpath +++++ b/xmvn-it/.classpath ++@@ -19,7 +19,7 @@ ++ ++ ++ ++- +++ ++ ++ ++ ++diff --git a/xmvn-it/.settings/org.eclipse.jdt.core.prefs b/xmvn-it/.settings/org.eclipse.jdt.core.prefs ++index 2d67d3f3..2f39a66b 100644 ++--- a/xmvn-it/.settings/org.eclipse.jdt.core.prefs +++++ b/xmvn-it/.settings/org.eclipse.jdt.core.prefs ++@@ -8,8 +8,8 @@ org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= ++ org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable ++ org.eclipse.jdt.core.compiler.annotation.nullable.secondary= ++ org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled ++-org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 ++-org.eclipse.jdt.core.compiler.compliance=11 +++org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +++org.eclipse.jdt.core.compiler.compliance=1.8 ++ org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning ++ org.eclipse.jdt.core.compiler.problem.autoboxing=ignore ++ org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning ++@@ -97,8 +97,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning ++ org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=warning ++ org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning ++ org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning ++-org.eclipse.jdt.core.compiler.release=enabled ++-org.eclipse.jdt.core.compiler.source=11 +++org.eclipse.jdt.core.compiler.release=disabled +++org.eclipse.jdt.core.compiler.source=1.8 ++ org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false ++ org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 ++ org.eclipse.jdt.core.formatter.align_type_members_on_columns=false ++diff --git a/xmvn-it/src/test/java/org/fedoraproject/xmvn/it/AbstractIntegrationTest.java b/xmvn-it/src/test/java/org/fedoraproject/xmvn/it/AbstractIntegrationTest.java ++index f8a4e01a..c2e2d74e 100644 ++--- a/xmvn-it/src/test/java/org/fedoraproject/xmvn/it/AbstractIntegrationTest.java +++++ b/xmvn-it/src/test/java/org/fedoraproject/xmvn/it/AbstractIntegrationTest.java ++@@ -167,6 +167,11 @@ public abstract class AbstractIntegrationTest ++ return Files.lines( baseDir.resolve( STDERR ) ); ++ } ++ +++ public static int getJavaVersion() +++ { +++ return Integer.parseInt( System.getProperty( "java.version" ).replaceAll( "\\..*", "" ) ); +++ } +++ ++ /** ++ * @author Mikolaj Izdebski ++ */ ++diff --git a/xmvn-it/src/test/java/org/fedoraproject/xmvn/it/ArchiveLayoutIntegrationTest.java b/xmvn-it/src/test/java/org/fedoraproject/xmvn/it/ArchiveLayoutIntegrationTest.java ++index db7f59cb..dd8edf02 100644 ++--- a/xmvn-it/src/test/java/org/fedoraproject/xmvn/it/ArchiveLayoutIntegrationTest.java +++++ b/xmvn-it/src/test/java/org/fedoraproject/xmvn/it/ArchiveLayoutIntegrationTest.java ++@@ -190,7 +190,10 @@ public class ArchiveLayoutIntegrationTest ++ expect( 1, 1, "lib/" ); ++ expect( 30, 60, "lib/[^/]*\\.jar" ); ++ expect( 15, 30, "lib/[^/]*\\.license" ); ++- expect( 10, 100, "lib/jansi-native/.*" ); +++ +++ expect( 1, 1, "lib/jansi-native/" ); +++ expect( 1, 1, "lib/jansi-native/README\\.txt" ); +++ expect( 3, 9, "lib/jansi-native/Windows/.*" ); ++ ++ expect( 1, 1, "lib/ext/" ); ++ expect( 1, 1, "lib/ext/README\\.txt" ); ++diff --git a/xmvn-it/src/test/java/org/fedoraproject/xmvn/it/maven/mojo/javadoc/JavadocJPMSIntegrationTest.java b/xmvn-it/src/test/java/org/fedoraproject/xmvn/it/maven/mojo/javadoc/JavadocJPMSIntegrationTest.java ++index 2c28702a..78d6e394 100644 ++--- a/xmvn-it/src/test/java/org/fedoraproject/xmvn/it/maven/mojo/javadoc/JavadocJPMSIntegrationTest.java +++++ b/xmvn-it/src/test/java/org/fedoraproject/xmvn/it/maven/mojo/javadoc/JavadocJPMSIntegrationTest.java ++@@ -16,6 +16,7 @@ ++ package org.fedoraproject.xmvn.it.maven.mojo.javadoc; ++ ++ import static org.junit.jupiter.api.Assertions.assertTrue; +++import static org.junit.jupiter.api.Assumptions.assumeTrue; ++ ++ import java.nio.file.Files; ++ import java.nio.file.Paths; ++@@ -36,6 +37,7 @@ public class JavadocJPMSIntegrationTest ++ public void testJavadocJPMS() ++ throws Exception ++ { +++ assumeTrue( getJavaVersion() >= 9 ); ++ performTest( "verify", "org.fedoraproject.xmvn:xmvn-mojo:javadoc" ); ++ ++ assertTrue( Files.isDirectory( Paths.get( "target/xmvn-apidocs" ) ) ); ++diff --git a/xmvn-it/src/test/java/org/fedoraproject/xmvn/it/maven/mojo/javadoc/JavadocToolchainsIntegrationTest.java b/xmvn-it/src/test/java/org/fedoraproject/xmvn/it/maven/mojo/javadoc/JavadocToolchainsIntegrationTest.java ++new file mode 100644 ++index 00000000..c552652d ++--- /dev/null +++++ b/xmvn-it/src/test/java/org/fedoraproject/xmvn/it/maven/mojo/javadoc/JavadocToolchainsIntegrationTest.java ++@@ -0,0 +1,39 @@ +++/*- +++ * Copyright (c) 2021 Red Hat, Inc. +++ * +++ * Licensed under the Apache License, Version 2.0 (the "License"); +++ * you may not use this file except in compliance with the License. +++ * You may obtain a copy of the License at +++ * +++ * http://www.apache.org/licenses/LICENSE-2.0 +++ * +++ * Unless required by applicable law or agreed to in writing, software +++ * distributed under the License is distributed on an "AS IS" BASIS, +++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +++ * See the License for the specific language governing permissions and +++ * limitations under the License. +++ */ +++package org.fedoraproject.xmvn.it.maven.mojo.javadoc; +++ +++import static org.junit.jupiter.api.Assertions.assertTrue; +++ +++import org.junit.jupiter.api.Test; +++ +++import org.fedoraproject.xmvn.it.maven.mojo.AbstractMojoIntegrationTest; +++ +++/** +++ * Integration tests for javadoc MOJO. +++ * +++ * @author Mikolaj Izdebski +++ */ +++public class JavadocToolchainsIntegrationTest +++ extends AbstractMojoIntegrationTest +++{ +++ @Test +++ public void testJavadocToolchains() +++ throws Exception +++ { +++ performTest( "org.fedoraproject.xmvn:xmvn-mojo:javadoc" ); +++ assertTrue( getStdout().anyMatch( s -> s.equals( "[INFO] Toolchain in xmvn-mojo: JDK[/tmp]" ) ) ); +++ } +++} ++diff --git a/xmvn-it/src/test/resources/testBuilddepPackaging/child/pom.xml b/xmvn-it/src/test/resources/testBuilddepPackaging/child/pom.xml ++index 49027aa8..66351388 100644 ++--- a/xmvn-it/src/test/resources/testBuilddepPackaging/child/pom.xml +++++ b/xmvn-it/src/test/resources/testBuilddepPackaging/child/pom.xml ++@@ -13,7 +13,7 @@ ++ ++ junit ++ junit ++- 4.12 +++ 4.13.1 ++ ++ ++ ++diff --git a/xmvn-it/src/test/resources/testBuilddepPackagingExternal/parent/pom.xml b/xmvn-it/src/test/resources/testBuilddepPackagingExternal/parent/pom.xml ++index 588a6c6b..c59dc398 100644 ++--- a/xmvn-it/src/test/resources/testBuilddepPackagingExternal/parent/pom.xml +++++ b/xmvn-it/src/test/resources/testBuilddepPackagingExternal/parent/pom.xml ++@@ -9,7 +9,7 @@ ++ ++ junit ++ junit ++- 4.12 +++ 4.13.1 ++ ++ ++ ++diff --git a/xmvn-it/src/test/resources/testBuilddepProfileActivation/pom.xml b/xmvn-it/src/test/resources/testBuilddepProfileActivation/pom.xml ++index 361b404a..fe2a495b 100644 ++--- a/xmvn-it/src/test/resources/testBuilddepProfileActivation/pom.xml +++++ b/xmvn-it/src/test/resources/testBuilddepProfileActivation/pom.xml ++@@ -19,7 +19,7 @@ ++ ++ junit ++ junit ++- 4.12 +++ 4.13.1 ++ ++ ++ ++diff --git a/xmvn-it/src/test/resources/testBuilddepProfiles/pom.xml b/xmvn-it/src/test/resources/testBuilddepProfiles/pom.xml ++index f009b33f..95c06ed4 100644 ++--- a/xmvn-it/src/test/resources/testBuilddepProfiles/pom.xml +++++ b/xmvn-it/src/test/resources/testBuilddepProfiles/pom.xml ++@@ -13,7 +13,7 @@ ++ ++ junit ++ junit ++- 4.12 +++ 4.13.1 ++ ++ ++ ++diff --git a/xmvn-it/src/test/resources/testBuilddepTychoPomless/.mvn/extensions.xml b/xmvn-it/src/test/resources/testBuilddepTychoPomless/.mvn/extensions.xml ++index 4632f0fa..10e3eba4 100644 ++--- a/xmvn-it/src/test/resources/testBuilddepTychoPomless/.mvn/extensions.xml +++++ b/xmvn-it/src/test/resources/testBuilddepTychoPomless/.mvn/extensions.xml ++@@ -3,6 +3,6 @@ ++ ++ org.eclipse.tycho.extras ++ tycho-pomless ++- 2.3.0 +++ 1.7.0 ++ ++ ++diff --git a/xmvn-it/src/test/resources/testBuilddepTychoPomless/pom.xml b/xmvn-it/src/test/resources/testBuilddepTychoPomless/pom.xml ++index 66ce6ab5..d7a58b1b 100644 ++--- a/xmvn-it/src/test/resources/testBuilddepTychoPomless/pom.xml +++++ b/xmvn-it/src/test/resources/testBuilddepTychoPomless/pom.xml ++@@ -13,7 +13,7 @@ ++ ++ org.eclipse.tycho ++ tycho-maven-plugin ++- 2.3.0 +++ 1.7.0 ++ true ++ ++ ++diff --git a/xmvn-it/src/test/resources/testJavadoc/pom.xml b/xmvn-it/src/test/resources/testJavadoc/pom.xml ++index 241bee4d..7e8703d9 100644 ++--- a/xmvn-it/src/test/resources/testJavadoc/pom.xml +++++ b/xmvn-it/src/test/resources/testJavadoc/pom.xml ++@@ -18,7 +18,7 @@ ++ ++ org.apache.commons ++ commons-compress ++- 1.20 +++ 1.21 ++ ++ ++ org.apache.maven ++diff --git a/xmvn-it/src/test/resources/testJavadocJPMS/pom.xml b/xmvn-it/src/test/resources/testJavadocJPMS/pom.xml ++index 6bb860ef..5b4afac5 100644 ++--- a/xmvn-it/src/test/resources/testJavadocJPMS/pom.xml +++++ b/xmvn-it/src/test/resources/testJavadocJPMS/pom.xml ++@@ -16,7 +16,7 @@ ++ maven-compiler-plugin ++ 3.8.1 ++ ++- 11 +++ 9 ++ ++ ++ ++diff --git a/xmvn-it/src/test/resources/testJavadocToolchains/.xmvn/configuration.xml b/xmvn-it/src/test/resources/testJavadocToolchains/.xmvn/configuration.xml ++new file mode 100644 ++index 00000000..06f5b389 ++--- /dev/null +++++ b/xmvn-it/src/test/resources/testJavadocToolchains/.xmvn/configuration.xml ++@@ -0,0 +1,7 @@ +++ +++ +++ +++ metadata.xml +++ +++ +++ ++diff --git a/xmvn-it/src/test/resources/testJavadocToolchains/pom.xml b/xmvn-it/src/test/resources/testJavadocToolchains/pom.xml ++new file mode 100644 ++index 00000000..5296a0fe ++--- /dev/null +++++ b/xmvn-it/src/test/resources/testJavadocToolchains/pom.xml ++@@ -0,0 +1,6 @@ +++ +++ 4.0.0 +++ xmvn.its +++ javadoc-toolchains-test +++ 0.0.0-SNAPSHOT +++ ++diff --git a/xmvn-it/src/test/resources/testJavadocToolchains/src/main/java/somepkg/SomeClass.java b/xmvn-it/src/test/resources/testJavadocToolchains/src/main/java/somepkg/SomeClass.java ++new file mode 100644 ++index 00000000..087d2158 ++--- /dev/null +++++ b/xmvn-it/src/test/resources/testJavadocToolchains/src/main/java/somepkg/SomeClass.java ++@@ -0,0 +1,24 @@ +++/*- +++ * Copyright (c) 2016-2021 Red Hat, Inc. +++ * +++ * Licensed under the Apache License, Version 2.0 (the "License"); +++ * you may not use this file except in compliance with the License. +++ * You may obtain a copy of the License at +++ * +++ * http://www.apache.org/licenses/LICENSE-2.0 +++ * +++ * Unless required by applicable law or agreed to in writing, software +++ * distributed under the License is distributed on an "AS IS" BASIS, +++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +++ * See the License for the specific language governing permissions and +++ * limitations under the License. +++ */ +++package somepkg; +++ +++/** +++ * @author Mikolaj Izdebski +++ */ +++public class SomeClass +++{ +++ +++} ++diff --git a/xmvn-it/src/test/resources/testJavadocToolchains/toolchains.xml b/xmvn-it/src/test/resources/testJavadocToolchains/toolchains.xml ++new file mode 100644 ++index 00000000..9e92c646 ++--- /dev/null +++++ b/xmvn-it/src/test/resources/testJavadocToolchains/toolchains.xml ++@@ -0,0 +1,11 @@ +++ +++ +++ jdk +++ +++ xmvn +++ +++ +++ /tmp +++ +++ +++ ++diff --git a/xmvn-mojo/.classpath b/xmvn-mojo/.classpath ++index 4d004b9e..1a0c5608 100644 ++--- a/xmvn-mojo/.classpath +++++ b/xmvn-mojo/.classpath ++@@ -18,7 +18,7 @@ ++ ++ ++ ++- +++ ++ ++ ++ ++diff --git a/xmvn-mojo/.settings/org.eclipse.jdt.core.prefs b/xmvn-mojo/.settings/org.eclipse.jdt.core.prefs ++index 2d67d3f3..2f39a66b 100644 ++--- a/xmvn-mojo/.settings/org.eclipse.jdt.core.prefs +++++ b/xmvn-mojo/.settings/org.eclipse.jdt.core.prefs ++@@ -8,8 +8,8 @@ org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= ++ org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable ++ org.eclipse.jdt.core.compiler.annotation.nullable.secondary= ++ org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled ++-org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 ++-org.eclipse.jdt.core.compiler.compliance=11 +++org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +++org.eclipse.jdt.core.compiler.compliance=1.8 ++ org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning ++ org.eclipse.jdt.core.compiler.problem.autoboxing=ignore ++ org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning ++@@ -97,8 +97,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning ++ org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=warning ++ org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning ++ org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning ++-org.eclipse.jdt.core.compiler.release=enabled ++-org.eclipse.jdt.core.compiler.source=11 +++org.eclipse.jdt.core.compiler.release=disabled +++org.eclipse.jdt.core.compiler.source=1.8 ++ org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false ++ org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 ++ org.eclipse.jdt.core.formatter.align_type_members_on_columns=false ++diff --git a/xmvn-mojo/src/main/java/org/fedoraproject/xmvn/mojo/BuildDependencyVisitor.java b/xmvn-mojo/src/main/java/org/fedoraproject/xmvn/mojo/BuildDependencyVisitor.java ++index e77ca530..75cc4922 100644 ++--- a/xmvn-mojo/src/main/java/org/fedoraproject/xmvn/mojo/BuildDependencyVisitor.java +++++ b/xmvn-mojo/src/main/java/org/fedoraproject/xmvn/mojo/BuildDependencyVisitor.java ++@@ -16,6 +16,7 @@ ++ package org.fedoraproject.xmvn.mojo; ++ ++ import java.util.Arrays; +++import java.util.Collections; ++ import java.util.LinkedHashSet; ++ import java.util.List; ++ import java.util.Set; ++@@ -53,7 +54,7 @@ class BuildDependencyVisitor ++ ++ public Set getArtifacts() ++ { ++- return Set.copyOf( artifacts ); +++ return Collections.unmodifiableSet( artifacts ); ++ } ++ ++ private boolean isExternal( InputLocation location ) ++diff --git a/xmvn-mojo/src/main/java/org/fedoraproject/xmvn/mojo/JavadocMojo.java b/xmvn-mojo/src/main/java/org/fedoraproject/xmvn/mojo/JavadocMojo.java ++index b2cd41fd..20b0154a 100644 ++--- a/xmvn-mojo/src/main/java/org/fedoraproject/xmvn/mojo/JavadocMojo.java +++++ b/xmvn-mojo/src/main/java/org/fedoraproject/xmvn/mojo/JavadocMojo.java ++@@ -45,6 +45,8 @@ import org.apache.maven.project.DependencyResolutionRequest; ++ import org.apache.maven.project.DependencyResolutionResult; ++ import org.apache.maven.project.MavenProject; ++ import org.apache.maven.project.ProjectDependenciesResolver; +++import org.apache.maven.toolchain.Toolchain; +++import org.apache.maven.toolchain.ToolchainManager; ++ import org.codehaus.plexus.logging.Logger; ++ import org.codehaus.plexus.util.StringUtils; ++ import org.eclipse.aether.util.filter.AndDependencyFilter; ++@@ -67,7 +69,10 @@ public class JavadocMojo ++ private ProjectDependenciesResolver resolver; ++ ++ @Component ++- private Configurator confugurator; +++ private Configurator configurator; +++ +++ @Component +++ private ToolchainManager toolchainManager; ++ ++ @Parameter( defaultValue = "${session}", readonly = true ) ++ private MavenSession session; ++@@ -84,9 +89,12 @@ public class JavadocMojo ++ @Parameter( defaultValue = "${project.build.directory}", required = true ) ++ private File buildDirectory; ++ ++- @Parameter( property = "source" ) +++ @Parameter( property = "source", defaultValue = "${maven.compiler.source}" ) ++ private String source; ++ +++ @Parameter( defaultValue = "${maven.compiler.release}" ) +++ private String release; +++ ++ private static String quoted( Object obj ) ++ { ++ String arg = obj.toString(); ++@@ -161,12 +169,21 @@ public class JavadocMojo ++ public void execute() ++ throws MojoExecutionException, MojoFailureException ++ { +++ String javadocTool = null; +++ Toolchain tc = toolchainManager.getToolchainFromBuildContext( "jdk", session ); +++ if ( tc != null ) +++ { +++ logger.info( "Toolchain in xmvn-mojo: " + tc ); +++ javadocTool = tc.findTool( "javadoc" ); +++ } ++ Path javadocExecutable; ++- if ( System.getenv().containsKey( "JAVA_HOME" ) ) +++ if ( javadocTool != null && !javadocTool.isEmpty() ) ++ { ++- javadocExecutable = Paths.get( System.getenv( "JAVA_HOME" ) ) // ++- .resolve( "bin" ) // ++- .resolve( "javadoc" ); +++ javadocExecutable = Paths.get( javadocTool ); +++ } +++ else if ( System.getenv().containsKey( "JAVA_HOME" ) ) +++ { +++ javadocExecutable = Paths.get( System.getenv( "JAVA_HOME" ) ).resolve( "bin" ).resolve( "javadoc" ); ++ } ++ else ++ { ++@@ -222,8 +239,38 @@ public class JavadocMojo ++ List reactorClassPath = new ArrayList<>(); ++ List fullClassPath = new ArrayList<>(); ++ populateClasspath( reactorClassPath, fullClassPath ); +++ boolean isModular = !findFiles( reactorClassPath, "module-info\\.class" ).isEmpty(); ++ ++- if ( findFiles( reactorClassPath, "module-info\\.class" ).isEmpty() ) +++ String sourceLevel = null; +++ if ( release != null ) +++ { +++ opts.add( "--release" ); +++ opts.add( quoted( release ) ); +++ sourceLevel = release; +++ } +++ else if ( source != null ) +++ { +++ opts.add( "-source" ); +++ opts.add( quoted( source ) ); +++ sourceLevel = source; +++ } +++ +++ boolean skipModuleInfo = !isModular; +++ if ( sourceLevel != null ) +++ { +++ try +++ { +++ float f = Float.parseFloat( sourceLevel ); +++ if ( f < 9 ) +++ skipModuleInfo = true; +++ } +++ catch ( Exception e ) +++ { +++ // pass, we assume that we use modular Java +++ } +++ } +++ +++ if ( !isModular || skipModuleInfo ) ++ { ++ opts.add( "-classpath" ); ++ } ++@@ -244,15 +291,11 @@ public class JavadocMojo ++ opts.add( quoted( docencoding ) ); ++ opts.add( "-doctitle" ); ++ opts.add( quoted( "Javadoc for package XXX" ) ); ++- if ( source != null ) ++- { ++- opts.add( "-source" ); ++- opts.add( quoted( source ) ); ++- } ++ ++ for ( Path file : sourceFiles ) ++ { ++- opts.add( quoted( file ) ); +++ if ( !skipModuleInfo || !file.endsWith( "module-info.java" ) ) +++ opts.add( quoted( file ) ); ++ } ++ ++ Files.write( outputDir.resolve( "args" ), opts, StandardOpenOption.CREATE ); ++diff --git a/xmvn-parent/pom.xml b/xmvn-parent/pom.xml ++index 2dafffbe..030923f9 100644 ++--- a/xmvn-parent/pom.xml +++++ b/xmvn-parent/pom.xml ++@@ -77,47 +77,47 @@ ++ ++ US-ASCII ++ ++- 9.2 ++- 1.81 ++- 3.1.0 ++- 1.7.1 ++- 3.8.1 +++ 9.3 +++ 1.82 +++ 3.2.0 +++ 1.8.1 +++ 3.8.6 ++ 2.6.0 ++- 3.3.0 ++- 3.6.1 ++- 2.0.0-alpha2 +++ 3.4.2 +++ 3.6.4 +++ 2.0.0-alpha7 ++ 1.21 ++ ++ ++ 1.3.2.GA ++ 3.3.0 ++- 3.2.0 ++- 8.44 +++ 3.3.0 +++ 9.3 ++ 3.1.2 ++- 3.1.0 ++- 3.8.1 ++- 3.2.0 ++- 3.0.0-M1 +++ 3.2.0 +++ 3.10.1 +++ 3.3.0 +++ 3.0.0-M2 ++ 4.3 ++ 3.0.1 ++ 3.0.0-M1 ++- 0.8.7 ++- 3.2.0 ++- 3.3.0 ++- 5.7.2 +++ 0.8.8 +++ 3.2.2 +++ 3.4.0 +++ 5.8.2 ++ 2.3 ++ 1.0 ++- 1.11 ++- 1.6.8 +++ 2.0.0 +++ 1.6.13 ++ 3.0.1 ++ 3.0.0 ++- 2.1.0 ++- 0.13 +++ 2.1.1 +++ 0.14 ++ 3.2.0 ++- 3.9.1 +++ 3.12.0 ++ 3.2.1 ++- 3.0.0-M5 ++- 2.8.2 +++ 3.0.0-M7 +++ 2.9.0 ++ ++ ++ ++@@ -298,7 +298,8 @@ ++ maven-compiler-plugin ++ ${compilerPluginVersion} ++ ++- 11 +++ 1.8 +++ 1.8 ++ ++ ++ ++@@ -469,12 +470,6 @@ ++ ++ ++ release ++- ++- ++- env.CI ++- true ++- ++- ++ ++ ++ ++@@ -564,5 +559,27 @@ ++ ++ ++ +++ +++ jdk9+ +++ +++ [9,) +++ +++ +++ +++ +++ maven-compiler-plugin +++ +++ 8 +++ +++ +++ +++ maven-surefire-plugin +++ +++ --add-opens java.base/java.lang=ALL-UNNAMED +++ +++ +++ +++ +++ ++ ++ ++diff --git a/xmvn-tools/xmvn-install/.classpath b/xmvn-tools/xmvn-install/.classpath ++index 0fb79cfe..002ad570 100644 ++--- a/xmvn-tools/xmvn-install/.classpath +++++ b/xmvn-tools/xmvn-install/.classpath ++@@ -24,7 +24,7 @@ ++ ++ ++ ++- +++ ++ ++ ++ ++diff --git a/xmvn-tools/xmvn-install/.settings/org.eclipse.jdt.core.prefs b/xmvn-tools/xmvn-install/.settings/org.eclipse.jdt.core.prefs ++index 2d67d3f3..2f39a66b 100644 ++--- a/xmvn-tools/xmvn-install/.settings/org.eclipse.jdt.core.prefs +++++ b/xmvn-tools/xmvn-install/.settings/org.eclipse.jdt.core.prefs ++@@ -8,8 +8,8 @@ org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= ++ org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable ++ org.eclipse.jdt.core.compiler.annotation.nullable.secondary= ++ org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled ++-org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 ++-org.eclipse.jdt.core.compiler.compliance=11 +++org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +++org.eclipse.jdt.core.compiler.compliance=1.8 ++ org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning ++ org.eclipse.jdt.core.compiler.problem.autoboxing=ignore ++ org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning ++@@ -97,8 +97,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning ++ org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=warning ++ org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning ++ org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning ++-org.eclipse.jdt.core.compiler.release=enabled ++-org.eclipse.jdt.core.compiler.source=11 +++org.eclipse.jdt.core.compiler.release=disabled +++org.eclipse.jdt.core.compiler.source=1.8 ++ org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false ++ org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 ++ org.eclipse.jdt.core.formatter.align_type_members_on_columns=false ++diff --git a/xmvn-tools/xmvn-install/src/test/java/org/fedoraproject/xmvn/tools/install/JarUtilsTest.java b/xmvn-tools/xmvn-install/src/test/java/org/fedoraproject/xmvn/tools/install/JarUtilsTest.java ++index 8866752d..d2ef084e 100644 ++--- a/xmvn-tools/xmvn-install/src/test/java/org/fedoraproject/xmvn/tools/install/JarUtilsTest.java +++++ b/xmvn-tools/xmvn-install/src/test/java/org/fedoraproject/xmvn/tools/install/JarUtilsTest.java ++@@ -411,8 +411,8 @@ public class JarUtilsTest ++ ++ byte[] content = Files.readAllBytes( testJar ); ++ ++- var previousSecurity = System.getSecurityManager(); ++- var fobiddingSecurity = new ForbiddingSecurityManager( testJar.toString() ); +++ SecurityManager previousSecurity = System.getSecurityManager(); +++ SecurityManager fobiddingSecurity = new ForbiddingSecurityManager( testJar.toString() ); ++ ++ System.setSecurityManager( fobiddingSecurity ); ++ ++@@ -430,7 +430,7 @@ public class JarUtilsTest ++ "Content of the backup file is different from the content of the original file" ); ++ ++ System.setSecurityManager( previousSecurity ); ++- try ( var os = new FileOutputStream( testJar.toFile(), true ) ) +++ try ( FileOutputStream os = new FileOutputStream( testJar.toFile(), true ) ) ++ { ++ /// Append garbage to the original file to check if the content of the backup will be retained ++ os.write( 0 ); ++diff --git a/xmvn-tools/xmvn-resolve/.classpath b/xmvn-tools/xmvn-resolve/.classpath ++index 97c81cef..4f8e155a 100644 ++--- a/xmvn-tools/xmvn-resolve/.classpath +++++ b/xmvn-tools/xmvn-resolve/.classpath ++@@ -13,7 +13,7 @@ ++ ++ ++ ++- +++ ++ ++ ++ ++diff --git a/xmvn-tools/xmvn-resolve/.settings/org.eclipse.jdt.core.prefs b/xmvn-tools/xmvn-resolve/.settings/org.eclipse.jdt.core.prefs ++index 2d67d3f3..2f39a66b 100644 ++--- a/xmvn-tools/xmvn-resolve/.settings/org.eclipse.jdt.core.prefs +++++ b/xmvn-tools/xmvn-resolve/.settings/org.eclipse.jdt.core.prefs ++@@ -8,8 +8,8 @@ org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= ++ org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable ++ org.eclipse.jdt.core.compiler.annotation.nullable.secondary= ++ org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled ++-org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 ++-org.eclipse.jdt.core.compiler.compliance=11 +++org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +++org.eclipse.jdt.core.compiler.compliance=1.8 ++ org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning ++ org.eclipse.jdt.core.compiler.problem.autoboxing=ignore ++ org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning ++@@ -97,8 +97,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning ++ org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=warning ++ org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning ++ org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning ++-org.eclipse.jdt.core.compiler.release=enabled ++-org.eclipse.jdt.core.compiler.source=11 +++org.eclipse.jdt.core.compiler.release=disabled +++org.eclipse.jdt.core.compiler.source=1.8 ++ org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false ++ org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 ++ org.eclipse.jdt.core.formatter.align_type_members_on_columns=false ++diff --git a/xmvn-tools/xmvn-subst/.classpath b/xmvn-tools/xmvn-subst/.classpath ++index 4559ca0b..5e8a55fe 100644 ++--- a/xmvn-tools/xmvn-subst/.classpath +++++ b/xmvn-tools/xmvn-subst/.classpath ++@@ -13,7 +13,7 @@ ++ ++ ++ ++- +++ ++ ++ ++ ++diff --git a/xmvn-tools/xmvn-subst/.settings/org.eclipse.jdt.core.prefs b/xmvn-tools/xmvn-subst/.settings/org.eclipse.jdt.core.prefs ++index 2d67d3f3..2f39a66b 100644 ++--- a/xmvn-tools/xmvn-subst/.settings/org.eclipse.jdt.core.prefs +++++ b/xmvn-tools/xmvn-subst/.settings/org.eclipse.jdt.core.prefs ++@@ -8,8 +8,8 @@ org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary= ++ org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable ++ org.eclipse.jdt.core.compiler.annotation.nullable.secondary= ++ org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled ++-org.eclipse.jdt.core.compiler.codegen.targetPlatform=11 ++-org.eclipse.jdt.core.compiler.compliance=11 +++org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +++org.eclipse.jdt.core.compiler.compliance=1.8 ++ org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning ++ org.eclipse.jdt.core.compiler.problem.autoboxing=ignore ++ org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning ++@@ -97,8 +97,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning ++ org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=warning ++ org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning ++ org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning ++-org.eclipse.jdt.core.compiler.release=enabled ++-org.eclipse.jdt.core.compiler.source=11 +++org.eclipse.jdt.core.compiler.release=disabled +++org.eclipse.jdt.core.compiler.source=1.8 ++ org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false ++ org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647 ++ org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +-- +2.37.3 + diff --git a/README.md b/README.md new file mode 100644 index 0000000..f6b4b45 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# javapackages-bootstrap + +The javapackages-bootstrap package 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..7b6e38f --- /dev/null +++ b/gating.yaml @@ -0,0 +1,9 @@ +--- !Policy +product_versions: + - fedora-* +decision_contexts: + - bodhi_update_push_testing + - bodhi_update_push_stable +rules: + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/smoke.functional} + - !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/javapackages.functional} diff --git a/generate-bundled-provides.sh b/generate-bundled-provides.sh new file mode 100755 index 0000000..3fe380c --- /dev/null +++ b/generate-bundled-provides.sh @@ -0,0 +1,45 @@ +#!/bin/sh +set -eu + +for f in project/*.properties; do + b=${f##*/} + p=${b%%.properties} + echo "$p $f" +done | sed -n ' +s/^commons-beanutils /apache-commons-beanutils / +s/^commons-cli /apache-commons-cli / +s/^commons-codec /apache-commons-codec / +s/^commons-collections /apache-commons-collections / +s/^commons-compress /apache-commons-compress / +s/^commons-io /apache-commons-io / +s/^commons-jxpath /apache-commons-jxpath / +s/^commons-lang /apache-commons-lang3 / +s/^commons-logging /apache-commons-logging / +s/^commons-parent-pom /apache-commons-parent / +s/^apache-pom /apache-parent / +s/^bnd /aqute-bnd / +s/^injection-api /atinject / +s/^jaf-api /jakarta-activation1 / +s/^jcommander /beust-jcommander / +s/^cdi /cdi-api / +s/^felix-parent-pom /felix-parent / +s/^guice /google-guice / +s/^httpcomponents-parent-pom /httpcomponents-project / +s/^common-annotations-api /jakarta-annotations / +s/^servlet-api /jakarta-servlet / +s/^cup /java_cup / +s/^junit4 /junit / +s/^mail-api /jakarta-mail / +s/^maven-parent-pom /maven-parent / +s/^maven-bundle-plugin /maven-plugin-bundle / +s/^mojo-parent-pom /mojo-parent / +s/^asm /objectweb-asm / +s/^osgi-cmpn /osgi-compendium / +s/^sisu-inject /sisu / +s/^oss-parent-pom /sonatype-oss-parent / +s/^velocity-engine /velocity / +p +' | while read fp mp; do + . $mp + echo "bundled($fp) = $version" +done diff --git a/generate-sources-list.sh b/generate-sources-list.sh new file mode 100755 index 0000000..a372245 --- /dev/null +++ b/generate-sources-list.sh @@ -0,0 +1,8 @@ +#!/bin/sh +set -eu + +i=1000 +for p in $(ls javapackages-bootstrap-*/project/*.properties | xargs -n1 basename | sed s/.properties$//); do + i=$(expr $i + 1) + echo "Source$i: $p.tar.xz" +done diff --git a/javapackages-bootstrap-PACKAGE-LICENSING b/javapackages-bootstrap-PACKAGE-LICENSING new file mode 100644 index 0000000..9f8625b --- /dev/null +++ b/javapackages-bootstrap-PACKAGE-LICENSING @@ -0,0 +1,124 @@ +# Licensing breakdown: +# ant has license: Apache-2.0 +# aopalliance has license: LicenseRef-Fedora-Public-Domain +# apache-pom has license: Apache-2.0 +# apiguardian has license: Apache-2.0 +# asm has license: BSD-3-Clause +# assertj-core has license: Apache-2.0 +# bnd has license: Apache-2.0 OR EPL-2.0 +# build-helper-maven-plugin has license: MIT +# byte-buddy has license: Apache-2.0 +# cdi has license: Apache-2.0 +# cglib has license: Apache-2.0 AND BSD-3-Clause +# common-annotations-api has license: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0 +# commons-beanutils has license: Apache-2.0 +# commons-cli has license: Apache-2.0 +# commons-codec has license: Apache-2.0 +# commons-collections has license: Apache-2.0 +# commons-compress has license: Apache-2.0 +# commons-io has license: Apache-2.0 +# commons-jxpath has license: Apache-2.0 +# commons-lang has license: Apache-2.0 +# commons-logging has license: Apache-2.0 +# commons-parent-pom has license: Apache-2.0 +# cup has license: SMLNJ +# disruptor has license: Apache-2.0 +# easymock has license: Apache-2.0 +# extra-enforcer-rules has license: Apache-2.0 +# felix-parent-pom has license: Apache-2.0 +# felix-utils has license: Apache-2.0 +# fusesource-pom has license: Apache-2.0 +# guava has license: Apache-2.0 AND CC0-1.0 +# guice has license: Apache-2.0 +# hamcrest has license: BSD-3-Clause +# httpcomponents-client has license: Apache-2.0 +# httpcomponents-core has license: Apache-2.0 +# httpcomponents-parent-pom has license: Apache-2.0 +# injection-api has license: Apache-2.0 +# jaf-api has license: BSD-3-Clause +# jansi has license: Apache-2.0 +# javacc has license: BSD-2-Clause AND BSD-3-Clause +# javacc-maven-plugin has license: Apache-2.0 +# javaparser has license: Apache-2.0 OR LGPL-2.0-or-later +# jcommander has license: Apache-2.0 +# jctools has license: Apache-2.0 +# jdom has license: Saxpath +# jdom2 has license: Saxpath +# jflex has license: BSD-3-Clause +# jsoup has license: MIT +# jsr-305 has license: BSD-3-Clause +# junit4 has license: EPL-1.0 +# junit5 has license: EPL-2.0 +# log4j has license: Apache-2.0 +# mail-api has license: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0 +# maven has license: Apache-2.0 AND MIT +# maven-antrun-plugin has license: Apache-2.0 +# maven-apache-resources has license: Apache-2.0 +# maven-archiver has license: Apache-2.0 +# maven-artifact-transfer has license: Apache-2.0 +# maven-assembly-plugin has license: Apache-2.0 +# maven-bundle-plugin has license: Apache-2.0 +# maven-common-artifact-filters has license: Apache-2.0 +# maven-compiler-plugin has license: Apache-2.0 +# maven-dependency-analyzer has license: Apache-2.0 +# maven-dependency-plugin has license: Apache-2.0 +# maven-dependency-tree has license: Apache-2.0 +# maven-enforcer has license: Apache-2.0 +# maven-file-management has license: Apache-2.0 +# maven-filtering has license: Apache-2.0 +# maven-jar-plugin has license: Apache-2.0 +# maven-parent-pom has license: Apache-2.0 +# maven-plugin-testing has license: Apache-2.0 +# maven-plugin-tools has license: Apache-2.0 +# maven-remote-resources-plugin has license: Apache-2.0 +# maven-resolver has license: Apache-2.0 +# maven-resources-plugin has license: Apache-2.0 +# maven-shared-incremental has license: Apache-2.0 +# maven-shared-io has license: Apache-2.0 +# maven-shared-utils has license: Apache-2.0 +# maven-source-plugin has license: Apache-2.0 +# maven-surefire has license: Apache-2.0 AND CPL-1.0 +# maven-verifier has license: Apache-2.0 +# maven-wagon has license: Apache-2.0 +# mbi has license: Apache-2.0 +# mockito has license: MIT +# modello has license: Apache-2.0 AND MIT AND Plexus +# moditect has license: Apache-2.0 +# modulemaker-maven-plugin has license: Apache-2.0 +# mojo-parent-pom has license: Apache-2.0 +# objenesis has license: Apache-2.0 +# opentest4j has license: Apache-2.0 +# osgi-annotation has license: Apache-2.0 +# osgi-cmpn has license: Apache-2.0 +# osgi-core has license: Apache-2.0 +# plexus-archiver has license: Apache-2.0 +# plexus-build-api has license: Apache-2.0 +# plexus-cipher has license: Apache-2.0 +# plexus-classworlds has license: Apache-2.0 AND Plexus +# plexus-compiler has license: Apache-2.0 AND MIT +# plexus-components-pom has license: Apache-2.0 +# plexus-containers has license: Apache-2.0 AND MIT AND xpp +# plexus-interpolation has license: Apache-1.1 AND Apache-2.0 AND MIT +# plexus-io has license: Apache-2.0 +# plexus-languages has license: Apache-2.0 +# plexus-pom has license: Apache-2.0 +# plexus-resources has license: Apache-2.0 AND MIT +# plexus-sec-dispatcher has license: Apache-2.0 +# plexus-testing has license: Apache-2.0 +# plexus-utils has license: Apache-1.1 AND Apache-2.0 AND BSD-3-Clause AND LicenseRef-Fedora-Public-Domain AND xpp +# plexus-xml has license: Apache-1.1 AND Apache-2.0 AND xpp +# qdox has license: Apache-2.0 +# servlet-api has license: Apache-2.0 AND (EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0) +# sisu-inject has license: BSD-3-Clause AND EPL-1.0 +# sisu-mojos has license: EPL-1.0 +# sisu-plexus has license: BSD-3-Clause AND EPL-1.0 +# slf4j has license: Apache-2.0 AND MIT +# testng has license: Apache-2.0 +# univocity-parsers has license: Apache-2.0 +# velocity-engine has license: Apache-2.0 +# xmlunit has license: Apache-2.0 +# xmvn has license: Apache-2.0 +# xmvn-generator has license: Apache-2.0 +# xz-java has license: LicenseRef-Fedora-Public-Domain +# Therefore combined license is: +License: Apache-1.1 AND Apache-2.0 AND (Apache-2.0 OR EPL-2.0) AND (Apache-2.0 OR LGPL-2.0-or-later) AND BSD-2-Clause AND BSD-3-Clause AND CC0-1.0 AND CPL-1.0 AND EPL-1.0 AND EPL-2.0 AND (EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0) AND LicenseRef-Fedora-Public-Domain AND MIT AND Plexus AND SMLNJ AND Saxpath AND xpp diff --git a/javapackages-bootstrap.spec b/javapackages-bootstrap.spec new file mode 100644 index 0000000..8baa16f --- /dev/null +++ b/javapackages-bootstrap.spec @@ -0,0 +1,410 @@ +# Exclude automatically generated requires on java interpreter which is not +# owned by any package +%global __requires_exclude ^%{_jvmdir}/java + +# Don't run OSGi dependency generators on private (bundled) JARs +%global __requires_exclude_from \\.jar$ +%global __provides_exclude_from \\.jar$ + +# Generated list of bundled packages +%global __local_generator_provides cat %{_builddir}/%{buildsubdir}/bundled-provides.txt +%global __local_generator_path ^%{metadataPath}/.*$ + +%global debug_package %{nil} + +%global javaHomePath %{_jvmdir}/java-21-openjdk +%global mavenHomePath %{_datadir}/%{name} +%global metadataPath %{mavenHomePath}/maven-metadata +%global artifactsPath %{_prefix}/lib +%global launchersPath %{_libexecdir}/%{name} + +#global git_hash ... +#global git_short_hash %(echo %{git_hash} | cut -b -7) + +Name: javapackages-bootstrap +Version: 1.17.0 +Release: 1%{?dist} +Summary: A means of bootstrapping Java Packages Tools +# For detailed info see the file javapackages-bootstrap-PACKAGE-LICENSING +License: Apache-1.1 AND Apache-2.0 AND (Apache-2.0 OR EPL-2.0) AND (Apache-2.0 OR LGPL-2.0-or-later) AND BSD-2-Clause AND BSD-3-Clause AND CC0-1.0 AND CPL-1.0 AND EPL-1.0 AND EPL-2.0 AND (EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0) AND LicenseRef-Fedora-Public-Domain AND MIT AND Plexus AND SMLNJ AND Saxpath AND xpp +URL: https://github.com/fedora-java/javapackages-bootstrap +ExclusiveArch: %{java_arches} + +Source0: https://github.com/fedora-java/javapackages-bootstrap/releases/download/%{version}/javapackages-bootstrap-%{version}.tar.xz +#Source0: https://github.com/fedora-java/javapackages-bootstrap/archive/%{git_short_hash}.tar.gz + +# License breakdown +Source1: javapackages-bootstrap-PACKAGE-LICENSING +Source2: generate-bundled-provides.sh + +# To obtain the following sources: +# tar -xf ${name}-${version}.tar.xz +# pushd ${name}-${version} +# ./downstream.sh clone +# ./downstream.sh prep +# ./downstream.sh archive +# The results are in the archive directory +Source1001: ant.tar.xz +Source1002: aopalliance.tar.xz +Source1003: apache-pom.tar.xz +Source1004: apiguardian.tar.xz +Source1005: asm.tar.xz +Source1006: assertj-core.tar.xz +Source1007: bnd.tar.xz +Source1008: build-helper-maven-plugin.tar.xz +Source1009: byte-buddy.tar.xz +Source1010: cdi.tar.xz +Source1011: cglib.tar.xz +Source1012: common-annotations-api.tar.xz +Source1013: commons-beanutils.tar.xz +Source1014: commons-cli.tar.xz +Source1015: commons-codec.tar.xz +Source1016: commons-collections.tar.xz +Source1017: commons-compress.tar.xz +Source1018: commons-io.tar.xz +Source1019: commons-jxpath.tar.xz +Source1020: commons-lang.tar.xz +Source1021: commons-logging.tar.xz +Source1022: commons-parent-pom.tar.xz +Source1023: cup.tar.xz +Source1024: disruptor.tar.xz +Source1025: easymock.tar.xz +Source1026: extra-enforcer-rules.tar.xz +Source1027: felix-parent-pom.tar.xz +Source1028: felix-utils.tar.xz +Source1029: fusesource-pom.tar.xz +Source1030: guava.tar.xz +Source1031: guice.tar.xz +Source1032: hamcrest.tar.xz +Source1033: httpcomponents-client.tar.xz +Source1034: httpcomponents-core.tar.xz +Source1035: httpcomponents-parent-pom.tar.xz +Source1036: injection-api.tar.xz +Source1037: jaf-api.tar.xz +Source1038: jansi.tar.xz +Source1039: javacc-maven-plugin.tar.xz +Source1040: javacc.tar.xz +Source1041: javaparser.tar.xz +Source1042: jcommander.tar.xz +Source1043: jctools.tar.xz +Source1044: jdom.tar.xz +Source1045: jdom2.tar.xz +Source1046: jflex.tar.xz +Source1047: jsoup.tar.xz +Source1048: jsr-305.tar.xz +Source1049: junit4.tar.xz +Source1050: junit5.tar.xz +Source1051: log4j.tar.xz +Source1052: mail-api.tar.xz +Source1053: maven-antrun-plugin.tar.xz +Source1054: maven-apache-resources.tar.xz +Source1055: maven-archiver.tar.xz +Source1056: maven-artifact-transfer.tar.xz +Source1057: maven-assembly-plugin.tar.xz +Source1058: maven-bundle-plugin.tar.xz +Source1059: maven-common-artifact-filters.tar.xz +Source1060: maven-compiler-plugin.tar.xz +Source1061: maven-dependency-analyzer.tar.xz +Source1062: maven-dependency-plugin.tar.xz +Source1063: maven-dependency-tree.tar.xz +Source1064: maven-enforcer.tar.xz +Source1065: maven-file-management.tar.xz +Source1066: maven-filtering.tar.xz +Source1067: maven-jar-plugin.tar.xz +Source1068: maven-parent-pom.tar.xz +Source1069: maven-plugin-testing.tar.xz +Source1070: maven-plugin-tools.tar.xz +Source1071: maven-remote-resources-plugin.tar.xz +Source1072: maven-resolver.tar.xz +Source1073: maven-resources-plugin.tar.xz +Source1074: maven-shared-incremental.tar.xz +Source1075: maven-shared-io.tar.xz +Source1076: maven-shared-utils.tar.xz +Source1077: maven-source-plugin.tar.xz +Source1078: maven-surefire.tar.xz +Source1079: maven-verifier.tar.xz +Source1080: maven-wagon.tar.xz +Source1081: maven.tar.xz +Source1082: mockito.tar.xz +Source1083: modello.tar.xz +Source1084: moditect.tar.xz +Source1085: modulemaker-maven-plugin.tar.xz +Source1086: mojo-parent-pom.tar.xz +Source1087: objenesis.tar.xz +Source1088: opentest4j.tar.xz +Source1089: osgi-annotation.tar.xz +Source1090: osgi-cmpn.tar.xz +Source1091: osgi-core.tar.xz +Source1092: plexus-archiver.tar.xz +Source1093: plexus-build-api.tar.xz +Source1094: plexus-cipher.tar.xz +Source1095: plexus-classworlds.tar.xz +Source1096: plexus-compiler.tar.xz +Source1097: plexus-components-pom.tar.xz +Source1098: plexus-containers.tar.xz +Source1099: plexus-interpolation.tar.xz +Source1100: plexus-io.tar.xz +Source1101: plexus-languages.tar.xz +Source1102: plexus-pom.tar.xz +Source1103: plexus-resources.tar.xz +Source1104: plexus-sec-dispatcher.tar.xz +Source1105: plexus-testing.tar.xz +Source1106: plexus-utils.tar.xz +Source1107: plexus-xml.tar.xz +Source1108: qdox.tar.xz +Source1109: servlet-api.tar.xz +Source1110: sisu-inject.tar.xz +Source1111: sisu-mojos.tar.xz +Source1112: sisu-plexus.tar.xz +Source1113: slf4j.tar.xz +Source1114: testng.tar.xz +Source1115: univocity-parsers.tar.xz +Source1116: velocity-engine.tar.xz +Source1117: xmlunit.tar.xz +Source1118: xmvn-generator.tar.xz +Source1119: xmvn.tar.xz +Source1120: xz-java.tar.xz + +BuildRequires: byaccj +BuildRequires: gcc +BuildRequires: java-21-openjdk-devel +BuildRequires: jurand +BuildRequires: rpm-devel +BuildRequires: rpm-local-generator-support + +Requires: bash +Requires: coreutils +Requires: java-21-openjdk-devel +Requires: procps-ng +Requires: lujavrite%{?_isa} + +Requires: javapackages-common + +%description +In a nutshell, Java Packages Bootstrap (JPB) is a standalone build of all Java +software packages that are required for Java Packages Tools (JPT) to work. + +In order to achieve reliable and reproducible builds of Java packages while +meeting Fedora policy that requires everything to be built from source, without +using prebuilt binary artifacts, it is necessary to build the packages in a +well-defined, acyclic order. Dependency cycles between packages are the biggest +obstacle to achieving this goal and JPT is the biggest offender -- it requires +more than a hundred of Java packages, all of which in turn build-require JPT. + +JPB comes with a solution to this problem -- it builds everything that JPT needs +to work, without reliance on any Java software other than OpenJDK. JPT can +depend on JPB for everything, without depending on any other Java packages. For +example, JPB contains embedded version of XMvn, removing dependency of JPT on +XMvn, allowing JPT to be used before one builds XMvn package. + +%prep +%setup -q +# Dynamically generate bundled Provides +%{SOURCE2} >bundled-provides.txt + +# leave out the first source as it has already been extracted +# leave out licensing breakdown file +other_sources=$(echo %{sources} | cut -d' ' -f4-) + +for source in ${other_sources}; do + tar -xf "${source}" +done + +for patch_path in patches/*/*; do + package_name="$(echo ${patch_path} | cut -f2 -d/)" + patch_name="$(echo ${patch_path} | cut -f3 -d/)" + + pushd "downstream/${package_name}" + # Unify line endings + find . -name '*.java' -exec sed -i 's/\r//' {} + + sed 's/\r//' "../../patches/${package_name}/${patch_name}" | patch -p1 + popd +done + +%build +export LC_ALL=C.UTF-8 +JAVA_HOME=%{javaHomePath} ./mbi.sh build -parallel + +%install +JAVA_HOME=%{javaHomePath} ./mbi.sh dist \ + -javaCmdPath=%{javaHomePath}/bin/java \ + -basePackageName=%{name} \ + -installRoot=%{buildroot} \ + -mavenHomePath=%{mavenHomePath} \ + -metadataPath=%{metadataPath} \ + -artifactsPath=%{artifactsPath} \ + -launchersPath=%{launchersPath} \ + -licensesPath=%{_licensedir}/%{name} \ + +install -D -p -m 644 downstream/xmvn-generator/src/main/lua/xmvn-generator.lua %{buildroot}%{_rpmluadir}/%{name}-generator.lua +install -D -p -m 644 downstream/xmvn-generator/src/main/rpm/macros.xmvngen %{buildroot}%{_rpmmacrodir}/macros.jpbgen +install -D -p -m 644 downstream/xmvn-generator/src/main/rpm/macros.xmvngenhook %{buildroot}%{_sysconfdir}/rpm/macros.jpbgenhook +install -D -p -m 644 downstream/xmvn-generator/src/main/rpm/xmvngen.attr %{buildroot}%{_fileattrsdir}/jpbgen.attr + +echo ' +%%__xmvngen_debug 1 +%%__xmvngen_libjvm %{javaHomePath}/lib/server/libjvm.so +%%__xmvngen_classpath %{artifactsPath}/%{name}/xmvn-generator.jar:%{artifactsPath}/%{name}/asm.jar:%{artifactsPath}/%{name}/commons-compress.jar +%%__xmvngen_provides_generators org.fedoraproject.xmvn.generator.jpms.JPMSGeneratorFactory +%%__xmvngen_requires_generators %%{nil} +%%__xmvngen_post_install_hooks org.fedoraproject.xmvn.generator.transformer.TransformerHookFactory +%%jpb_env PATH=/usr/libexec/javapackages-bootstrap:$PATH +' >%{buildroot}%{_rpmmacrodir}/macros.jpbgen + +sed -i s/xmvn-generator/%{name}-generator/ %{buildroot}%{_sysconfdir}/rpm/macros.jpbgenhook +sed -i s/xmvn-generator/%{name}-generator/ %{buildroot}%{_fileattrsdir}/jpbgen.attr +sed -i s/_xmvngen_/_jpbgen_/ %{buildroot}%{_fileattrsdir}/jpbgen.attr + +%check +%{buildroot}%{launchersPath}/xmvn --version + +%files +%{mavenHomePath} +%{metadataPath}/* +%{artifactsPath}/* +%{launchersPath}/* +%{_rpmluadir}/* +%{_rpmmacrodir}/* +%{_fileattrsdir}/* +%{_sysconfdir}/rpm/* + +%license %{_licensedir}/%{name} +%doc README.md +%doc AUTHORS + +%changelog +* Wed Jul 31 2024 Mikolaj Izdebski - 1.17.0-1 +- Update to upstream version 1.17.0 + +* Wed Jul 24 2024 Mikolaj Izdebski - 1.16.0-4 +- Put private JAR files outsides of javadir/jnidir + +* Thu Jul 18 2024 Fedora Release Engineering - 1.16.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Tue Feb 27 2024 Jiri Vanek - 1.16.0-2 +- Rebuilt for java-21-openjdk as system jdk + +* Mon Feb 19 2024 Mikolaj Izdebski - 1.16.0-1 +- Update to upstream version 1.16.0 +- Switch from Java 17 to Java 21 + +* Wed Feb 07 2024 Mikolaj Izdebski - 1.15.0-1 +- Update to upstream version 1.15.0 + +* Wed Jan 24 2024 Fedora Release Engineering - 1.14.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jan 20 2024 Fedora Release Engineering - 1.14.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Dec 11 2023 Mikolaj Izdebski - 1.14.0-1 +- Update to upstream version 1.14.0 + +* Wed Oct 25 2023 Mikolaj Izdebski - 1.13.0-3 +- Dynamically generate bundled Provides + +* Fri Sep 01 2023 Mikolaj Izdebski - 1.13.0-2 +- Convert License tag to SPDX format + +* Fri Aug 25 2023 Mikolaj Izdebski - 1.13.0-1 +- Update to upstream version 1.13.0 + +* Mon Aug 21 2023 Mikolaj Izdebski - 1.12.0-1 +- Update to upstream version 1.12.0 + +* Thu Aug 17 2023 Mikolaj Izdebski - 1.11.0-2 +- Update to upstream version 1.11.0 + +* Thu Aug 10 2023 Mikolaj Izdebski - 1.10.0-1 +- Update to upstream version 1.10.0 + +* Thu Jul 20 2023 Fedora Release Engineering - 1.9.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Fri Mar 31 2023 Mikolaj Izdebski - 1.9.0-2 +- Rebuild with no changes + +* Mon Mar 27 2023 Mikolaj Izdebski - 1.9.0-1 +- Update to upstream version 1.9.0 + +* Mon Mar 20 2023 Mikolaj Izdebski - 1.8.1-1 +- Update to upstream version 1.8.1 + +* Fri Mar 17 2023 Mikolaj Izdebski - 1.8.0-1 +- Update to upstream version 1.8.0 + +* Thu Jan 19 2023 Fedora Release Engineering - 1.7.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Oct 19 2022 Marian Koncek - 1.7.2-1 +- Update to upstream version 1.7.2 + +* Thu Jul 21 2022 Fedora Release Engineering - 1.7.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Jun 22 2022 Mikolaj Izdebski - 1.7.1-1 +- Update to upstream version 1.7.1 + +* Tue Jun 14 2022 Mikolaj Izdebski - 1.7.0-3 +- Add openjdk8 toolchain subpackage + +* Mon Jun 06 2022 Mikolaj Izdebski - 1.7.0-2 +- Drop build-requires on javapackages-generators + +* Fri May 13 2022 Mikolaj Izdebski - 1.7.0-1 +- Update to upstream version 1.7.0 + +* Thu May 05 2022 Mikolaj Izdebski - 1.5.0^20220505.git4f9a68a-2 +- Fix dangling toolchains.xml symlink + +* Thu May 05 2022 Mikolaj Izdebski - 1.5.0^20220505.git4f9a68a-1 +- Update to latest upstream snapshot + +* Fri Apr 29 2022 Mikolaj Izdebski - 1.5.0^20220429.git1cfada9-1 +- Update to latest upstream snapshot + +* Sat Feb 05 2022 Jiri Vanek - 1.5.0^20220105.git9f283b7-3 +- Rebuilt for java-17-openjdk as system jdk + +* Thu Jan 20 2022 Fedora Release Engineering - 1.5.0^20220105.git9f283b7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jan 05 2022 Marian Koncek - 1.5.0^20220105.git9f283b7-1 +- Update to latest upstream snapshot + +* Wed Nov 03 2021 Mikolaj Izdebski - 1.5.0^20211102.gitd76c032-2 +- Build with OpenJDK 17 + +* Tue Nov 02 2021 Mikolaj Izdebski - 1.5.0^20211102.gitd76c032-1 +- Update to latest upstream snapshot + +* Thu Oct 28 2021 Mikolaj Izdebski - 1.5.0^20211028.git2daa95f-1 +- Update to latest upstream snapshot + +* Fri Oct 15 2021 Marian Koncek - 1.5.0~20211015.1e296d5-1 +- Update to upstream snapshot 1e296d550d91f89f383e42ceeb0856b97214b51a + +* Mon Jul 26 2021 Mikolaj Izdebski - 1.5.0-1 +- Update to upstream version 1.5.0 + +* Thu Jul 22 2021 Fedora Release Engineering - 1.4.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Thu Mar 18 2021 Mikolaj Izdebski - 1.4.0-1 +- Update to upstream version 1.4.0 + +* Mon Feb 08 2021 Marian Koncek - 1.3.0-1 +- Update to upstream version 1.3.0 + +* Tue Jan 26 2021 Fedora Release Engineering - 1.2.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Dec 16 2020 Mikolaj Izdebski - 1.2.0-1 +- Update to upstream version 1.2.0 + +* Thu Dec 3 2020 Mikolaj Izdebski - 1.1.0-1 +- Update to upstream version 1.1.0 + +* Wed Nov 25 2020 Marian Koncek - 1.0.0-1 +- Initial commit diff --git a/plans/javapackages.fmf b/plans/javapackages.fmf new file mode 100644 index 0000000..17c6113 --- /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: f41 +execute: + how: tmt diff --git a/plans/smoke.fmf b/plans/smoke.fmf new file mode 100644 index 0000000..a1e7bfd --- /dev/null +++ b/plans/smoke.fmf @@ -0,0 +1,5 @@ +summary: Basic smoke test +discover: + how: fmf +execute: + how: tmt diff --git a/sources b/sources new file mode 100644 index 0000000..fe9010e --- /dev/null +++ b/sources @@ -0,0 +1,121 @@ +SHA512 (javapackages-bootstrap-1.17.0.tar.xz) = a8363096cbcc91dd23996a0b433523a709af0f88f99eafb784d21545575d242e2f53a94cf5ae8b6fcdefde9ab17e15d3c780a119173623a19d4c2abe753e16b9 +SHA512 (ant.tar.xz) = 30e4ef50010f04c64c60777f30079099c11a2e3dbdd71f2987dfec3912d2716a802979713d851c9a5f6f324431997a42b77f7739cd9e4fb5d3816cc614271ed4 +SHA512 (aopalliance.tar.xz) = 1f9a8a63edb76a73a40dcb3edee72fad069d4b509cc4b702cb9af9aaf694dadeef01fa7d20c285c6c37f7cb030643d267e3a1b834567785399fc986da474e626 +SHA512 (apache-pom.tar.xz) = 5aa6bcd3e39a0083e9ee714774734d4066fe571722e543ec08f9e2aac27653b37a9e0fb67d62bbce050d0f51661d842ecb4724208ed200068ea0128af7471a7a +SHA512 (apiguardian.tar.xz) = c3d75e88a983eb53c06007fd01f11c89083e119d2d4ed5d0e97644f45d5e451fd611bee493d720d011562ae29e7cdfd1d6fb4621d17c9db4b61430e62afea2bf +SHA512 (asm.tar.xz) = 5503b1493a3beb60d6471d008d32563ae8d1dc2c77ec1c68645a8bc7b588e77725051c50fca2a045b7ceb9ad8ce4286249be06b32509ebc2e67e7d11eaacad4b +SHA512 (assertj-core.tar.xz) = ff74f1a24f074eeea93a2ed42852630fd813d7a78ecf90f818a1504eb054e113c48a81c32f715c2b7bf3eea745819f05b235f400cb4116e8d3c907f7d7cdca83 +SHA512 (bnd.tar.xz) = bb163a650a6f92f88051a6d169d40a2b1b103d12f5e219be55eac16acdf23868ab8544610891c7b0bd58e79a7c8d7dd5fc238b2bc5195b4510f764593966ba2a +SHA512 (build-helper-maven-plugin.tar.xz) = a2e74a87fab996f9ff2b40ec90cd9ea434dd8ed72ac213b007a96ea0b3c5eddc29e42ed2fc0879d90532043e7dab00486311adadccda74dee195b0c4421aa00d +SHA512 (byte-buddy.tar.xz) = 2893213db78ec8c314edbc3588a94f1a2fc15a6ab760bab5495120299913272df743638d3d722bca80e1f59cabf6a74c61c9446a98c5931a429f1d9835226a40 +SHA512 (cdi.tar.xz) = 334ffd958aa8915eabeaf8c554cffc0e636e73538d2efa2ddb405903814f9c3a0be99fbb325f2bd6a0207d71dcac7f5d1b82efb962b1ac24db263379c7f759ac +SHA512 (cglib.tar.xz) = 2938c98ed74a95828a1353afae1e79b43725899e845a3e040c2fd9705f87fd523bb9c04f36d8ad1beec21c725bd85d40eeebc30e161334da0469b854f263e9c9 +SHA512 (common-annotations-api.tar.xz) = 2df37b149dd687bff64064ea393e8e93fe907079966c367963fe983ea6edd612f5208113e2432a515d68f2d3d6892a12582bfe1e304b8c71ebe2acbb35c3b2c4 +SHA512 (commons-beanutils.tar.xz) = 8d88c5d46f0536dc952da85fe3554f4d682b03eba4adcd01d9726821d03193d236a5bb89c3b3469c86a767bf969628bdce6916b48a6a4aa0952ae36e1a8a0831 +SHA512 (commons-cli.tar.xz) = ab4f0a5f15e7c45ec012b0377c7980c63f9f596aa635993741abfc51ccda0b76129df6ed729acb22a37362a4fa1e8b212e00fe43720096d483204af6dc293647 +SHA512 (commons-codec.tar.xz) = 48f031385e3e540d3ad8388d9c43db4f9c0cbdf86bd73d730e7dec79d4121c67cc9d13751acddf01ea194653033dbc37dbd2f6d5c1c0316d585c4fe0e56a61fa +SHA512 (commons-collections.tar.xz) = 5033b96edd59c6eba0c6fcb2208755e0a317a66cc218df7e5ad05fa063055085ac0ed683728a979b54ddb10b71c7a0d7fbb2a3249bca361be7a428d84a049f56 +SHA512 (commons-compress.tar.xz) = ffaa8cc7f16304994f4a8da47f4d6688ea7e0cfdf10a21cb226e3b7c2b2ea490e44a2fb4996fac132f7a98eaf429ff45d9034f7f64497ee44b362d8ec74d3e19 +SHA512 (commons-io.tar.xz) = 5cac83cb8157e12ead6fbaea2bacf0f41a6742ad35a73c937ab45a5143ae7343f4f2805dd2872b930d7c8a7dfaf93019d24b205a45c3c520054bd792dd3cc977 +SHA512 (commons-jxpath.tar.xz) = 6ad0e7e2f5f3dd377d78af1a49f5b7fa41ad66b71b80f73ac822e49a006b79dd06ee872c508dc8eb7696ef71bea2ee89c186b6dfc2cdcc4cc2da778f6950d2f5 +SHA512 (commons-lang.tar.xz) = 0afa9c1c358804d820997bd066b8fe25b839eb73f0c20812ff5a0f3a3ab40ee27cd24b2ce732bd48190def8af6648ec22acc479f8bf49c8697dbd00e36398c41 +SHA512 (commons-logging.tar.xz) = 89cb6279d2b19852446532e5574c49218305527063a044f4d89af123e47b3b76ab43e93201bd35f59a58885101a69cc4d32f0e6e7e24800132c88678f30894d2 +SHA512 (commons-parent-pom.tar.xz) = 3f83842a7d19efb1d83de0108cefe79a299f86d87b6984e1885fd7c8d74d8f8211486bc9e6034939fc1227c89111dc245a5d042d2d9fbe1e3f2ecaaac55b87c5 +SHA512 (cup.tar.xz) = 8624696fed9ed0045873a48a75f55f248faa9b3cfc5573182b4c67469d43dfde55d4e676dad6636d31c1f3729456e29b2facc4754e5d4caaaf39dfe6e1fd6af5 +SHA512 (disruptor.tar.xz) = 370c5e9829b92fd948064ed61f907407d42b22aff6fa75f943d7e51af796a18d98e93005a5ce2fc780031405b1732b9d869bd36c9d4b114c8fad411598e59275 +SHA512 (easymock.tar.xz) = 48489da810750bd9351327584f78d58cf4965ac22341ad4d964edead04c2665a5ea003c245c644f52a04f75e3b046ed3562e483657355ad414ecfc5ed69f965a +SHA512 (extra-enforcer-rules.tar.xz) = 61598a329ffefc820ebf45ade558dcd89f7ef9a5501c932625404e93c84c16b96610d3d3e9f3ba96c2fc0fc65af765686b999ef07e7dbb076facd6b804ea06b0 +SHA512 (felix-parent-pom.tar.xz) = 3e9cd28d4c3757d2bf0f598bfd44e7faa7eee4545840ee3e9f6c7f70448b15b1282ecb1826648f29c60ea33bc894fb28a9ca8d49183cf27b082aa44573a087bf +SHA512 (felix-utils.tar.xz) = 39b32a2bb3b527b040796c06632d916ed53feaf728eee8902bab712d889d6c9118d925f1b957bc5ee66a4cf6be58e43f4992c7636f61d0c3c385c23f2ffc4a9c +SHA512 (fusesource-pom.tar.xz) = 1fe5d089eac6dbd2885d3ce1174e313d33e9b02ad24e700e033895bd73dace81ff8cccf7382f51ec8a3f0aa5cec515bb3018fa8a2f62cf7fcfc077991ba65f51 +SHA512 (guava.tar.xz) = 493e4c2b7b336499528d21d4cd832625c753dd136e4b8043ded2825abe25482a2bdea6b9e6da7f38bcce47c19cb844dccb03adf0c8f5ace3ec927fe2fa6a5435 +SHA512 (guice.tar.xz) = ed7b98e8317c622dad0b6820a50ecc49d6153534250844fbde1dbcb60fc51d396267f5590c7a4fe06de020d86be7712f7d6edbd718c9590e406ff74b1e0ee71c +SHA512 (hamcrest.tar.xz) = 2049a59774773c2369e4c561545067524402a420bace29dc8cffac0fca8b6aa870e3de1882cc4a35549b67269ecbfc54e335ffd0c599ddb4b56341948da777a2 +SHA512 (httpcomponents-client.tar.xz) = 710cc30df9f2cfb38ee4b6300e340e82a74cf351f7b8f169199891a231bdd477dbccc4ce96be985c8ef2d7afc78bb793d8e9ecfd86b2957cf673e80199509715 +SHA512 (httpcomponents-core.tar.xz) = 3a876e6966c6fb7ef7c071d0c65c541fa2c3fe164200c3ef86fe273ccaa6a982a9b1f400ec5f5146be01fca338c9b5d8b516441f9ea1b281997d5b36ebb1a2ab +SHA512 (httpcomponents-parent-pom.tar.xz) = 90a9ad4d484fa04f0ad0b1631a45133a97950b5a0cb22b46f4bd36bcf1d5811c38472b0c1c77a052301b1c502022ef21371e1f921bed104c900e2631127daea2 +SHA512 (injection-api.tar.xz) = a0faaa4aa4a94d1cf01387b9d327da2be5d5c016b6fa6aca3aed0d75d4bec2c9a04df12fdc3c67f17b03918584ab5261f8dc20ab620f1289e34f8ad8ee23c9a6 +SHA512 (jaf-api.tar.xz) = 8b3f729164dbaa8cfcba047d5fb1d4134301ecc525644f3d28f9196002fedcf81fb22797adf5b05cfe80a46793093b5e5f38104732e3d3384866f003da66cb0e +SHA512 (jansi.tar.xz) = 374f5ba2f55abd9ff5e15f009f94e9878bc077a62e0bd3ae3b18c5089c754478eefa991d8a4331330e052f7a65e551995821308cdb14e260dd84d6236945010e +SHA512 (javacc.tar.xz) = 130bbd063d6275f23affd74f289307bf4a65cc73928485b20b7fad9e1dc8a1202c4c84a85ec4716e9a8899dd01dbef6ebb92edf2f07252d2b41a5bedc60169dd +SHA512 (javacc-maven-plugin.tar.xz) = 3b50527e56e2bb1e709b5bc28bf79a0e28085bd0f72ab0f155d497b757986bcaa10a2a5af808e54aa6996521a25c26c5836f9b13d8f96684627a3dd32c9e31f9 +SHA512 (javaparser.tar.xz) = d09f12844ee544ffacf059cda8e266618e98251f52bb1d31375522914bb1bd61f4713906b5d16921ff1f0e6f7379127321015a8000c2a4611aee2688833dd9b3 +SHA512 (jcommander.tar.xz) = 3a9a20aa0b28581cd6cfd489a7121b62cbbd75f97feba2e20184a140e66ea34396aa6d0d640bdb75aca79346267a2b8615320ac3a2a98537b1a0caff91e072dd +SHA512 (jctools.tar.xz) = 1e03bf5a6a6321b4fa824ce1eb75f2deb21e81422a5319b85d232845f29d2907f14655d3019add693712715bb4d30cb2b33d74609fe89981d049fd27786534c0 +SHA512 (jdom.tar.xz) = 1a36168a0b8f2b9057855198e097fcb50992d9d79892cdeeb20eada43ad7a79acf4fda0a06496b8a36cb537577575504efc066774912a1c4d08288e716232579 +SHA512 (jdom2.tar.xz) = cba13bbb38b1f083ca0b498c9a8a22279174b2c6c51b89c7def662370fa6a3ff27feea350f2d9ebedcdaa520ffae82881e9e865e14bc011682fd2dd7aa38c1ac +SHA512 (jflex.tar.xz) = 3e291540af7f4ac83c786f79d9500265d2f49d54d2a472f565f92233e536af6cd4b5d775ad0eb5990a14edf682512bdc48c7eb30bef7a243292a0165e331f393 +SHA512 (jsoup.tar.xz) = db0ac8d4387d0d6e9ce7236f1e233b80e8c9543c5680b8fab48cc9c64f7e7a5c669606eb6acda6e83d841c70cbd7fb64271f57ae6073fccf34ca5e645207c683 +SHA512 (jsr-305.tar.xz) = fb666ec0dd8d4fe13eb88a9ce3a7b912c66e53b152d3742133a1b81d0b9d22f4a98187e7f55bc3d3d20c47ae4b8576e03e5ed42b957d706cd951214f7216be6c +SHA512 (junit4.tar.xz) = 1cdcdaa8e5329239b396412d79707b7b2052154502725b5f0a93f17d0273c235f2e63380555b2e3328c40b5d421d586d07e392401b6bf8be35ed6c06345add84 +SHA512 (junit5.tar.xz) = fa21bbb639ac9baf7aff8c517871750bde673533995d1a304dcd0faac09abf385fdb76f5d070fff3346b1dd914faf723c3380dab3c3967154516f82131c7b966 +SHA512 (log4j.tar.xz) = eb97efa3fd04944bd4f2fd29d7079e34a469f81c2b00a1f08226de962f59d5498ccd3b26b97c79992e0d60c8b75b796f789fefcfb72b2f1703ceb3a6d97577d4 +SHA512 (mail-api.tar.xz) = 01bd2cfea8307954d01a8fa0f3a6da409b3975ca624c98a06cfa2a5c1ea260e1d6d0a568f0ab5167a0ed063d51032372dfe0aba89b6ef063e1a7b75fc9e6756f +SHA512 (maven-antrun-plugin.tar.xz) = b66ca8409225bdf84143a0783a1ca607fed53bf7a15a04ff1200e7c63c9a9223e43625c7d955c8cf233ed0a271887faf5cc1ed9c87b39caffb9f0a389fcc37fc +SHA512 (maven-apache-resources.tar.xz) = 06583b9db006e45add380d76dab419dc91a9d52b8b7cb5c30be347fb412c2124f41789a440d7e1502a88bbdf125c46b6f2e6feb96b7a31e78998ce303c40d3d3 +SHA512 (maven-archiver.tar.xz) = 34b4d384eec420e30740c05ba8c1c01acf5c8a1d2830b2f3856bdc89b6d1601b56027f73be351c474b01006ff9df9513bbf24d3b6faeed1ec170df6caf892963 +SHA512 (maven-artifact-transfer.tar.xz) = eb023b00573a10f2002b2b23b048ef3c0e59d33c20cefd8915227450923f6ba7850ac9d96b73fec9b2fd0127bcfdcd08deefd47803aa7a0e6c6ccc0d40dc2fc2 +SHA512 (maven-assembly-plugin.tar.xz) = 60d88bb9bc6b4a69e3002405d7d8e948d0623d0fabebacf7e7f16982f5ae02ac766d30a47ca8696607afedb9c815626e08dd45b00e5bac9d75d887e3398de4bf +SHA512 (maven-bundle-plugin.tar.xz) = 4ab2d852714c9b1fe1be563e0808757222804d740eb4ac2729e6a21da522e56b013d2da852d757c03adf34523bd6817c03687711be975a69f9d6a09cb97668ec +SHA512 (maven-common-artifact-filters.tar.xz) = a71240d76de7577c3dad5ea665ed1c6c605af5f2fde0eb541eba7776cf11715af48113982ae86db4f4475d274a6ea8f1789acb47d0ddf7b556fa8871a989603c +SHA512 (maven-compiler-plugin.tar.xz) = 8bb9d6d80d83234c7ce73cae948a2e070e5e44c4f1526f680d17bc019676080d0dc752234144d19438bd97ea613435c10e3021babe29cd2c612d751d708c6246 +SHA512 (maven-dependency-analyzer.tar.xz) = c9442c85aed2f882ed59e4cc4cffa67b480b3ee6c4835e561c973759f00d5da3b75bbdf21541202d262de4e78067be4ffd0eeacc76f8c1e1092b106f4fb451ff +SHA512 (maven-dependency-plugin.tar.xz) = d9fa700ee94e8dadd896cb2486ce6d8d599d0d3d73d540ef5017e201c4115936b706761cff360cfee10efc62d288e6b084ab5270e010ec1195a43432860e2cc4 +SHA512 (maven-dependency-tree.tar.xz) = 6b510dc0096200f0309cbc7530f05e83b573f1017941f39ba5c916de2c0e8014b3a427d3fc647eeb3c53fb1a62ad1cc2f10ad37e3ec3693d304a4d107bf1550f +SHA512 (maven-enforcer.tar.xz) = 14bc87d47e0cfafa4c1f1255b2cfa400e7bf382ccdb838063780b3791b637075d7d1d029c1b3fd6a0fa040d21d5bb7734dd827c2fb19dbe7ee036eeb8f63be56 +SHA512 (maven-file-management.tar.xz) = 6c6595730e3f12aa872421b7cc9c914862472614d5ed8719a153505ba9db08124053610d31d2c1340ca0387e4310e01ee3a396a87b74c3be3b3e7e85168a8e91 +SHA512 (maven-filtering.tar.xz) = df581006cd8ca5b7fe6c094e797a07d57ef3fb773dc34d41568a5dae2c020cf00d79f0fee15edf566dc30527a9533c9429215684e3ffa563545192797059d6a8 +SHA512 (maven-jar-plugin.tar.xz) = 9edf1c05d60307acc8eea505441bd625ea4859ccd8305ad353875b6d14cec2bd5dd2e3d3f8f0ff4f72ffed390251a1ffea22c3e0e90c4e71e583fb9f9a0c4724 +SHA512 (maven-parent-pom.tar.xz) = 181952afe766e80aab10a92ce0d44c5adbd7335599273b5791c8cb87fdee8c7b9ce59b6d933b2d3507a7bf396b08db9a848d315beb7c58019740d65b6c761e0e +SHA512 (maven-plugin-testing.tar.xz) = e72fcab892a00b52af06a821b3c2cff676af2bfc77ccaa851cf55017623bf89bb376a16f933fa0853087c1e8161336d21e649745ba2659c87795c4d8fad026df +SHA512 (maven-plugin-tools.tar.xz) = 044c982182ec94a2f60efebbe10307c093433219c8c8f98ca2d1f79f1695467d89ccff259cbbb3788a699f9cd435e1fcd2d06fbf7ab9e78d21ff5c5741fbefdd +SHA512 (maven-remote-resources-plugin.tar.xz) = 64e055300c5995a192b627badacaa911c55c47cf0c9ab1ad2c189630d29e551624a2bb6794d4f6471a4aad075491ed2c3162f3ec4b0f6f43325b880af91de469 +SHA512 (maven-resolver.tar.xz) = 32175742a35bcf5af5318e35b869e977d93203da0eef5046518acbed86cfa1fde5b0629dfee7c20a33f298687963dbaca2ff47959d992c080d6691bf006e87bb +SHA512 (maven-resources-plugin.tar.xz) = 44941668dd3b59dd6e22bd622534ae23baaaf7f76ea074de17a7ec21607392301ef36efe5f2efdcd39f72ea733d2cb65bd10054e7a0c969626853ee2374bbdbc +SHA512 (maven-shared-incremental.tar.xz) = 77ca067f25b396ccef4f4f911323a3b8bfae11c321628e32e012fb1a4dbfbba3a7a0451789b1513aa72ea408bed4a10782f5995eff8083a6af818a97a9842379 +SHA512 (maven-shared-io.tar.xz) = 0963cca6ff1acb9090d703d384f54f2b036be032f4ebdbbc59fafff806c593a17afe25cedaa562d47dcc2e0ab2b66e4ed7f3b0c66e133ebdee8ede3c81a3d2dd +SHA512 (maven-shared-utils.tar.xz) = 6e8ddd06d6d537d7799de082430ef4ef9ef8238a83a65b0411d506a2bfcd5f0d3d4eba02cd27f831abb45bf67de8d3dfc4d86b980c8a73261f59fd4fcf50c487 +SHA512 (maven-source-plugin.tar.xz) = 93037d9af24e2e6034ee967efea2676ba29d7966789968956bf10a94093e4e0bb0c10829490d1cf15d9cdab81bdce219f248c2b3f89c3b90d683f9aab66b73b1 +SHA512 (maven-surefire.tar.xz) = f4fab395f421077fc7df1f038d54d12f20aaa712c4fd7a03ea2e9f681ea46d323b464b31322093f15c2845dc8fecad3e8071df210e992382ca9883325d5f2ead +SHA512 (maven-verifier.tar.xz) = 2634ea238f2e2ac174a5157c960f30352ea9f07f7f31136ee47d6c1d7451c28e0867a485d1e449f5fde2c27376488fc81dcb58afc8b5229a3114d72996da5d19 +SHA512 (maven-wagon.tar.xz) = 8274ce5922016806359e67ce154b4a6649e6825486a1cf3d1870cefed7cf8e3ceb7132e41df4f63fe6ab3635f8a6aad0ea8da19fc8e9f6dd1fecac53c55f254b +SHA512 (maven.tar.xz) = 418e378a4312eb4f511043d60b8c0d2b9632794cac3c3a315ad0e6ed238bd223e817aa4c8657f2d2c4ab74ba96274d416c8cb0dbb85cbd7d9e9aee47c9646b9a +SHA512 (mockito.tar.xz) = 8fefdeae3e7bcb41c97080aa208bc9bb6fa787235cc572990ba376c9995f60fa7ab7534e88701da36b00b49eb7b5f2b1c479bbf0e9c86fc1923a7eddc68b4c77 +SHA512 (modello.tar.xz) = a371fe1369d5453fb3a928f6053c36f1f39df970f322804e1daeef2b0c5f87556e42ff22508a57104d16e6c81584c77b34f6bbba6c7cc0f7084402767998ae82 +SHA512 (moditect.tar.xz) = b17ea518671cfcfe52ec5a50253577b0d82281c3517a5dca93bbbb868438124f7e7c91eebde1d4816058d475d51606618bcb7040c97087844b001b1ded0c583d +SHA512 (modulemaker-maven-plugin.tar.xz) = c3b0b60a5315e0d25c6a6116e9536981eed001c75caa121a897be0a7c4e3fc308362128b6c4fd2e4b5e200e1f6b7c0876ae61d79f108d336ce0fad4c6ef7da30 +SHA512 (mojo-parent-pom.tar.xz) = 94567865c57e4d1a8b9a6c2aa8aa2beabec142ffcd464d89a8f553af194820fb4546524e3c0723bcd7ab169007faa0c9d0410b2c363a8552ff32c79b117a2cb0 +SHA512 (objenesis.tar.xz) = eb432f56318ed70aae56cb94b98818c92f30e7dd0d221eab1bfa15898b663da121c0ab4ffe283b4bf03ebadf411bc2ec742c31ca1a01f6e2c9da4a1b6798d912 +SHA512 (opentest4j.tar.xz) = 3a5a80d7c982a7f024f169048833c4aa989f7f57e5ddeb9bd907aefdff937260c893b5fda1eb3646de105f7c8db45455a7438babd8007c6dbb6fe197dc5e20b5 +SHA512 (osgi-annotation.tar.xz) = 96d0bc61978cc223100d447bb291d6b8ccf2a56356dbabcc7f31d4eccfb3dcdc9c86400867478676087feb0bd7767956c6819e63728c22c5f063399f38abe90c +SHA512 (osgi-cmpn.tar.xz) = 1be16086c97a7375b89516d86c0381ed5c9f1c86b4b2c3f60e02d974de588f7de1b29f6b8c99b1392d449559588d64817f4de92e3a27ef6b544538881eb03831 +SHA512 (osgi-core.tar.xz) = caf409302ff430f6b4d13155152a5b8524a828c88f6260a745c041fa37c44628894d3649620e381f8a407a49402b30877a37613a0bb129c236587210a9475759 +SHA512 (plexus-archiver.tar.xz) = 1c99cf1b6c5d7c09ca686f839e4662d9113e41343c7b1f37ce7f934e6ba82f609b3808bdcf8fbdbc9414a46e1230b180b3ea9dbe1082e52acf7a8d3a6e9c3ccd +SHA512 (plexus-build-api.tar.xz) = 1908f360b9926a752dd3950d85e9aa6cbb0f5ebfd92198ed4d04372e5f47a3d5aa771b25b75f6f4dea50ef909b1c4b5084e7b8a40a260c3c5dbfc12b43bf05a7 +SHA512 (plexus-cipher.tar.xz) = 28243457ee852513938fcff991dfa59098845145807bc0682a7ff815591a444bd89dd812f72b0fff8cfbb21b26d310c4653c05467bae3fb55d0995fe7bd1dfb9 +SHA512 (plexus-classworlds.tar.xz) = 5e6544ee938063e2cba904b26ba9102619c43591711db06875651085f01f594ede3ac4ca7d3fad13a49866d418d5114050a8e92fc64dcaa1dfab4ce87dc41815 +SHA512 (plexus-compiler.tar.xz) = 6361bb24986844ed3d767b9c73a1ec4d76bd2e71cb97ca361e375bd3010efe6255e836bf4c7cd2cdb435be0b3c9704e3813f01bea8a5e1558d03959e3ad210bd +SHA512 (plexus-components-pom.tar.xz) = 663f3f28d349b62dd08bee6bd0a29736a9b48551ea84a3cf9b2f59e4f2c20ec25b774c2fac0ef3c84ee62a9a01ad3fd6d684f7e71f8bec6596a2763cba504a75 +SHA512 (plexus-containers.tar.xz) = 7d5e839ca7396e08d65ff1adc858f9504ace906a056a9eced5e7e74b21fbe844dad697bdd1b4a7ca430e223888e12e3bb2aa4559fa3b0c6969dd5ec27843ba66 +SHA512 (plexus-interpolation.tar.xz) = 458856b1a8c22acf7ee6c81dd0fa06a544f5fcadf3482316155d9c5d1e14aef2f84e40fa079336554ac1be69d97ad7efbcd1e35efa3fb16be582103455adab7e +SHA512 (plexus-io.tar.xz) = 2889233e5ee547ab7cd24c547155f1c9d69427fc2f9605836fa11ff320a89a4603d22efe2a9fe5ac48c47badf57833d03b7cd7580bf2d94b416b96e8ec391fd0 +SHA512 (plexus-languages.tar.xz) = 8b189f7c769078afa25b9a2d701eca27fb3577150362b109fe08e4aef952696345cc84736c4e2cf654916572d347c42bd082219b0f96bf16fdfbbf284fb516fb +SHA512 (plexus-pom.tar.xz) = 1e0bd9514e541fe0eaf6848be3a2834538ccb9ccac3ad9af8eae592eb7233827be8025c101cd5a64ce6fa43a2ead69ddecdb7cdb77b9b624dc3cfab48bf196ae +SHA512 (plexus-resources.tar.xz) = 9b2c4b413a9a58e97a9780a8017d2f249ee65f1c0e836171547a6f9d2482f0d5461f7bdc50c90ad2af084af1ab348371718be4ddfabd69a8fe0ffadd41e281bb +SHA512 (plexus-sec-dispatcher.tar.xz) = 4c9be8c78ff3f6ab2ff1a5271602b66b61546294bdedc1e3cf5b92e8daa8365bcf721beaf12ba7ae16f2da24f506fbd04f3c9203b4627a930c359ca68f9ead4f +SHA512 (plexus-testing.tar.xz) = a0b7f716e40b1cd0abddf8e00f793c697ad63c48ed6c009d12b60cd362ee07d1ba734bd5591bdebd61abe4fba09c5a3dd18d5abb814dc3f17dbf46245e233342 +SHA512 (plexus-utils.tar.xz) = 2d033a7d4c2b1a55831606261324e2c2b447908ee584d7aa187d33b431c97c5e58c1647d109d457bdacbb63f77b0f58311658de81d0384164aebbb9e0aa06730 +SHA512 (plexus-xml.tar.xz) = 73b9077969d1c20adf11d66213f842dfabb69f64394450f478a1c10e1a6e156630428a1e959ff940ecce454c382fc8d01b15ad699f93e86c502900b9e95a0816 +SHA512 (qdox.tar.xz) = 1d3a174fbc08638a2ed1c9599d1beeaef5c4f04faee962a16593db2bf56f26a7a459e14d583189f7767878c6a6c34359872e094e9c59e2db269529ce2c3663c4 +SHA512 (servlet-api.tar.xz) = a255c21c248dcb6a72022146f58e09cef03e388e6a64d97f5dfbbcfffce57fe88ef4255c2c1c1195958c70a4495b9512d6c2fff588c5e7df66394a45e44262ab +SHA512 (sisu-inject.tar.xz) = 419f2065f1acdce764ffcfcfb3716fb67a3b85cf596e047f66c5a6f1831dd5d96dd99583e6949d8b7ddee433f39a9a5731fa582f930ce6828e3a5139effcfa56 +SHA512 (sisu-mojos.tar.xz) = ed9462baa5f59561131d84b6ea8d114a16b99fec0c502e2698e38556f1247a3c3550172d551ad8f38107558a8c78890a09ceebfee7ca2fceffea334b3da13ded +SHA512 (sisu-plexus.tar.xz) = 044d8738f5387cdecc9e2fdf78ff7b7c46e2240ea982aa09057aa6518c19b8537a115839e3a474ca271cbdf9f1225fc4610a28c875d0759a5af1e7c9f03711d1 +SHA512 (slf4j.tar.xz) = 434da37f9efaa3faba2ccda7781290a92904c29a24be6234c4a681bd55d9e33e3e4242282a4995cd40cf72b507aa26d761c8d8de1781d1c4997b50323b9250a6 +SHA512 (testng.tar.xz) = 92d0bc00fce4956ce8cd59eaf243dec1924571ab4cfe6a6b2d191dcf296550eb133ed679d89e78304b121e747aa7ecb4911218220754a3ea91dcaeb197dce60b +SHA512 (univocity-parsers.tar.xz) = 7daa3f54d26d7c64714990c7ad9d539bc7dd531917354b5b90970114e51c20aedac3e1fdd8b45e073d8c196b4ce2fa93c2f84a5498147de951ac147900ce51fa +SHA512 (velocity-engine.tar.xz) = 39b00a1be5779838de10bae0a4bda353c3746f2ee0ee209b234959731987f6d375dd08d52c69197f79ee0b5b93647b91eef308b4e893c671974ddc5b9243a75a +SHA512 (xmlunit.tar.xz) = 654c8624371b9e9879d72a46480f412f7452e7758e1586707655ebbfdee9cf24620fbf14392d8b93790dee0122cd5a9239c0bf95c4581223a658180db3273bce +SHA512 (xmvn-generator.tar.xz) = bb7de442671233b8ea4c5a8d79cfdb17c739ac885988b6bdf627721b29ff6327e9a3e99470fdd6cce9bbb3e738fcc8dd0e89124ae6aeffc7dbaba46c81466bc5 +SHA512 (xmvn.tar.xz) = 3e75b3f9a2d33eac5f5b66e78d71b18a012320001dba7ef6c5c95ae3e24183d265a2d136ccf8886619ab63beeba6b7a95760247594b49df4d764c71c34dbdfb7 +SHA512 (xz-java.tar.xz) = dc4314babc66bf33e2964b35552746e30ddae136d2b717c3e498f5109154198595bc42d0b266b9e9966298d53d2f5d0196823fae193776eae27047d225cd2137 diff --git a/tests/Sanity/smoke/main.fmf b/tests/Sanity/smoke/main.fmf new file mode 100644 index 0000000..0a0133d --- /dev/null +++ b/tests/Sanity/smoke/main.fmf @@ -0,0 +1,5 @@ +summary: javapackages-bootstrap smoke test +description: | + Test basic functionality of javapackages-bootstrap. +require: + - javapackages-bootstrap diff --git a/tests/Sanity/smoke/runtest.sh b/tests/Sanity/smoke/runtest.sh new file mode 100755 index 0000000..a30050d --- /dev/null +++ b/tests/Sanity/smoke/runtest.sh @@ -0,0 +1,64 @@ +#!/bin/bash +# Author: Mikolaj Izdebski +. /usr/share/beakerlib/beakerlib.sh + +rlJournalStart + + PATH="/usr/libexec/javapackages-bootstrap:$PATH" + + rlPhaseStartTest "check for presence of libexec binaries" + rlAssertRpm javapackages-bootstrap + rlAssertBinaryOrigin mvn javapackages-bootstrap + rlAssertBinaryOrigin xmvn javapackages-bootstrap + rlAssertBinaryOrigin xmvn-install javapackages-bootstrap + rlAssertBinaryOrigin xmvn-resolve javapackages-bootstrap + rlAssertBinaryOrigin xmvn-subst javapackages-bootstrap + rlAssertBinaryOrigin ant javapackages-bootstrap + rlAssertBinaryOrigin cup javapackages-bootstrap + rlAssertBinaryOrigin jflex javapackages-bootstrap + rlPhaseEnd + + rlPhaseStartTest "display mvn version" + rlRun -s "mvn --version" + rlAssertGrep "Red Hat XMvn" $rlRun_LOG + rlAssertGrep "XMvn home: /usr/share/javapackages-bootstrap" $rlRun_LOG + rlPhaseEnd + + rlPhaseStartTest "display xmvn version" + rlRun -s "xmvn --version" + rlAssertGrep "Red Hat XMvn" $rlRun_LOG + rlAssertGrep "XMvn home: /usr/share/javapackages-bootstrap" $rlRun_LOG + rlPhaseEnd + + rlPhaseStartTest "display xmvn-install help" + rlRun -s "xmvn-install --help" + rlAssertGrep "Usage: xmvn-install" $rlRun_LOG + rlPhaseEnd + + rlPhaseStartTest "display xmvn-resolve help" + rlRun -s "xmvn-resolve --help" + rlAssertGrep "Usage: xmvn-resolve" $rlRun_LOG + rlPhaseEnd + + rlPhaseStartTest "display xmvn-subst help" + rlRun -s "xmvn-subst --help" + rlAssertGrep "Usage: xmvn-subst" $rlRun_LOG + rlPhaseEnd + + rlPhaseStartTest "display ant version" + rlRun -s "ant -version" + rlAssertGrep "Apache Ant(TM) version" $rlRun_LOG + rlPhaseEnd + + rlPhaseStartTest "display cup version" + rlRun -s "cup -version" 1 + rlAssertGrep "CUP v" $rlRun_LOG + rlPhaseEnd + + rlPhaseStartTest "display jflex version" + rlRun -s "jflex --version" + rlAssertGrep "This is JFlex" $rlRun_LOG + rlPhaseEnd + +rlJournalEnd +rlJournalPrintText diff --git a/tests/main.fmf b/tests/main.fmf new file mode 100644 index 0000000..99fd67e --- /dev/null +++ b/tests/main.fmf @@ -0,0 +1,4 @@ +contact: Mikolaj Izdebski +framework: beakerlib +test: ./runtest.sh +tier: 0