From 876cfcedd563ff4efc454a4e78e440558b6d2e25 Mon Sep 17 00:00:00 2001 From: Adam Samalik Date: Thu, 23 Feb 2023 11:47:59 +0000 Subject: [PATCH] update modulemd etc --- .fmf/version | 1 + .gitignore | 0 README.md | 3 + gating.yaml | 11 +++ koschei.cfg | 91 ++++++++++++++++++++ maven.yaml | 221 ++++++++++++++++++++++++++++++++++++++++++++++++ plans/smoke.fmf | 63 ++++++++++++++ 7 files changed, 390 insertions(+) create mode 100644 .fmf/version create mode 100644 .gitignore create mode 100644 README.md create mode 100644 gating.yaml create mode 100644 koschei.cfg create mode 100644 maven.yaml create mode 100644 plans/smoke.fmf 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 new file mode 100644 index 0000000..e69de29 diff --git a/README.md b/README.md new file mode 100644 index 0000000..e99db58 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# maven + +Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project's build, reporting and documentation from a central piece of information. \ No newline at end of file diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..52f0026 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,11 @@ +--- !Policy +product_versions: + - rhel-8 +decision_context: osci_compose_gate_modules +subject_type: redhat-module +rules: + - !PassingTestCaseRule {test_case_name: baseos-ci.redhat-module.other.functional} + - !PassingTestCaseRule {test_case_name: baseos-ci.redhat-module.tier1.functional} + - !PassingTestCaseRule {test_case_name: baseos-ci.redhat-module.tier2.functional} + - !PassingTestCaseRule {test_case_name: baseos-ci.redhat-module.tier3.functional} + - !PassingTestCaseRule {test_case_name: baseos-ci.redhat-module.acceptance-tier.functional} diff --git a/koschei.cfg b/koschei.cfg new file mode 100644 index 0000000..ec44688 --- /dev/null +++ b/koschei.cfg @@ -0,0 +1,91 @@ +# -*- python -*- +# vim: ft=python +config = { + "buildrequires": [ + "javapackages-tools", + "platform", + ], + "requires": [ + "platform", + ], + + "bootstrap": False, + "full_refs": False, + "default_ref": "stream-maven-3.6", + "include_build_deps": False, + "closure": False, + "filter_unused": True, + "topo_sort": True, + + "api": [ + "maven", + ], + "profiles": { + "default": ["maven"], + }, + "filter": [ + ], + "includes": [ + ], + "excludes": [ + "javapackages-tools", + "java-1.7.0-openjdk", + "java-1.8.0-openjdk", + ], + "frozen_refs": [ + ], + "stream_override": { + "javapackages-tools": { + "3.5": "[201801]", + "3.6": "[201902]", + "master": "[201902]", + }, + "platform": { + "3.5": "[]", + "3.6": "[]", + "master": "[]", + }, + }, + + "macros": { + }, + + "summary": "Java project management and project comprehension tool", + "description": """\ + Maven is a software project management and comprehension tool. + Based on the concept of a project object model (POM), Maven + can manage a project's build, reporting and documentation from + a central piece of information. + """, + + "koji_config": { + "server": "https://koji.kjnet.xyz/kojihub", + "topurl": "https://koji.kjnet.xyz/kojifiles", + "multicall_chunk_size": 1000, + "tag_name": "jp-build", + }, + "dependency": { + "repo_arch": "x86_64", + "resolve_for_arch": "x86_64", + "ignore_weak_deps": True, + "cache_l2_capacity": 2, + }, + "directories": { + "cachedir": "/tmp/maven-modulemd-gen", + }, + "logging": { + "version": 1, + "loggers": { + "": { + "level": "INFO", + "handlers": ["stderr"], + }, + }, + "handlers": { + "stderr": { + "class": "logging.StreamHandler", + "stream": "ext://sys.stderr" + }, + }, + }, +} diff --git a/maven.yaml b/maven.yaml new file mode 100644 index 0000000..fdb8c04 --- /dev/null +++ b/maven.yaml @@ -0,0 +1,221 @@ +--- +document: modulemd +version: 2 +data: + stream: 3.6 + summary: Java project management and project comprehension tool + description: >- + Maven is a software project management and comprehension tool. + Based on the concept of a project object model (POM), Maven + can manage a project's build, reporting and documentation from + a central piece of information. + license: + module: + - MIT + dependencies: + - buildrequires: + javapackages-tools: [201902] + platform: [el8] + requires: + platform: [el8] + profiles: + common: + rpms: + - maven-openjdk11 + api: + rpms: + - maven + - maven-openjdk8 + - maven-openjdk11 + - maven-openjdk17 + filter: + rpms: + - aopalliance-javadoc + - apache-commons-cli-javadoc + - apache-commons-codec-javadoc + - apache-commons-io-javadoc + - apache-commons-lang3-javadoc + - atinject-javadoc + - atinject-tck + - cdi-api-javadoc + - geronimo-annotation-javadoc + - google-guice-javadoc + - guava-javadoc + - guava-testlib + - guice-assistedinject + - guice-bom + - guice-extensions + - guice-grapher + - guice-jmx + - guice-jndi + - guice-multibindings + - guice-parent + - guice-servlet + - guice-throwingproviders + - httpcomponents-client-javadoc + - httpcomponents-core-javadoc + - jansi-javadoc + - jsoup-javadoc + - jsr-305-javadoc + - jul-to-slf4j + - log4j-over-slf4j + - maven-javadoc + - maven-resolver-javadoc + - maven-shared-utils-javadoc + - maven-wagon-javadoc + - plexus-cipher-javadoc + - plexus-classworlds-javadoc + - plexus-containers + - plexus-containers-component-metadata + - plexus-containers-container-default + - plexus-containers-javadoc + - plexus-interpolation-javadoc + - plexus-sec-dispatcher-javadoc + - plexus-utils-javadoc + - sisu-javadoc + - slf4j-javadoc + - slf4j-jcl + - slf4j-jdk14 + - slf4j-log4j12 + - slf4j-manual + - slf4j-sources + components: + rpms: + aopalliance: + buildorder: 10 + ref: stream-maven-3.6-rhel-8.8.0 + rationale: > + Runtime dependency of google-guice. + apache-commons-cli: + buildorder: 10 + ref: stream-maven-3.6-rhel-8.8.0 + rationale: > + Runtime dependency of maven. + apache-commons-codec: + buildorder: 10 + ref: stream-maven-3.6-rhel-8.8.0 + rationale: > + Runtime dependency of httpcomponents-client. + apache-commons-io: + buildorder: 10 + ref: stream-maven-3.6-rhel-8.8.0 + rationale: > + Runtime dependency of maven-shared-utils, maven-wagon. + apache-commons-lang3: + buildorder: 10 + ref: stream-maven-3.6-rhel-8.8.0 + rationale: > + Runtime dependency of maven. + atinject: + buildorder: 10 + ref: stream-maven-3.6-rhel-8.8.0 + rationale: > + Runtime dependency of cdi-api, google-guice, maven. + cdi-api: + buildorder: 20 + ref: stream-maven-3.6-rhel-8.8.0 + rationale: > + Runtime dependency of sisu. + geronimo-annotation: + buildorder: 10 + ref: stream-maven-3.6-rhel-8.8.0 + rationale: > + Runtime dependency of maven. + google-guice: + buildorder: 30 + ref: stream-maven-3.6-rhel-8.8.0 + rationale: > + Runtime dependency of maven. + guava: + buildorder: 20 + ref: stream-maven-3.6-rhel-8.8.0 + rationale: > + Runtime dependency of google-guice. + httpcomponents-client: + buildorder: 20 + ref: stream-maven-3.6-rhel-8.8.0 + rationale: > + Runtime dependency of maven-wagon. + httpcomponents-core: + buildorder: 10 + ref: stream-maven-3.6-rhel-8.8.0 + rationale: > + Runtime dependency of httpcomponents-client, + maven-wagon. + jansi: + buildorder: 10 + ref: stream-maven-3.6-rhel-8.8.0 + rationale: > + Runtime dependency of maven. + jsoup: + buildorder: 10 + ref: stream-maven-3.6-rhel-8.8.0 + rationale: > + Runtime dependency of maven-wagon. + jsr-305: + buildorder: 10 + ref: stream-maven-3.6-rhel-8.8.0 + rationale: > + Runtime dependency of guava. + maven: + buildorder: 50 + ref: stream-maven-3.6-rhel-8.8.0 + rationale: > + Module API. + maven-resolver: + buildorder: 40 + ref: stream-maven-3.6-rhel-8.8.0 + rationale: > + Runtime dependency of maven. + maven-shared-utils: + buildorder: 20 + ref: stream-maven-3.6-rhel-8.8.0 + rationale: > + Runtime dependency of maven. + maven-wagon: + buildorder: 30 + ref: stream-maven-3.6-rhel-8.8.0 + rationale: > + Runtime dependency of maven, maven-resolver. + plexus-cipher: + buildorder: 10 + ref: stream-maven-3.6-rhel-8.8.0 + rationale: > + Runtime dependency of maven, plexus-sec-dispatcher. + plexus-classworlds: + buildorder: 10 + ref: stream-maven-3.6-rhel-8.8.0 + rationale: > + Runtime dependency of maven, sisu. + plexus-containers: + buildorder: 10 + ref: stream-maven-3.6-rhel-8.8.0 + rationale: > + Runtime dependency of maven, sisu. + plexus-interpolation: + buildorder: 10 + ref: stream-maven-3.6-rhel-8.8.0 + rationale: > + Runtime dependency of maven. + plexus-sec-dispatcher: + buildorder: 20 + ref: stream-maven-3.6-rhel-8.8.0 + rationale: > + Runtime dependency of maven. + plexus-utils: + buildorder: 10 + ref: stream-maven-3.6-rhel-8.8.0 + rationale: > + Runtime dependency of maven, maven-wagon, + plexus-sec-dispatcher, sisu. + sisu: + buildorder: 30 + ref: stream-maven-3.6-rhel-8.8.0 + rationale: > + Runtime dependency of maven. + slf4j: + buildorder: 10 + ref: stream-maven-3.6-rhel-8.8.0 + rationale: > + Runtime dependency of maven, maven-resolver, + maven-wagon. diff --git a/plans/smoke.fmf b/plans/smoke.fmf new file mode 100644 index 0000000..8941304 --- /dev/null +++ b/plans/smoke.fmf @@ -0,0 +1,63 @@ +discover: + how: fmf + url: https://src.fedoraproject.org/tests/maven + +prepare: + - how: shell + script: dnf -y swap maven-jdk-binding ${MAVEN_BINDING} + +execute: + how: tmt + +/jdk8: + environment: + OPENJDK_VERSION: 1.8.0 + MAVEN_BINDING: maven-openjdk8 + + /full: + summary: Basic smoke tests (OpenJDK 8 full) + + /headless: + summary: Basic smoke tests (OpenJDK 8 headless) + discover+: + filter: tag:-java-compiler + environment+: + OPENJDK_HEADLESS: true + prepare+: + - how: shell + script: | + dnf -y erase java-*-openjdk + +/jdk11: + environment: + OPENJDK_VERSION: 11 + MAVEN_BINDING: maven-openjdk11 + + /full: + summary: Basic smoke tests (OpenJDK 11 full) + + /headless: + summary: Basic smoke tests (OpenJDK 11 headless) + environment+: + OPENJDK_HEADLESS: true + prepare+: + - how: shell + script: | + dnf -y erase java-*-openjdk + +/jdk17: + environment: + OPENJDK_VERSION: 17 + MAVEN_BINDING: maven-openjdk17 + + /full: + summary: Basic smoke tests (OpenJDK 17 full) + + /headless: + summary: Basic smoke tests (OpenJDK 17 headless) + environment+: + OPENJDK_HEADLESS: true + prepare+: + - how: shell + script: | + dnf -y erase java-*-openjdk