Name:                johnzon
Version:             0.9.4
Release:             2
Summary:             Implementation of JSR-353
License:             ASL 2.0
URL:                 http://johnzon.apache.org/
Source0:             https://github.com/apache/johnzon/archive/v%{version}.tar.gz
Patch0:              0001-JOHNZON-96-implement-JSON-P-1.1-API.patch
BuildRequires:       maven-local mvn(com.h2database:h2) mvn(commons-io:commons-io)
BuildRequires:       mvn(javax.enterprise:cdi-api) mvn(javax.inject:javax.inject)
BuildRequires:       mvn(javax.json:javax.json-api) mvn(javax.websocket:javax.websocket-api)
BuildRequires:       mvn(javax.ws.rs:javax.ws.rs-api) mvn(junit:junit) mvn(org.apache:apache:pom:)
BuildRequires:       mvn(org.apache.commons:commons-lang3) mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires:       mvn(org.apache.geronimo.specs:geronimo-interceptor_3.0_spec)
BuildRequires:       mvn(org.apache.geronimo.specs:specs-parent:pom:)
BuildRequires:       mvn(org.apache.maven:maven-core) mvn(org.apache.maven:maven-plugin-api)
BuildRequires:       mvn(org.apache.maven.plugin-tools:maven-plugin-annotations)
BuildRequires:       mvn(org.apache.maven.plugins:maven-checkstyle-plugin)
BuildRequires:       mvn(org.apache.maven.plugins:maven-enforcer-plugin)
BuildRequires:       mvn(org.apache.maven.plugins:maven-plugin-plugin)
BuildRequires:       mvn(org.apache.maven.plugins:maven-remote-resources-plugin)
BuildRequires:       mvn(org.apache.openjpa:openjpa-jdbc) mvn(org.apache.openjpa:openjpa-lib)
BuildRequires:       mvn(org.apache.openjpa:openjpa-persistence)
BuildRequires:       mvn(org.apache.openjpa:openjpa-persistence-jdbc)
BuildRequires:       mvn(org.apache.openwebbeans:openwebbeans-impl)
BuildRequires:       mvn(org.apache.rat:apache-rat-plugin) mvn(org.apache.tomcat:tomcat-api)
BuildRequires:       mvn(org.apache.tomcat:tomcat-servlet-api)
BuildRequires:       mvn(org.jboss.arquillian.junit:arquillian-junit-container)
BuildRequires:       rubygem-asciidoctor
BuildArch:           noarch
%description
Apache Johnzon is a project providing an implementation of JsonProcessing and
a set of useful extension for this specification like an Object mapper,
some JAX-RS providers and a WebSocket module provides a basic integration with
Java WebSocket API (JSR 356).

%package javadoc
Summary:             Javadoc for %{name}
%description javadoc
This package contains javadoc for %{name}.

%package jaxrs
Summary:             Johnzon :: JAX-RS
%description jaxrs
Johnzon :: JAX-RS Implementation.

%package jsonb
Summary:             Johnzon :: JSON-B
%description jsonb
Johnzon :: JSON-B Implementation.

%package jsonb-api
Summary:             Johnzon :: JSON-B API
%description jsonb-api
Johnzon :: JSON-B API.

%package mapper
Summary:             Johnzon :: Mapper
%description mapper
Johnzon :: Mapper.

%package maven-plugin
Summary:             Johnzon :: Maven Plugin
%description maven-plugin
Johnzon :: Maven Plugin.

%package parent
Summary:             Johnzon :: Parent POM
%description parent
Johnzon :: Parent POM.

%package websocket
Summary:             Johnzon :: WebSocket
%description websocket
Johnzon :: WebSocket Implementation.

