diff --git a/.gitignore b/.gitignore index f662e30..1721bc4 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -/jackson-modules-base-2.7.6.tar.gz +/jackson-modules-base-*.tar.gz +/*.src.rpm diff --git a/jackson-modules-base.spec b/jackson-modules-base.spec index 848083c..9caa0d9 100644 --- a/jackson-modules-base.spec +++ b/jackson-modules-base.spec @@ -1,96 +1,108 @@ Name: jackson-modules-base -Version: 2.7.6 -Release: 4%{?dist} +Version: 2.9.3 +Release: 1%{?dist} Summary: Jackson modules: Base License: ASL 2.0 URL: https://github.com/FasterXML/jackson-modules-base Source0: https://github.com/FasterXML/jackson-modules-base/archive/%{name}-%{version}.tar.gz -BuildRequires: maven-local -BuildRequires: mvn(cglib:cglib) -BuildRequires: mvn(com.fasterxml.jackson:jackson-parent:pom:) -BuildRequires: mvn(com.fasterxml.jackson.core:jackson-annotations) -BuildRequires: mvn(com.fasterxml.jackson.core:jackson-core) -BuildRequires: mvn(com.fasterxml.jackson.core:jackson-databind) -BuildRequires: mvn(com.google.code.maven-replacer-plugin:replacer) -BuildRequires: mvn(com.google.inject:guice) -BuildRequires: mvn(com.thoughtworks.paranamer:paranamer) -BuildRequires: mvn(junit:junit) -BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) -BuildRequires: mvn(org.eclipse.osgi:org.eclipse.osgi) -BuildRequires: mvn(org.mockito:mockito-all) -BuildRequires: mvn(org.ow2.asm:asm) +BuildRequires: maven-local +BuildRequires: mvn(cglib:cglib) +BuildRequires: mvn(com.fasterxml.jackson.core:jackson-annotations) >= %{version} +BuildRequires: 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.google.code.maven-replacer-plugin:replacer) +BuildRequires: mvn(com.google.inject:guice) +BuildRequires: mvn(com.thoughtworks.paranamer:paranamer) +BuildRequires: mvn(junit:junit) +BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) +BuildRequires: mvn(org.mockito:mockito-all) +BuildRequires: mvn(org.osgi:osgi.core) +BuildRequires: mvn(org.ow2.asm:asm) -BuildArch: noarch +BuildArch: noarch %description Jackson "base" modules: modules that build directly on databind, and are not data-type, data format, or JAX-RS provider modules. %package -n jackson-module-afterburner -Summary: Jackson module that uses byte-code generation to further speed up data binding +Summary: Jackson module that uses byte-code generation to further speed up data binding %description -n jackson-module-afterburner -Jackson extension module used to enhance performance -using byte-code generation to replace use of Reflection -for field access and method calls. +Module that will add dynamic bytecode generation for standard Jackson POJO +serializers and deserializers, eliminating majority of remaining data binding +overhead. %package -n jackson-module-guice -Summary: Jackson Stuff to make integration with Guice a bit easier +Summary: Jackson module to make integration with Guice a bit easier %description -n jackson-module-guice -This extension allows Jackson to delegate ObjectMapper creation and -value injection to Guice when handling data bindings. +This extension allows Jackson to delegate ObjectMapper creation and value +injection to Guice when handling data bindings. + +%package -n jackson-module-jaxb-annotations +Summary: Support for using JAXB annotations as an alternative to "native" Jackson annotations +# Obsoletes standalone jackson-module-jaxb-annotations since F28 +Obsoletes: jackson-module-jaxb-annotations < %{version} + +%description -n jackson-module-jaxb-annotations +This Jackson extension module provides support for using JAXB (javax.xml.bind) +annotations as an alternative to native Jackson annotations. It is most often +used to make it easier to reuse existing data beans that used with JAXB +framework to read and write XML. %package -n jackson-module-mrbean -Summary: An extension that implements support for POJO type materialization +Summary: Functionality for implementing interfaces and abstract types dynamically %description -n jackson-module-mrbean -Functionality for implementing interfaces and abstract types -dynamically ("bean materialization"), integrated with Jackson -(although usable externally as well). +Mr Bean is an extension that implements support for "POJO type materialization" +ability for databinder to construct implementation classes for Java interfaces +and abstract classes, as part of deserialization. %package -n jackson-module-osgi -Summary: Jackson module to inject OSGI services in deserialized beans +Summary: Jackson module to inject OSGI services in deserialized beans %description -n jackson-module-osgi This module provides a way to inject OSGI services into deserialized objects. +Thanks to the JacksonInject annotations, the OsgiJacksonModule will search for +the required service in the OSGI service registry and injects it in the object +while deserializing. %package -n jackson-module-paranamer -Summary: Jackson Paranamer Extension +Summary: Jackson module that uses Paranamer to introspect names of constructor params %description -n jackson-module-paranamer -Jackson extension that implements custom AnnotationIntrospectors that -use Paranamer to introspect names of constructor (and factory method) -parameters. +Module that uses Paranamer library to auto-detect names of Creator +(constructor, static factory method, annotated with @JsonCreator) methods. %package javadoc -Summary: Javadoc for %{name} +Summary: Javadoc for %{name} %description javadoc -This package contains javadoc for %{name}. +This package contains API documentation for %{name}. %prep %setup -q -n %{name}-%{name}-%{version} -# disable asm copy -%pom_remove_plugin -r :maven-shade-plugin afterburner mrbean paranamer -%pom_xpath_remove "pom:properties/pom:osgi.private" mrbean -# disable paranamer copy -%pom_xpath_remove pom:properties/pom:osgi.private paranamer +# Disable bundling of asm +%pom_remove_plugin ":maven-shade-plugin" afterburner mrbean paranamer +%pom_xpath_remove "pom:properties/pom:osgi.private" mrbean paranamer sed -i 's/\r//' mrbean/src/main/resources/META-INF/{LICENSE,NOTICE} cp -p mrbean/src/main/resources/META-INF/{LICENSE,NOTICE} . -# Use osgi.core:5.0.0 -%pom_xpath_set "pom:properties/pom:version.osgi.core" 3.10.102.v20160416-2200 osgi -%pom_change_dep org.osgi:org.osgi.core org.eclipse.osgi:org.eclipse.osgi osgi +# Fix OSGi dependency +%pom_change_dep org.osgi:org.osgi.core org.osgi:osgi.core osgi # NoClassDefFoundError: net/sf/cglib/core/CodeGenerationException %pom_add_dep cglib:cglib:3.2.4:test guice -%build +# This is provided by modern JREs +%pom_remove_dep "javax.xml.bind:jaxb-api" jaxb +%build %mvn_build -s %install @@ -108,6 +120,10 @@ cp -p mrbean/src/main/resources/META-INF/{LICENSE,NOTICE} . %doc guice/README.md %license LICENSE NOTICE +%files -n jackson-module-jaxb-annotations -f .mfiles-jackson-module-jaxb-annotations +%doc jaxb/README.md jaxb/release-notes +%license LICENSE NOTICE + %files -n jackson-module-mrbean -f .mfiles-jackson-module-mrbean %doc mrbean/README.md mrbean/release-notes %license LICENSE NOTICE @@ -124,6 +140,10 @@ cp -p mrbean/src/main/resources/META-INF/{LICENSE,NOTICE} . %license LICENSE NOTICE %changelog +* Tue Jan 23 2018 Mat Booth - 2.9.3-1 +- Update to latest upstream release +- Obsoletes standalone jaxb-annotations package now provided by this package + * Wed Jul 26 2017 Fedora Release Engineering - 2.7.6-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild diff --git a/sources b/sources index 1e42ba9..57402b3 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -0f5996c1e86bc1dee346c764350fdcba jackson-modules-base-2.7.6.tar.gz +SHA512 (jackson-modules-base-2.9.3.tar.gz) = 8f8100380cbf238237735902af524a694ae9941945550a2c43dbb36fb842fe34cc3523e59039de739490ee4a410f9e69847f15c3f729e133eb80e69f4f374555