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
This commit is contained in:
Mat Booth 2020-08-10 15:58:54 +01:00
parent 2a2e0c1374
commit 67ccf3d54d
6 changed files with 1124 additions and 1381 deletions

1
.gitignore vendored
View File

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

View File

@ -1,159 +0,0 @@
From 23b7ecb1e748f79c28af927ae8dc4c7e66fe20cf Mon Sep 17 00:00:00 2001
From: Mat Booth <mat.booth@redhat.com>
Date: Fri, 10 May 2019 10:41:07 +0100
Subject: [PATCH 2/2] Port to latest version of args4j
---
.../main/java/com/sun/tools/txw2/Main.java | 69 +++++++++++--------
1 file changed, 42 insertions(+), 27 deletions(-)
diff --git a/txw/compiler/src/main/java/com/sun/tools/txw2/Main.java b/txw/compiler/src/main/java/com/sun/tools/txw2/Main.java
index 3c8cc84..3f1a092 100644
--- a/txw/compiler/src/main/java/com/sun/tools/txw2/Main.java
+++ b/txw/compiler/src/main/java/com/sun/tools/txw2/Main.java
@@ -43,10 +43,10 @@ package com.sun.tools.txw2;
import com.sun.codemodel.writer.FileCodeWriter;
import com.sun.codemodel.writer.SingleStreamCodeWriter;
import com.sun.tools.txw2.model.NodeSet;
+import org.kohsuke.args4j.Argument;
+import org.kohsuke.args4j.Option;
import org.kohsuke.args4j.CmdLineException;
import org.kohsuke.args4j.CmdLineParser;
-import org.kohsuke.args4j.opts.BooleanOption;
-import org.kohsuke.args4j.opts.StringOption;
import org.kohsuke.rngom.parse.IllegalSchemaException;
import org.kohsuke.rngom.parse.Parseable;
import org.kohsuke.rngom.parse.compact.CompactParseable;
@@ -60,6 +60,8 @@ import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
import java.util.Properties;
+import java.util.List;
+import java.util.ArrayList;
/**
* Programatic entry point to the TXW compiler.
@@ -73,26 +75,39 @@ public class Main {
this.opts = opts;
}
- public static void main(String[] args) {
- System.exit(run(args));
+ public static class Options {
+ @Argument
+ public List<String> arguments = new ArrayList<String>();
+
+ @Option(name="-o")
+ public String output;
+
+ @Option(name="-p")
+ public String pkg;
+
+ @Option(name="-c")
+ public boolean compact;
+
+ @Option(name="-x")
+ public boolean xml;
+
+ @Option(name="-xsd")
+ public boolean xsd;
+
+ @Option(name="-h")
+ public boolean chain;
}
- public static class Options {
- public StringOption output = new StringOption("-o");
- public StringOption pkg = new StringOption("-p");
- public BooleanOption compact = new BooleanOption("-c");
- public BooleanOption xml = new BooleanOption("-x");
- public BooleanOption xsd = new BooleanOption("-xsd");
- public BooleanOption chain = new BooleanOption("-h");
+ public static void main(String[] args) {
+ System.exit(run(args));
}
public static int run(String[] args) {
Options opts = new Options();
- CmdLineParser parser = new CmdLineParser();
- parser.addOptionClass(opts);
+ CmdLineParser parser = new CmdLineParser(opts);
try {
- parser.parse(args);
+ parser.parseArgument(args);
} catch (CmdLineException e) {
System.out.println(e.getMessage());
printUsage();
@@ -102,9 +117,9 @@ public class Main {
TxwOptions topts = new TxwOptions();
topts.errorListener = new ConsoleErrorReporter(System.out);
- if(opts.output.value!=null) {
+ if(opts.output != null) {
try {
- topts.codeWriter = new FileCodeWriter(new File(opts.output.value));
+ topts.codeWriter = new FileCodeWriter(new File(opts.output));
} catch( IOException e ) {
System.out.println(e.getMessage());
printUsage();
@@ -114,12 +129,12 @@ public class Main {
topts.codeWriter = new SingleStreamCodeWriter(System.out);
}
- if(opts.chain.isOn()) {
+ if(opts.chain) {
topts.chainMethod = true;
}
- if(opts.pkg.value!=null) {
- topts._package = topts.codeModel._package(opts.pkg.value);
+ if(opts.pkg != null) {
+ topts._package = topts.codeModel._package(opts.pkg);
} else {
topts._package = topts.codeModel.rootPackage();
}
@@ -146,21 +161,21 @@ public class Main {
* out of the specified schema file.
*/
private static SchemaBuilder makeSourceSchema(CmdLineParser parser, Options opts, ErrorHandler eh) throws MalformedURLException {
- File f = new File((String)parser.getArguments().get(0));
+ File f = new File(opts.arguments.get(0));
final InputSource in = new InputSource(f.toURL().toExternalForm());
- if(opts.xsd.isOff() && opts.xml.isOff() && opts.compact.isOff()) {
+ if(!opts.xsd && !opts.xml && !opts.compact) {
// auto detect
if(in.getSystemId().endsWith(".rnc"))
- opts.compact.value=true;
+ opts.compact = true;
else
if(in.getSystemId().endsWith(".rng"))
- opts.xml.value=true;
+ opts.xml = true;
else
- opts.xsd.value=true;
+ opts.xsd = true;
}
- if(opts.xsd.isOn())
+ if(opts.xsd)
return new XmlSchemaLoader(in);
final Parseable parseable = makeRELAXNGSource(opts, in, eh, f);
@@ -169,10 +184,10 @@ public class Main {
}
private static Parseable makeRELAXNGSource(Options opts, final InputSource in, ErrorHandler eh, File f) {
- if(opts.compact.isOn())
+ if(opts.compact)
return new CompactParseable(in,eh);
- if(opts.xml.isOn())
+ if(opts.xml)
return new SAXParseable(in,eh);
// otherwise sniff from the file extension
--
2.20.1

View File

@ -1,419 +0,0 @@
# Conditionally build with a minimal dependency set
%bcond_with jp_minimal
Name: glassfish-jaxb
Version: 2.2.11
Release: 21%{?dist}
Summary: JAXB Reference Implementation
License: CDDL-1.1 and GPLv2 with exceptions
URL: http://jaxb.java.net
Source0: https://jaxb.java.net/%{version}/jaxb-ri-%{version}.src.zip
Patch0: 0001-Avoid-unnecessary-dep-on-istack-commons.patch
Patch1: 0002-Port-to-latest-version-of-args4j.patch
BuildRequires: maven-local
BuildRequires: mvn(javax.xml.bind:jaxb-api)
BuildRequires: mvn(net.java:jvnet-parent:pom:)
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-dependency-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-shade-plugin)
BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
%if %{without jp_minimal}
BuildRequires: mvn(args4j:args4j)
BuildRequires: mvn(com.sun.istack:istack-commons-runtime)
BuildRequires: mvn(com.sun.istack:istack-commons-tools)
BuildRequires: mvn(com.sun:tools)
BuildRequires: mvn(com.sun.xml.dtd-parser:dtd-parser)
BuildRequires: mvn(com.sun.xml.fastinfoset:FastInfoset)
BuildRequires: mvn(com.sun.xsom:xsom)
BuildRequires: mvn(org.apache.ant:ant)
BuildRequires: mvn(org.jvnet.staxex:stax-ex)
BuildRequires: mvn(relaxngDatatype:relaxngDatatype)
%endif
Requires: %{name}-core = %{version}-%{release}
Requires: %{name}-runtime = %{version}-%{release}
Requires: %{name}-txw2 = %{version}-%{release}
%if %{without jp_minimal}
Requires: %{name}-bom = %{version}-%{release}
Requires: %{name}-bom-ext = %{version}-%{release}
Requires: %{name}-codemodel = %{version}-%{release}
Requires: %{name}-codemodel-annotation-compiler = %{version}-%{release}
Requires: %{name}-codemodel-parent = %{version}-%{release}
Requires: %{name}-external-parent = %{version}-%{release}
Requires: %{name}-jxc = %{version}-%{release}
Requires: %{name}-parent = %{version}-%{release}
Requires: %{name}-rngom = %{version}-%{release}
Requires: %{name}-runtime-parent = %{version}-%{release}
Requires: %{name}-txwc2 = %{version}-%{release}
Requires: %{name}-txw-parent = %{version}-%{release}
Requires: %{name}-xjc = %{version}-%{release}
%endif
%if %{with jp_minimal}
%global obsolete_evr 2.2.11-17
Obsoletes: %{name}-bom < %{obsolete_evr}
Obsoletes: %{name}-bom-ext < %{obsolete_evr}
Obsoletes: %{name}-codemodel < %{obsolete_evr}
Obsoletes: %{name}-codemodel-annotation-compiler < %{obsolete_evr}
Obsoletes: %{name}-codemodel-parent < %{obsolete_evr}
Obsoletes: %{name}-external-parent < %{obsolete_evr}
Obsoletes: %{name}-jxc < %{obsolete_evr}
Obsoletes: %{name}-parent < %{obsolete_evr}
Obsoletes: %{name}-rngom < %{obsolete_evr}
Obsoletes: %{name}-runtime-parent < %{obsolete_evr}
Obsoletes: %{name}-txwc2 < %{obsolete_evr}
Obsoletes: %{name}-txw-parent < %{obsolete_evr}
Obsoletes: %{name}-xjc < %{obsolete_evr}
%endif
Obsoletes: glassfish-jaxb1-impl < 2.2.11-12
BuildArch: noarch
%description
GlassFish JAXB Reference Implementation.
%package core
Summary: JAXB Core
%description core
JAXB Core module. Contains sources required by XJC, JXC and Runtime
modules.
%package runtime
Summary: JAXB Runtime
%description runtime
JAXB (JSR 222) Reference Implementation
%package txw2
Summary: TXW2 Runtime
%description txw2
TXW is a library that allows you to write XML documents.
%if %{without jp_minimal}
%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 bom
Summary: JAXB BOM
%description bom
JAXB Bill of Materials (BOM)
%package bom-ext
Summary: JAXB BOM with all dependencies
%description bom-ext
JAXB Bill of Materials (BOM) with all dependencies.
%package codemodel-parent
Summary: Codemodel parent POM
%description codemodel-parent
This package contains codemodel parent POM.
%package external-parent
Summary: JAXB External parent POM
%description external-parent
JAXB External parent POM.
%package jxc
Summary: JAXB schema generator
%description jxc
The tool to generate XML schema based on java classes.
%package parent
Summary: JAXB parent POM
%description parent
This package contains parent POM.
%package runtime-parent
Summary: JAXB Runtime parent POM
%description runtime-parent
This package contains Runtime parent POM.
%package txw-parent
Summary: JAXB TXW parent POM
%description txw-parent
This package contains TXW parent POM.
%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.
%endif
%package javadoc
Summary: Javadocs for %{name}
%description javadoc
This package contains the API documentation for %{name}.
%prep
%setup -q -c
%if %{with jp_minimal}
%patch0 -p1
%endif
%patch1 -p1
# Disable unneeded OSGi bundles
%pom_disable_module xjc bundles
%pom_disable_module jxc bundles
%pom_disable_module ri bundles
%pom_disable_module osgi bundles
%pom_disable_module core bundles
# Fix jar plug-in usage for OSGi bundles
%pom_xpath_replace "pom:useDefaultManifestFile" "
<archive>
<manifestFile>\${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
</archive>" bundles/core bundles/runtime
# Make javax.activation an optional dep
%pom_xpath_inject "pom:configuration/pom:instructions" "
<Import-Package>javax.activation;resolution:=optional,*</Import-Package>" bundles/runtime
# Disable ancient jaxb1 runtime
%pom_disable_module jaxb1 runtime
# Fix hard-coded tools location
%pom_remove_dep com.sun:tools
%pom_add_dep_mgmt com.sun:tools
%pom_remove_dep com.sun:tools jxc
%pom_add_dep com.sun:tools jxc
# Plug-ins not useful for RPM builds
%pom_remove_plugin :buildnumber-maven-plugin
%pom_remove_plugin :gfnexus-maven-plugin
%pom_remove_plugin :maven-enforcer-plugin
%pom_remove_plugin :maven-site-plugin
%pom_remove_plugin :maven-source-plugin jxc
%pom_remove_plugin :maven-source-plugin xjc
%if %{with jp_minimal}
# For minimal build disable all modules with extra deps
%pom_disable_module codemodel
%pom_disable_module external
%pom_disable_module jxc
%pom_disable_module compiler txw
%pom_disable_module xjc
# For minimal build of impl module, don't compile in support for extra deps
%pom_remove_dep org.jvnet.staxex:stax-ex runtime/impl
%pom_remove_dep com.sun.xml.fastinfoset:FastInfoset runtime/impl
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
%endif
%mvn_alias org.glassfish.jaxb:jaxb-xjc "com.sun.xml.bind:jaxb-xjc"
# Package OSGi version of runtime with the non-OSGi version
%mvn_package com.sun.xml.bind:jaxb-impl jaxb-runtime
# Don't install bundles parent pom
%mvn_package com.sun.xml.bind.mvn:jaxb-bundles __noinstall
%if %{with jp_minimal}
# Don't install aggregator poms or boms for minimal build
%mvn_package com.sun.xml.bind.mvn: __noinstall
%mvn_package :jaxb-bom* __noinstall
%endif
%build
%mvn_build -f -s -- -Ddev -DbuildNumber=unknown
%install
%mvn_install
%files
%license License.txt licenceheader.txt License.html
%files core -f .mfiles-jaxb-core
%license License.txt licenceheader.txt License.html
%files runtime -f .mfiles-jaxb-runtime
%license License.txt licenceheader.txt License.html
%files txw2 -f .mfiles-txw2
%license License.txt licenceheader.txt License.html
%if %{without jp_minimal}
%files codemodel -f .mfiles-codemodel
%license License.txt licenceheader.txt License.html
%files codemodel-annotation-compiler -f .mfiles-codemodel-annotation-compiler
%files bom -f .mfiles-jaxb-bom
%license License.txt licenceheader.txt License.html
%files bom-ext -f .mfiles-jaxb-bom-ext
%files codemodel-parent -f .mfiles-jaxb-codemodel-parent
%files external-parent -f .mfiles-jaxb-external-parent
%files jxc -f .mfiles-jaxb-jxc
%license License.txt licenceheader.txt License.html
%files parent -f .mfiles-jaxb-parent
%files runtime-parent -f .mfiles-jaxb-runtime-parent
%files txw-parent -f .mfiles-jaxb-txw-parent
%files xjc -f .mfiles-jaxb-xjc
%files rngom -f .mfiles-rngom
%license License.txt licenceheader.txt License.html
%files txwc2 -f .mfiles-txwc2
%license License.txt licenceheader.txt License.html
%endif
%files javadoc -f .mfiles-javadoc
%license License.txt licenceheader.txt License.html
%changelog
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.11-21
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.11-20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Fri Jul 10 2020 Jiri Vanek <jvanek@redhat.com> - 2.2.11-19
- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
* Mon May 11 2020 Fabio Valentini <decathorpe@gmail.com> - 2.2.11-18
- Enable non-minimal build again.
* Sat Apr 18 2020 Fabio Valentini <decathorpe@gmail.com> - 2.2.11-17
- Build with reduced functionality and dependencies.
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.11-16
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.11-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Fri May 10 2019 Mat Booth <mat.booth@redhat.com> - 2.2.11-14
- Make javax.activation an optional dep in OSGi metadata
* Fri May 10 2019 Mat Booth <mat.booth@redhat.com> - 2.2.11-13
- Add conditional build for reduced dependency set
* Thu May 09 2019 Mat Booth <mat.booth@redhat.com> - 2.2.11-12
- Disable ancient jaxb1 runtime
- Enable OSGi bundle version of the runtime
- Spec file clean up
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.11-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.11-10
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri May 25 2018 Michael Simacek <msimacek@redhat.com> - 2.2.11-9
- Reduce build deps
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.11-8
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Thu Nov 09 2017 Michael Simacek <msimacek@redhat.com> - 2.2.11-7
- Specify CDDL license version
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.11-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.11-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.11-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.11-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Fri Mar 20 2015 Michal Srb <msrb@redhat.com> - 2.2.11-2
- Split into subpackages (Resolves: rhbz#1204187)
* Mon Jan 19 2015 Michal Srb <msrb@redhat.com> - 2.2.11-1
- Update to upstream version 2.2.11
* Mon Oct 27 2014 Michal Srb <msrb@redhat.com> - 2.2.5-8
- Fix FTBFS (Resolves: rhbz#1106636)
- Adapt to current packaging guidelines
- Remove R, add BR: javapackages-local (for %%mvn_artifact macro)
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.5-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Fri Mar 28 2014 Michael Simacek <msimacek@redhat.com> - 2.2.5-6
- Use Requires: java-headless rebuild (#1067528)
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.5-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.5-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.5-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Tue Mar 13 2012 Juan Hernandez <juan.hernandez@redhat.com> 2.2.5-2
- Add missing xsom and rngom dependencies to the POM files
* Sat Mar 10 2012 Juan Hernandez <juan.hernandez@redhat.com> 2.2.5-1
- Updated to upstream version 2.2.5
- Removed classpath from manifest files
* Wed Mar 7 2012 Juan Hernandez <juan.hernandez@redhat.com> 2.2.4u1-4
- Updated to reflect the change from glassfish-fi to glassfish-fastinfoset
* Wed Feb 22 2012 Juan Hernandez <juan.hernandez@redhat.com> 2.2.4u1-3
- Updated to reflect the changes of the jar names in txw2
* Wed Feb 22 2012 Juan Hernandez <juan.hernandez@redhat.com> 2.2.4u1-2
- Cleanup of the spec file
* Sat Jan 21 2012 Marek Goldmann <mgoldman@redhat.com> 2.2.4u1-1
- Initial packaging

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

View File

@ -1 +1 @@
bed496dd96e5b9efc4539fc5bdb69c69 jaxb-ri-2.2.11.src.zip
SHA512 (2.3.3-RI.tar.gz) = 32d9e5fe93aa60113c467a1561da47815510ff276d5a6aa793f247520026ce9ffb944b5f7c1e1e1ea55f8743dbe5ee8da9cc1eea4f490522621a85ef2400036c