diff --git a/jackson-modules-base-2.9.8.tar.gz b/jackson-modules-base-2.9.8.tar.gz new file mode 100644 index 0000000..9ea4827 Binary files /dev/null and b/jackson-modules-base-2.9.8.tar.gz differ diff --git a/jackson-modules-base.spec b/jackson-modules-base.spec new file mode 100644 index 0000000..6161892 --- /dev/null +++ b/jackson-modules-base.spec @@ -0,0 +1,144 @@ +%bcond_with jp_minimal +Name: jackson-modules-base +Version: 2.9.8 +Release: 1 +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 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) +%if %{without jp_minimal} +BuildRequires: mvn(com.thoughtworks.paranamer:paranamer) +%endif +BuildRequires: mvn(javax.xml.bind:jaxb-api) mvn(junit:junit) +BuildRequires: mvn(org.apache.felix:maven-bundle-plugin) mvn(org.mockito:mockito-all) +BuildRequires: mvn(org.osgi:osgi.core) mvn(org.ow2.asm:asm) +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 +%description -n jackson-module-afterburner +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 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. + +%package -n jackson-module-jaxb-annotations +Summary: Support for using JAXB annotations as an alternative to "native" Jackson annotations +%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. +%if %{without jp_minimal} + +%package -n jackson-module-mrbean +Summary: Functionality for implementing interfaces and abstract types dynamically +%description -n jackson-module-mrbean +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. +%endif + +%package -n jackson-module-osgi +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. +%if %{without jp_minimal} + +%package -n jackson-module-paranamer +Summary: Jackson module that uses Paranamer to introspect names of constructor params +%description -n jackson-module-paranamer +Module that uses Paranamer library to auto-detect names of Creator +(constructor, static factory method, annotated with @JsonCreator) methods. +%endif + +%package javadoc +Summary: Javadoc for %{name} +Obsoletes: jackson-module-jaxb-annotations-javadoc < %{version}-%{release} +Provides: jackson-module-jaxb-annotations-javadoc = %{version}-%{release} +%description javadoc +This package contains API documentation for %{name}. + +%prep +%setup -q -n %{name}-%{name}-%{version} +%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} . +%pom_change_dep org.osgi:org.osgi.core org.osgi:osgi.core osgi +%pom_add_dep cglib:cglib:3.2.4:test guice +%if %{with jp_minimal} +%pom_disable_module paranamer +%pom_disable_module mrbean +%endif +%pom_add_plugin "org.apache.felix:maven-bundle-plugin" jaxb " + + + javax.activation;resolution:=optional,* + +" +rm osgi/src/test/java/com/fasterxml/jackson/module/osgi/InjectOsgiServiceTest.java +%mvn_file ":{*}" jackson-modules/@1 + +%build +%mvn_build -s + +%install +%mvn_install + +%files -f .mfiles-jackson-modules-base +%doc README.md release-notes +%license LICENSE NOTICE + +%files -n jackson-module-afterburner -f .mfiles-jackson-module-afterburner +%doc afterburner/README.md afterburner/release-notes +%license LICENSE NOTICE + +%files -n jackson-module-guice -f .mfiles-jackson-module-guice +%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 +%if %{without jp_minimal} + +%files -n jackson-module-mrbean -f .mfiles-jackson-module-mrbean +%doc mrbean/README.md mrbean/release-notes +%license LICENSE NOTICE +%endif + +%files -n jackson-module-osgi -f .mfiles-jackson-module-osgi +%doc osgi/README.md osgi/release-notes +%license LICENSE NOTICE +%if %{without jp_minimal} + +%files -n jackson-module-paranamer -f .mfiles-jackson-module-paranamer +%doc paranamer/README.md paranamer/release-notes +%license LICENSE NOTICE +%endif + +%files javadoc -f .mfiles-javadoc +%license LICENSE NOTICE + +%changelog +* Sat Aug 15 2020 Ge Wang - 2.9.8-1 +- Package init diff --git a/jackson-modules-base.yaml b/jackson-modules-base.yaml new file mode 100644 index 0000000..f0ca41c --- /dev/null +++ b/jackson-modules-base.yaml @@ -0,0 +1,4 @@ +version_control: github +src_repo: FasterXML/jackson-modules-base +tag_prefix: "jackson-modules-base-" +seperator: "."