%bcond_with jp_minimal # 'jp_minimal' is provided by module which is not installed by EulerOS at present. # in order to build this module, a temporaty switch 'with_jp_minimal' were defined. # If EulerOS installs the module which defined the 'jp_minimal' in the future, configurations # as follows should be implemented: # 1.replace '0%{?without_jp_minimal}' with '{without jp_minimal}'. # 2.replace '0%{?with_jp_minimal}' with '{with jp_minimal}'. # 3.delete temporaty switch 'with_jp_minimal'. %define with_jp_minimal 1 Name: jackson-jaxrs-providers Version: 2.9.8 Release: 1 Summary: Jackson JAX-RS providers License: ASL 2.0 URL: https://github.com/FasterXML/jackson-jaxrs-providers Source0: https://github.com/FasterXML/jackson-jaxrs-providers/archive/%{name}-%{version}.tar.gz BuildRequires: maven-local mvn(com.fasterxml.jackson.core:jackson-core) >= %{version} BuildRequires: mvn(com.fasterxml.jackson.core:jackson-databind) >= %{version} BuildRequires: mvn(com.fasterxml.jackson:jackson-base:pom:) >= %{version} BuildRequires: mvn(com.fasterxml.jackson.module:jackson-module-jaxb-annotations) BuildRequires: mvn(com.google.code.maven-replacer-plugin:replacer) mvn(com.google.guava:guava) BuildRequires: mvn(javax.ws.rs:javax.ws.rs-api) mvn(junit:junit) BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) mvn(org.codehaus.woodstox:stax2-api) BuildRequires: mvn(org.codehaus.woodstox:woodstox-core-asl) BuildRequires: mvn(org.eclipse.jetty:jetty-server) mvn(org.eclipse.jetty:jetty-servlet) BuildRequires: mvn(org.ow2.asm:asm) %if 0%{?without_jp_minimal} BuildRequires: mvn(com.fasterxml.jackson.dataformat:jackson-dataformat-cbor) BuildRequires: mvn(com.fasterxml.jackson.dataformat:jackson-dataformat-smile) BuildRequires: mvn(com.fasterxml.jackson.dataformat:jackson-dataformat-xml) BuildRequires: mvn(com.fasterxml.jackson.dataformat:jackson-dataformat-yaml) BuildRequires: mvn(org.glassfish.jersey.containers:jersey-container-servlet) BuildRequires: mvn(org.glassfish.jersey.core:jersey-server) BuildRequires: mvn(org.jboss.resteasy:resteasy-jaxrs) %endif BuildArch: noarch %description This is a multi-module project that contains Jackson-based JAX-RS providers for following data formats: JSON, Smile (binary JSON), XML, CBOR (another kind of binary JSON), YAML. %package -n jackson-jaxrs-json-provider Summary: Jackson-JAXRS-JSON %description -n jackson-jaxrs-json-provider Functionality to handle JSON input/output for JAX-RS implementations (like Jersey and RESTeasy) using standard Jackson data binding. %if 0%{?without_jp_minimal} %package -n jackson-jaxrs-cbor-provider Summary: Jackson-JAXRS-CBOR %description -n jackson-jaxrs-cbor-provider Functionality to handle CBOR encoded input/output for JAX-RS implementations (like Jersey and RESTeasy) using standard Jackson data binding. %package -n jackson-jaxrs-smile-provider Summary: Jackson-JAXRS-Smile %description -n jackson-jaxrs-smile-provider Functionality to handle Smile (binary JSON) input/output for JAX-RS implementations (like Jersey and RESTeasy) using standard Jackson data binding. %package -n jackson-jaxrs-xml-provider Summary: Jackson-JAXRS-XML %description -n jackson-jaxrs-xml-provider Functionality to handle Smile XML input/output for JAX-RS implementations (like Jersey and RESTeasy) using standard Jackson data binding. %package -n jackson-jaxrs-yaml-provider Summary: Jackson-JAXRS-YAML %description -n jackson-jaxrs-yaml-provider Functionality to handle YAML input/output for JAX-RS implementations (like Jersey and RESTeasy) using standard Jackson data binding. %endif %package datatypes Summary: Functionality for reading/writing core JAX-RS helper types %description datatypes Functionality for reading/writing core JAX-RS helper types. %package parent Summary: Parent for Jackson JAX-RS providers %description parent Parent POM for Jackson JAX-RS providers. %package javadoc Summary: Javadoc for %{name} %description javadoc This package contains API documentation for %{name}. %prep %setup -q -n %{name}-%{name}-%{version} cp -p xml/src/main/resources/META-INF/LICENSE . cp -p xml/src/main/resources/META-INF/NOTICE . sed -i 's/\r//' LICENSE NOTICE %pom_remove_plugin :maven-jar-plugin cbor %pom_remove_plugin :maven-jar-plugin json %pom_remove_plugin :maven-jar-plugin smile %pom_remove_plugin :maven-jar-plugin xml %pom_remove_plugin :maven-jar-plugin yaml %pom_remove_plugin :maven-jar-plugin datatypes %pom_add_dep com.google.guava:guava:18.0:test datatypes cbor json smile xml yaml %pom_add_dep org.ow2.asm:asm:5.1:test cbor json smile xml yaml %pom_remove_dep org.jboss.resteasy:resteasy-jackson2-provider json rm json/src/test/java/com/fasterxml/jackson/jaxrs/json/resteasy/RestEasyProviderLoadingTest.java %if 0%{?with_jp_minimal} %pom_remove_dep org.glassfish.jersey.core: %pom_remove_dep org.glassfish.jersey.containers: %pom_disable_module cbor %pom_disable_module smile %pom_disable_module xml %pom_disable_module yaml %endif %build %if 0%{?with_jp_minimal} %mvn_build -s -f %else %mvn_build -s %endif %install %mvn_install %files -f .mfiles-jackson-jaxrs-base %doc README.md release-notes/* %license LICENSE NOTICE %files -n jackson-jaxrs-json-provider -f .mfiles-jackson-jaxrs-json-provider %if 0%{?without_jp_minimal} %files -n jackson-jaxrs-cbor-provider -f .mfiles-jackson-jaxrs-cbor-provider %files -n jackson-jaxrs-smile-provider -f .mfiles-jackson-jaxrs-smile-provider %files -n jackson-jaxrs-xml-provider -f .mfiles-jackson-jaxrs-xml-provider %files -n jackson-jaxrs-yaml-provider -f .mfiles-jackson-jaxrs-yaml-provider %endif %files datatypes -f .mfiles-jackson-datatype-jaxrs %license LICENSE NOTICE %files parent -f .mfiles-jackson-jaxrs-providers %license LICENSE NOTICE %files javadoc -f .mfiles-javadoc %license LICENSE NOTICE %changelog * Sat Aug 15 2020 Ge Wang - 2.9.8-1 - Package init