# # spec file for package jaxb # # Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # Name: jaxb Version: 4.0.5 Release: 0 Summary: JAXB Reference Implementation License: BSD-3-Clause URL: https://github.com/eclipse-ee4j/jaxb-ri Source0: %{url}/archive/%{version}-RI/%{name}-%{version}.tar.gz Patch0: reproducible-license-headers.patch Patch1: reproducible-order.patch BuildRequires: fdupes BuildRequires: maven-local BuildRequires: mvn(com.github.relaxng:relaxngDatatype) BuildRequires: mvn(com.sun.istack:istack-commons-maven-plugin) BuildRequires: mvn(com.sun.istack:istack-commons-runtime) BuildRequires: mvn(com.sun.istack:istack-commons-tools) BuildRequires: mvn(com.sun.xml.dtd-parser:dtd-parser) BuildRequires: mvn(com.sun.xml.fastinfoset:FastInfoset) BuildRequires: mvn(jakarta.activation:jakarta.activation-api) BuildRequires: mvn(jakarta.xml.bind:jakarta.xml.bind-api) BuildRequires: mvn(net.java.dev.msv:xsdlib) BuildRequires: mvn(org.apache.ant:ant) BuildRequires: mvn(org.apache.ant:ant-junit) BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin) BuildRequires: mvn(org.apache.maven.plugins:maven-assembly-plugin) BuildRequires: mvn(org.apache.maven.plugins:maven-dependency-plugin) BuildRequires: mvn(org.apache.maven.plugins:maven-enforcer-plugin) BuildRequires: mvn(org.apache.maven.plugins:maven-source-plugin) BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin) BuildRequires: mvn(org.codehaus.mojo:buildnumber-maven-plugin) BuildRequires: mvn(org.eclipse.angus:angus-activation) BuildRequires: mvn(org.jvnet.staxex:stax-ex) #!BuildRequires: jaxb-dtd-parser #!BuildRequires: jaxb-fi #!BuildRequires: jaxb-istack-commons-maven-plugin #!BuildRequires: jaxb-istack-commons-runtime #!BuildRequires: jaxb-istack-commons-tools #!BuildRequires: jaxb-stax-ex BuildArch: noarch %description GlassFish JAXB Reference Implementation. %package runtime Summary: JAXB Runtime %description runtime JAXB (JSR 222) Reference Implementation %package core Summary: JAXB Core %description core JAXB Core module. Contains sources required by XJC, JXC and Runtime modules. %package txw2 Summary: TXW2 Runtime %description txw2 TXW is a library that allows you to write XML documents. %package codemodel Summary: Codemodel Core %description codemodel The core functionality of the CodeModel java source code generation library. %package codemodel-annotation-compiler Summary: Codemodel Annotation Compiler %description codemodel-annotation-compiler The annotation compiler ant task for the CodeModel java source code generation library. %package xjc Summary: JAXB XJC %description xjc JAXB Binding Compiler. Contains source code needed for binding customization files into java sources. In other words: the tool to generate java classes for the given xml representation. %package rngom Summary: RELAX NG Object Model/Parser %description rngom This package contains RELAX NG Object Model/Parser. %package txwc2 Summary: TXW2 Compiler %description txwc2 JAXB schema generator. The tool to generate XML schema based on java classes. %package xsom Summary: XML Schema Object Model %description xsom XML Schema Object Model (XSOM) is a Java library that allows applications to easily parse XML Schema documents and inspect information in them. It is expected to be useful for applications that need to take XML Schema as an input. %package relaxng-datatype Summary: RelaxNG Datatype %description relaxng-datatype RelaxNG Datatype library. %prep %setup -q -n jaxb-ri-%{version}-RI # Delete precompiled jar and class files find -type f '(' -iname '*.jar' -o -iname '*.class' ')' -print -delete %patch -P 0 -p1 %patch -P 1 -p1 pushd jaxb-ri # Remove unnecessary dep on ee4j parent pom (it adds nothing to our downstream builds) %pom_remove_parent boms/bom external xsom codemodel # SCM from parent: org.eclipse.ee4j:project:1.0.7 %pom_xpath_inject 'pom:project' \ ' scm:git:git@github.com:eclipse-ee4j/ee4j.git scm:git:git@github.com:eclipse-ee4j/ee4j.git https://github.com/eclipse-ee4j/ee4j ' external # Missing dep: org.checkerframework:compiler %pom_disable_module jxc # Disable unneeded extra OSGi bundles %pom_disable_module jxc bundles %pom_disable_module core bundles %pom_disable_module osgi bundles %pom_disable_module ri bundles %pom_disable_module runtime bundles %pom_disable_module xjc bundles # Ignore osgi tests %pom_disable_module tools/osgi_tests # lack of dependency when building documentation %pom_disable_module release-documentation docs %pom_disable_module www docs %pom_xpath_set -r pom:copyright.ignoreyear "true" # Don't install aggregator and parent poms %{mvn_package} :jaxb-bom __noinstall %{mvn_package} :jaxb-bom-ext __noinstall %{mvn_package} :jaxb-bundles __noinstall %{mvn_package} :jaxb-codemodel-parent __noinstall %{mvn_package} :jaxb-docs-parent __noinstall %{mvn_package} :jaxb-external-parent __noinstall %{mvn_package} :jaxb-parent __noinstall %{mvn_package} :jaxb-runtime-parent __noinstall %{mvn_package} :jaxb-samples __noinstall %{mvn_package} :jaxb-txw-parent __noinstall %{mvn_package} :jaxb-www __noinstall #{mvn_alias} org.glassfish.jaxb:jaxb-xjc "com.sun.xml.bind:jaxb-xjc" #{mvn_alias} :jaxb-jxc :jaxb-jxc-jdk9 #{mvn_alias} :jaxb-xjc :jaxb-xjc-jdk9 popd %build pushd jaxb-ri %{mvn_build} -s -f -j -- \ -Dcopyright.ignoreyear=true \ -Dmaven.compiler.source=1.8 \ -Dmaven.compiler.target=1.8 \ -Dproject.build.sourceEncoding=UTF-8 popd %install pushd jaxb-ri %mvn_install popd %files codemodel -f jaxb-ri/.mfiles-codemodel %license LICENSE.md NOTICE.md %files codemodel-annotation-compiler -f jaxb-ri/.mfiles-codemodel-annotation-compiler %license LICENSE.md NOTICE.md %files core -f jaxb-ri/.mfiles-jaxb-core %license LICENSE.md NOTICE.md %files relaxng-datatype -f jaxb-ri/.mfiles-relaxng-datatype %license LICENSE.md NOTICE.md %files rngom -f jaxb-ri/.mfiles-rngom %license LICENSE.md NOTICE.md %files runtime -f jaxb-ri/.mfiles-jaxb-runtime %license LICENSE.md NOTICE.md %files txw2 -f jaxb-ri/.mfiles-txw2 %license LICENSE.md NOTICE.md %files txwc2 -f jaxb-ri/.mfiles-txwc2 %license LICENSE.md NOTICE.md %files xjc -f jaxb-ri/.mfiles-jaxb-xjc %license LICENSE.md NOTICE.md %files xsom -f jaxb-ri/.mfiles-xsom %license LICENSE.md NOTICE.md %changelog