%prep
%setup -q -n %{name}-%{version}
%patch 0 -p1
%pom_disable_module johnzon-distribution
%pom_remove_plugin -r :maven-checkstyle-plugin 
%pom_remove_plugin -r :cobertura-maven-plugin
%pom_remove_plugin :cobertura-maven-plugin johnzon-websocket
%pom_remove_plugin -r :coveralls-maven-plugin
%pom_remove_plugin -r :maven-release-plugin
%pom_remove_plugin -r :maven-source-plugin
%pom_remove_plugin -r :maven-scm-publish-plugin
%pom_remove_plugin -r :maven-site-plugin
%pom_xpath_remove "pom:plugin[pom:artifactId='maven-javadoc-plugin']/pom:executions"
%pom_change_dep -r :geronimo-json_1.0_spec javax.json:javax.json-api:1.0
%pom_change_dep org.apache.tomcat:tomcat-websocket-api javax.websocket:javax.websocket-api:1.1 johnzon-websocket
sed -i "s|-Xms1024m -Xmx2048m|-Xms512m -Xmx512m|" pom.xml
%pom_change_dep org.apache.openjpa:openjpa org.apache.openjpa:openjpa-persistence johnzon-mapper
%pom_add_dep org.apache.openjpa:openjpa-lib:2.4.0:test johnzon-mapper
%pom_add_dep org.apache.openjpa:openjpa-jdbc:2.4.0:test johnzon-mapper
%pom_add_dep org.apache.openjpa:openjpa-persistence-jdbc:2.4.0:test johnzon-mapper
%pom_remove_dep com.github.stefanbirkner:system-rules johnzon-mapper
rm johnzon-mapper/src/test/java/org/apache/johnzon/mapper/NoWarningTest.java
%pom_remove_dep org.apache.tomee:arquillian-tomee-remote johnzon-websocket
rm johnzon-websocket/src/test/java/org/apache/johnzon/websocket/MapperCodecTest.java
%pom_remove_dep org.apache.tomee:apache-tomee johnzon-websocket
rm johnzon-websocket/src/test/java/org/apache/johnzon/websocket/JsrCodecTest.java
%pom_remove_dep -r org.apache.cxf:cxf-rt-rs-client johnzon-jaxrs johnzon-jsonb
%pom_remove_dep -r org.apache.cxf:cxf-rt-frontend-jaxrs johnzon-jaxrs johnzon-jsonb
%pom_remove_dep -r org.apache.cxf:cxf-rt-transports-local johnzon-jaxrs johnzon-jsonb
rm -r johnzon-jaxrs/src/test/java johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/jaxrs/JsonbJaxRsTest.java
%pom_remove_dep org.apache.tomcat:tomcat-websocket johnzon-websocket
%pom_add_dep javax.ws.rs:javax.ws.rs-api:2.0.1:test johnzon-websocket
%pom_change_dep :geronimo-jcdi_1.1_spec javax.enterprise:cdi-api johnzon-jsonb
%pom_change_dep :geronimo-atinject_1.0_spec javax.inject:javax.inject johnzon-jsonb
%pom_change_dep :geronimo-interceptor_1.2_spec :geronimo-interceptor_3.0_spec johnzon-jsonb
rm johnzon-jsonb/src/test/java/org/apache/johnzon/jsonb/CdiAdapterTest.java
rm johnzon-mapper/src/test/java/org/apache/johnzon/mapper/JPATest.java

%build
%mvn_build -s
rm MATURITY.html
asciidoctor MATURITY.adoc

%install
%mvn_install

%files -f .mfiles-johnzon-core
%doc MATURITY.html
%license LICENSE NOTICE

%files javadoc -f .mfiles-javadoc
%license LICENSE NOTICE

%files jaxrs -f .mfiles-johnzon-jaxrs

%files jsonb -f .mfiles-johnzon-jsonb

%files jsonb-api -f .mfiles-jsonb-api
%license LICENSE NOTICE

%files mapper -f .mfiles-johnzon-mapper

%files maven-plugin -f .mfiles-johnzon-maven-plugin

%files parent -f .mfiles-johnzon
%license LICENSE NOTICE

%files websocket -f .mfiles-johnzon-websocket

%changelog
* Wed May 14 2025 Ge Wang <wang__ge@126.com> - 0.9.4-2
- fix build failure due to jsonp updated

* Sat Aug 22 2020 wangchong <wangchong56@huawei.com> - 0.9.4-1
- package init