commit f09fb6de90de2688b817e599cdb1849ad7a8d0c1 Author: Adam Samalik Date: Thu Apr 20 14:13:35 2023 +0200 initial import diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..a17d709 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,7 @@ +--- !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} diff --git a/jaxb.yaml b/jaxb.yaml new file mode 100644 index 0000000..97d1b95 --- /dev/null +++ b/jaxb.yaml @@ -0,0 +1,69 @@ +--- +document: modulemd +version: 2 +data: + stream: 4 + summary: Jakarta XML Binding API and Implementation + description: >- + Jakarta XML Binding defines an API and tools that automate the mapping + between XML documents and Java objects. The Eclipse Implementation of + JAXB project contains implementation of Jakarta XML Binding API. + license: + module: + - MIT + dependencies: + - buildrequires: + javapackages-tools: [201902] + platform: [el8] + requires: + platform: [el8] + profiles: + common: + rpms: + - jaxb-runtime + api: + rpms: + - jakarta-activation2 + - jaxb-api4 + - jaxb-runtime + - jaxb-xjc + filter: + rpms: + - jakarta-activation2-javadoc + - jaxb-dtd-parser-javadoc + - jaxb-api4-javadoc + - jaxb-istack-commons-test + - jaxb-codemodel-annotation-compiler + - jaxb-txwc2 + components: + rpms: + jakarta-activation2: + buildorder: 10 + ref: stream-jaxb-4-rhel-8.9.0 + rationale: Build dependency of jaxb. + jaxb-dtd-parser: + buildorder: 10 + ref: stream-jaxb-4-rhel-8.9.0 + rationale: Build dependency of jaxb. + jaxb-fi: + buildorder: 10 + ref: stream-jaxb-4-rhel-8.9.0 + rationale: Build dependency of jaxb. + buildonly: true + jaxb-api4: + buildorder: 20 + ref: stream-jaxb-4-rhel-8.9.0 + rationale: Build dependency of jaxb. + jaxb-istack-commons: + buildorder: 20 + ref: stream-jaxb-4-rhel-8.9.0 + rationale: Build dependency of jaxb. + jaxb-stax-ex: + buildorder: 30 + ref: stream-jaxb-4-rhel-8.9.0 + rationale: Build dependency of jaxb. + buildonly: true + jaxb: + buildorder: 40 + ref: stream-jaxb-4-rhel-8.9.0 + rationale: Module API. diff --git a/plans/Smoke.java b/plans/Smoke.java new file mode 100644 index 0000000..f51d935 --- /dev/null +++ b/plans/Smoke.java @@ -0,0 +1,45 @@ +import jakarta.xml.bind.annotation.XmlRootElement; + +import jakarta.xml.bind.JAXBContext; +import jakarta.xml.bind.JAXBException; +import jakarta.xml.bind.Marshaller; +import jakarta.xml.bind.Unmarshaller; + +import java.io.InputStream; +import java.io.ByteArrayOutputStream; +import java.io.ByteArrayInputStream; + +@XmlRootElement(namespace = "org.fedoraproject.jaxb.test.smoke") +class Data +{ + public String text = "default text"; + public int number = 123; +} + +public class Smoke +{ + public static void main(String[] args) throws Exception + { + JAXBContext context = JAXBContext.newInstance(Data.class); + Marshaller m = context.createMarshaller(); + m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE); + ByteArrayOutputStream baos = new ByteArrayOutputStream(); + m.marshal(new Data(), baos); + + Unmarshaller um = context.createUnmarshaller(); + + Data data; + try (InputStream is = new ByteArrayInputStream(baos.toByteArray())) { + data = Data.class.cast(um.unmarshal(is)); + } + + if (!data.text.equals("default text")) + { + throw new RuntimeException("Expected \"default text\", found \"" + data.text + "\""); + } + if (data.number != 123) + { + throw new RuntimeException("Expected 123, found " + String.valueOf(data.number)); + } + } +} diff --git a/plans/smoke.fmf b/plans/smoke.fmf new file mode 100644 index 0000000..3f123ce --- /dev/null +++ b/plans/smoke.fmf @@ -0,0 +1,24 @@ +summary: Basic smoke test +prepare: + - how: install + package: + - jakarta-activation2 + - java-11-openjdk-devel + - jaxb-core + - jaxb-istack-commons-runtime + - jaxb-runtime +discover: + how: shell + tests: + - name: /smoke/marshal-unmarshal + test: | + CLASSPATH+=:/usr/share/java/jakarta-activation2/jakarta.activation-api-2.jar + CLASSPATH+=:/usr/share/java/jaxb-api4/jakarta.xml.bind-api-4.jar + CLASSPATH+=:/usr/share/java/jaxb-istack-commons/istack-commons-runtime.jar + CLASSPATH+=:/usr/share/java/jaxb/jaxb-runtime.jar + CLASSPATH+=:/usr/share/java/jaxb/jaxb-core.jar + export CLASSPATH + /usr/lib/jvm/java-11-openjdk/bin/javac plans/Smoke.java + /usr/lib/jvm/java-11-openjdk/bin/java -cp "${CLASSPATH}:plans" Smoke +execute: + how: tmt