Merge branch 'jakarta-update'

This commit is contained in:
Mat Booth 2020-08-11 20:17:06 +01:00
commit fc1d85613e
4 changed files with 1935 additions and 0 deletions

3
.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
/glassfish-jaxb-2.2.5.tar.gz
/jaxb-ri-2.2.11.src.zip
/2.3.3-RI.tar.gz

File diff suppressed because it is too large Load Diff

316
jaxb.spec Normal file
View File

@ -0,0 +1,316 @@
# Conditionally build with a minimal dependency set
%bcond_with jp_minimal
Name: jaxb
Version: 2.3.3
Release: 1%{?dist}
Summary: JAXB Reference Implementation
# EDL-1.0 license is BSD-3-clause
License: BSD
URL: https://github.com/eclipse-ee4j/jaxb-ri
Source0: https://github.com/eclipse-ee4j/jaxb-ri/archive/%{version}-RI.tar.gz
# Avoid hard runtime dep on istack-commons from the main implementation jar
Patch0: 0001-Avoid-runtime-dependency-on-istack-commons-from-main.patch
BuildRequires: maven-local
BuildRequires: mvn(com.sun.activation:jakarta.activation)
BuildRequires: mvn(jakarta.activation:jakarta.activation-api)
BuildRequires: mvn(jakarta.xml.bind:jakarta.xml.bind-api)
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-dependency-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-source-plugin)
BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
%if %{without jp_minimal}
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(junit:junit)
BuildRequires: mvn(org.apache.ant:ant)
BuildRequires: mvn(org.apache.maven.plugins:maven-failsafe-plugin)
BuildRequires: mvn(xml-resolver:xml-resolver)
BuildRequires: mvn(xmlunit:xmlunit)
%endif
%global obs_vr 2.3.3-1
BuildArch: noarch
%description
GlassFish JAXB Reference Implementation.
%package runtime
Summary: JAXB Runtime
# Package renamed from glassfish-jaxb with version 2.3.3-1 in F33
Provides: glassfish-jaxb = %{version}-%{release}
Obsoletes: glassfish-jaxb < %{obs_vr}
Provides: glassfish-jaxb-runtime = %{version}-%{release}
Obsoletes: glassfish-jaxb-runtime < %{obs_vr}
# -core subpackage was merged into -runtime during F33
Provides: glassfish-jaxb-core = %{version}-%{release}
Obsoletes: glassfish-jaxb-core < %{obs_vr}
# Obsolete module gone away for good
Obsoletes: glassfish-jaxb1-impl < %{obs_vr}
# Unable to ship any longer due to missing dep: org.checkerframework:compiler
Obsoletes: glassfish-jaxb-jxc < %{obs_vr}
# Disable javadocs for now, due to https://github.com/fedora-java/xmvn/issues/58
Obsoletes: glassfish-jaxb-javadoc < %{obs_vr}
# No longer shipping parent pom packages
Obsoletes: glassfish-jaxb-codemodel-parent < %{obs_vr}
Obsoletes: glassfish-jaxb-external-parent < %{obs_vr}
Obsoletes: glassfish-jaxb-parent < %{obs_vr}
Obsoletes: glassfish-jaxb-runtime-parent < %{obs_vr}
Obsoletes: glassfish-jaxb-txw-parent < %{obs_vr}
%if %{with jp_minimal}
# Obsolete packages that are not shipped in the minimal build
Obsoletes: glassfish-jaxb-bom < %{obs_vr}
Obsoletes: glassfish-jaxb-bom-ext < %{obs_vr}
Obsoletes: glassfish-jaxb-codemodel < %{obs_vr}
Obsoletes: glassfish-jaxb-codemodel-annotation-compiler < %{obs_vr}
Obsoletes: glassfish-jaxb-rngom < %{obs_vr}
Obsoletes: glassfish-jaxb-txwc2 < %{obs_vr}
Obsoletes: glassfish-jaxb-xjc < %{obs_vr}
Obsoletes: %{name}-bom < %{obs_vr}
Obsoletes: %{name}-bom-ext < %{obs_vr}
Obsoletes: %{name}-codemodel < %{obs_vr}
Obsoletes: %{name}-codemodel-annotation-compiler < %{obs_vr}
Obsoletes: %{name}-rngom < %{obs_vr}
Obsoletes: %{name}-txwc2 < %{obs_vr}
Obsoletes: %{name}-xjc < %{obs_vr}
Obsoletes: %{name}-xsom < %{obs_vr}
Obsoletes: %{name}-relaxng-datatype < %{obs_vr}
%endif
%description runtime
JAXB (JSR 222) Reference Implementation
%package txw2
Summary: TXW2 Runtime
# Package renamed from glassfish-jaxb with version 2.3.3-1 in F33
Provides: glassfish-jaxb-txw2 = %{version}-%{release}
Obsoletes: glassfish-jaxb-txw2 < %{obs_vr}
%description txw2
TXW is a library that allows you to write XML documents.
%package impl
Summary: Old JAXB Runtime
%description impl
Old JAXB Runtime module. Contains sources required for runtime processing.
Standalone bundle suitable for use in OSGi runtimes.
%if %{without jp_minimal}
%package codemodel
Summary: Codemodel Core
# Package renamed from glassfish-jaxb with version 2.3.3-1 in F33
Provides: glassfish-jaxb-codemodel = %{version}-%{release}
Obsoletes: glassfish-jaxb-codemodel < %{obs_vr}
%description codemodel
The core functionality of the CodeModel java source code generation
library.
%package codemodel-annotation-compiler
Summary: Codemodel Annotation Compiler
# Package renamed from glassfish-jaxb with version 2.3.3-1 in F33
Provides: glassfish-jaxb-codemodel-annotation-compiler = %{version}-%{release}
Obsoletes: glassfish-jaxb-codemodel-annotation-compiler < %{obs_vr}
%description codemodel-annotation-compiler
The annotation compiler ant task for the CodeModel java source code
generation library.
%package bom
Summary: JAXB BOM
# Package renamed from glassfish-jaxb with version 2.3.3-1 in F33
Provides: glassfish-jaxb-bom = %{version}-%{release}
Obsoletes: glassfish-jaxb-bom < %{obs_vr}
%description bom
JAXB Bill of Materials (BOM)
%package bom-ext
Summary: JAXB BOM with all dependencies
# Package renamed from glassfish-jaxb with version 2.3.3-1 in F33
Provides: glassfish-jaxb-bom-ext = %{version}-%{release}
Obsoletes: glassfish-jaxb-bom-ext < %{obs_vr}
%description bom-ext
JAXB Bill of Materials (BOM) with all dependencies.
%package xjc
Summary: JAXB XJC
# Package renamed from glassfish-jaxb with version 2.3.3-1 in F33
Provides: glassfish-jaxb-xjc = %{version}-%{release}
Obsoletes: glassfish-jaxb-xjc < %{obs_vr}
%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
# Package renamed from glassfish-jaxb with version 2.3.3-1 in F33
Provides: glassfish-jaxb-rngom = %{version}-%{release}
Obsoletes: glassfish-jaxb-rngom < %{obs_vr}
%description rngom
This package contains RELAX NG Object Model/Parser.
%package txwc2
Summary: TXW2 Compiler
# Package renamed from glassfish-jaxb with version 2.3.3-1 in F33
Provides: glassfish-jaxb-txwc2 = %{version}-%{release}
Obsoletes: glassfish-jaxb-txwc2 < %{obs_vr}
%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.
%endif
%prep
%setup -q -n jaxb-ri-%{version}-RI
# Avoid unnecessary runtime dependency on istack commons
%patch0 -p1
pushd jaxb-ri
# Remove unnecessary dep on ee4j parent pom (it adds nothing to our downstream builds)
%pom_remove_parent boms/bom codemodel external xsom
# Fix dep on xml resolver
%pom_change_dep -r com.sun.org.apache.xml.internal:resolver xml-resolver:xml-resolver:1.2
sed -i -e 's/com\.sun\.org\.apache\.xml\.internal\.resolver/org.apache.xml.resolver/' xjc/src/main/java/com/sun/tools/xjc/CatalogUtil.java
# Plug-ins not useful for RPM builds
%pom_remove_plugin -r :buildnumber-maven-plugin
%pom_remove_plugin -r :maven-enforcer-plugin
# Disable unneeded extra OSGi bundles
%pom_disable_module xjc bundles
%pom_disable_module jxc bundles
%pom_disable_module ri bundles
%pom_disable_module osgi bundles
# Missing dep in Fedora: org.checkerframework:compiler
%pom_disable_module jxc
%if %{with jp_minimal}
# For minimal build disable all modules with extra deps
%pom_disable_module external
%pom_disable_module compiler txw
%pom_disable_module xjc
%pom_disable_module xsom
%pom_disable_module codemodel
# Don't run tests for minimal build
%pom_remove_plugin -r :maven-failsafe-plugin
%endif
# These packages not yet proper JPMS modules in Fedora
# TODO: remove this when staxex, fastinfoset are updated
%pom_remove_dep org.jvnet.staxex:stax-ex runtime/impl bundles/runtime
%pom_remove_dep com.sun.xml.fastinfoset:FastInfoset runtime/impl bundles/runtime
rm runtime/impl/src/main/java/com/sun/xml/bind/v2/runtime/unmarshaller/{FastInfoset,StAXEx}Connector.java
rm runtime/impl/src/main/java/com/sun/xml/bind/v2/runtime/output/{FastInfoset,StAXEx}StreamWriterOutput.java
sed -i -e '/org.jvnet.staxex/d' -e '/com.sun.xml.fastinfoset/d' runtime/impl/src/main/java/module-info.java bundles/runtime/src/main/java/module-info.java
# Ignore tests that require Internet connections
sed -i -e 's/void testParse/void ignoreTestParse/' xsom/src/test/java/XSOMParserTest.java
# Ignore tests that require an ancient version of javaparser (version in Fedora is too new)
%pom_remove_dep com.google.code.javaparser:javaparser codemodel/codemodel
rm codemodel/codemodel/src/test/java/com/sun/codemodel/tests/JDefinedClassInstanceInitTest.java
# Ignore tests requiring org.jmockit:jmockit which is not in Fedora
%pom_remove_dep -r org.jmockit:jmockit
rm xjc/src/test/java/com/sun/tools/xjc/addon/code_injector/PluginImplTest.java
# Missing test dep for OSGi tests
%pom_remove_plugin org.apache.felix:maven-junit4osgi-plugin bundles/runtime
# Compatibility aliases
%mvn_alias org.glassfish.jaxb:jaxb-xjc "com.sun.xml.bind:jaxb-xjc"
%mvn_alias org.glassfish.jaxb:jaxb-runtime org.glassfish.jaxb:jaxb-core
# Don't install aggregator and parent poms
%mvn_package com.sun.xml.bind.mvn: __noinstall
%mvn_package :::sources __noinstall
%if %{with jp_minimal}
# Don't install aggregator poms or boms for minimal build
%mvn_package :jaxb-bom* __noinstall
%endif
popd
%build
pushd jaxb-ri
%if %{with jp_minimal}
# Don't run tests for minimal build
%mvn_build -j -s -f -- -Ddev -DbuildNumber=unknown -Drelaxng.version=%{version}
%else
%mvn_build -j -s -- -Ddev -DbuildNumber=unknown -Drelaxng.version=%{version}
%endif
popd
%install
pushd jaxb-ri
%mvn_install
popd
%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 impl -f jaxb-ri/.mfiles-jaxb-impl
%license LICENSE.md NOTICE.md
%if %{without jp_minimal}
%files codemodel -f jaxb-ri/.mfiles-codemodel
%license LICENSE.md NOTICE.md
%files codemodel-annotation-compiler -f jaxb-ri/.mfiles-codemodel-annotation-compiler
%files bom -f jaxb-ri/.mfiles-jaxb-bom
%license LICENSE.md NOTICE.md
%files bom-ext -f jaxb-ri/.mfiles-jaxb-bom-ext
%files xjc -f jaxb-ri/.mfiles-jaxb-xjc
%files rngom -f jaxb-ri/.mfiles-rngom
%license LICENSE.md NOTICE.md
%files txwc2 -f jaxb-ri/.mfiles-txwc2
%license LICENSE.md NOTICE.md
%files xsom -f jaxb-ri/.mfiles-xsom
%files relaxng-datatype -f jaxb-ri/.mfiles-relaxng-datatype
%endif
%changelog
* Tue Aug 04 2020 Mat Booth <mat.booth@redhat.com> - 2.3.3-1
- Update to latest upstream release
- Disable javadocs for now, due to https://github.com/fedora-java/xmvn/issues/58
- Upstream moved to eclipse-ee4j and implementation license changed to BSD (EDL)
- Enable tests, don't unnecessarily ship parent poms
- Rename package from glassfish-jaxb

1
sources Normal file
View File

@ -0,0 +1 @@
SHA512 (2.3.3-RI.tar.gz) = 32d9e5fe93aa60113c467a1561da47815510ff276d5a6aa793f247520026ce9ffb944b5f7c1e1e1ea55f8743dbe5ee8da9cc1eea4f490522621a85ef2400036c