>>>>> Jean-Baptiste Onofré <[email protected]>:
> On 08/10/2019 18:29, Steinar Bang wrote:
> Thanks for the update. I will take a look on the rebase then.
>> Note! The jackson 2.10 train has gone and the 2.11 branches are
>> available, so I will start rebasing the fix branches on 2.11.
@JB The rebase on jackson 2.11 (version number 2.11.0-SNAPSHOT) is
complete.
All features have been test-loaded on karaf 4.2.7 running on openjdk-11
on debian 10 "buster" on amd64.
The test procedure, was
1. Delete the karaf data directory
2. Start karaf
3. Load the feature repository:
feature:repo-add mvn:com.fasterxml.jackson/karaf/LATEST/xml/features
4. Load the feature under test, e.g.
feature:install jackson-core
5. Check what was loaded with:
bundle:list
6. Repeat the procedure for a new feature, i.e. replace "jackson-core"
in the example above with a new feature (there was a *lot* of
features to test...:-) )
The artifactId of each bundle becomes the karaf feature name
Note: I have done all of my building on openjdk-11, but jackson is built
for release with java-8. This means that there are some extra commits
with java-9+ build fixes before the actual feature related commits on
some of the branches (I had to make things build on my system before I
could do the changes).
Here's a summary of the changes:
1. jackson-parent:
Issue: https://github.com/FasterXML/jackson-parent/issues/11
git branch:
https://github.com/steinarb/jackson-parent/tree/add-apache-karaf-features-to-jackson
Contains karaf-maven-plugin configuration in pluginManagement:
- Uses karaf 4.2.6
- Binds feature-generate-descriptor to the package phase
- includeTransitiveDependency: false
- aggregateFeatures: false
- includeProjectArtifact: true
2. jackson-bom:
Issue: https://github.com/FasterXML/jackson-bom/issues/27
git branch:
https://github.com/steinarb/jackson-bom/tree/add-apache-karaf-features-to-jackson
Changes:
- Use snapshot versions for everything (without this the branch
won't build)
- Add a module that attaches a hand-written master feature
repository that will load all jersey feature repositories
3. jackson-annotations
Issue: https://github.com/FasterXML/jackson-annotations/issues/160
git branch:
https://github.com/steinarb/jackson-annotations/tree/add-apache-karaf-features-to-jackson
Changes:
- Use snapshot for the parent version
- Reference the karaf-maven-plugin in the plugins section
4. jackson-core
Issue: https://github.com/FasterXML/jackson-core/issues/560
git branch:
https://github.com/steinarb/jackson-core/tree/add-apache-karaf-features-to-jackson
Changes:
- Reference the karaf-maven-plugin in the plugins section
5. jackson-databind
Issue: https://github.com/FasterXML/jackson-databind/issues/2434 (this is
also the initial issue I created)
git branch:
https://github.com/steinarb/jackson-databind/tree/add-apache-karaf-features-to-jackson
Changes:
- Reference the karaf-maven-plugin in the plugins section
- Make the jackson-annotation and jackson-core maven dependencies provided
- Add a template feature.xml depending on the jackson-annotation and
jackson-core features
6. jackson-modules-base
Issue: https://github.com/FasterXML/jackson-modules-base/issues/86
git branch:
https://github.com/steinarb/jackson-modules-base/tree/add-apache-karaf-features-to-jackson
Changes in each of the modules:
- Reference the karaf-maven-plugin in the plugins section
- Make the jackson-annotation and/or jackson-core and/or jackson-databind
maven dependencies provided
- Add a template feature.xml depending on the jackson-databind
feature (or just jackson-core and jackson-annotations for the
mrbean module)
- In guice:
- change config includeTransitiveDependency to true
- exclude javax.inject to avoid wrapping javax.inject in the
jackson-module-guice feature (a wrapped javax.inject will break
jersey)
- add javax.inject as a provided dependency (so that things will
compile)
- depend on the built-in feature transaction-api, to get
javax.inject from a properly versioned OSGi bundle
7. jackson-datatypes-collections
Issue: https://github.com/FasterXML/jackson-datatypes-collections/issues/59
git branch:
https://github.com/steinarb/jackson-datatypes-collections/tree/add-apache-karaf-features-to-jackson
Changes:
- In the parent pom, make jackson-annotations, jackson-core and
jackson-databind be provided dependencies
- In all modules
- Reference the karaf-maven-plugin in the plugins section
- Add a template feature.xml depending on the jackson-databind feature
- In the pcollections module change packaging from jar to bundle
- In the eclipse-collections module include eclipse-collections as
a wrapped module in the template feature.xml (strange that wrap
was needed for an eclipse file...? The manifest of the
eclipse-collections jar was weird... possible duplicated line
breaks)
8. jackson-dataformats-binary
Issue: https://github.com/FasterXML/jackson-dataformats-binary/issues/181
git branch:
https://github.com/steinarb/jackson-dataformats-binary/tree/add-apache-karaf-features-to-jackson
Changes:
- Make jackson-core provided in the top pom
- In the submodules:
- Reference the karaf-maven-plugin in the plugins section
- Add a template feature.xml pulling in jackson-databind
- In the avro module
- set includeTransitiveDependency to true
- make jackson-databind and jackson-annotations provided
- exclude guava and slf4j-api transitive dependencies
- Note: avro has dependecies to jars in an old version of jackson
See issue:
https://github.com/FasterXML/jackson-dataformats-binary/issues/167
9. jackson-dataformat-xml
Issue: https://github.com/FasterXML/jackson-dataformat-xml/issues/361
git branch:
https://github.com/steinarb/jackson-dataformat-xml/tree/add-apache-karaf-features-to-jackson
Changes:
- Reference the karaf-maven-plugin in the plugins section
- Make jackson-annotation, jackson-core and jackson-databind provided
- In the template feature.xml:
- Depend on the jackson-module-jaxb-annotations feature
- wrap the relaxngDatatype jar and load it as a bundle
10. jackson-datatype-hibernate
Issue: https://github.com/FasterXML/jackson-datatype-hibernate/issues/132
git branch:
https://github.com/steinarb/jackson-datatype-hibernate/tree/add-apache-karaf-features-to-jackson
Changes:
- Fix some openjdk-11 test startup issues
- In the parent pom, make jackson-annotations, jackson-core and
jackson-databind be provided dependencies
- In the sub-modules:
- Reference the karaf-maven-plugin in the plugins section
- Add a template karaf.xml that
- Reference the jackson-databind feature
- Reference the built-in hibernate feature
- (The features all load, but I'm guessing the hibernate5 feature
will be the only one actually working)
11. jackson-dataformats-text
Issue: https://github.com/FasterXML/jackson-dataformats-text/issues/144
git branch:
https://github.com/steinarb/jackson-dataformats-text/tree/add-apache-karaf-features-to-jackson
Changes:
- Make jackson-core provided in the parent pom
- In the modules:
- Reference the karaf-maven-plugin in the plugins section
- Add a template feature.xml referencing jackson-databind
12. jackson-datatype-joda
Issue: https://github.com/FasterXML/jackson-datatype-joda/issues/107
git branch:
https://github.com/steinarb/jackson-datatype-joda/tree/add-apache-karaf-features-to-jackson
Changes:
- Reference the karaf-maven-plugin in the plugins section
- Make jackson-annotations, jackson-core and jackson-databind provided
- Add a template feature.xml referencing jackson-databind
13. jackson-datatype-json-org
Issue: https://github.com/FasterXML/jackson-datatype-json-org/issues/16
git branch:
https://github.com/steinarb/jackson-datatype-json-org/tree/add-apache-karaf-features-to-jackson
Changes:
- Reference the karaf-maven-plugin in the plugins section
- Make jackson-core and jackson-databind provided
- Add a template feature.xml referencing jackson-databind
14. jackson-datatype-jsr353
Issue: https://github.com/FasterXML/jackson-datatype-jsr353/issues/12
git branch:
https://github.com/steinarb/jackson-datatype-jsr353/tree/add-apache-karaf-features-to-jackson
Changes:
- Reference the karaf-maven-plugin in the plugins section
- Make jackson-core and jackson-databind provided
- Add a template feature.xml referencing jackson-databind
15. jackson-jaxrs-providers
Issue: https://github.com/FasterXML/jackson-jaxrs-providers/issues/115
git branch:
https://github.com/steinarb/jackson-jaxrs-providers/tree/add-apache-karaf-features-to-jackson
Changes
- non-releated build change: I had to change the port number of the
tests from 6011 t0 60110 because port 6011 collided with a port
used by ssh X11 port forwarding (ie. not releated to openjdk-11
but to my development system)
- Too many to list (at this time of night), but basically
- Reference the karaf-maven-plugin in the plugins section
- Make jackson-* maven dependencies provided
- Add a template feature.xml referencing the jackson-* features
matching the maven dependencies made provided
16. jackson-jr
Issue: https://github.com/FasterXML/jackson-jr/issues/67
git branch:
https://github.com/steinarb/jackson-jr/tree/add-apache-karaf-features-to-jackson
Changes
- Reference the karaf-maven-plugin in the plugins section
- Make the jackson-* dependencies provided
- Reference the features matching the dependencies made provided in
the template feature.xml
17. jackson-module-jsonSchema
Issue: https://github.com/FasterXML/jackson-module-jsonSchema/issues/138
git branch:
https://github.com/steinarb/jackson-module-jsonSchema/tree/add-apache-karaf-features-to-jackson
Changes
- Reference the karaf-maven-plugin in the plugins section
- Make the jackson-* dependencies provided
- Reference the features matching the dependencies made provided in
the template feature.xml
18. jackson-modules-java8
Issue: https://github.com/FasterXML/jackson-modules-java8/issues/137
git branch:
https://github.com/steinarb/jackson-modules-java8/tree/add-apache-karaf-features-to-jackson
Changes
- Remove the -Werror flag on two projects, because compiling with
openjdk-11 gave a warning that broke the build
- Reference the karaf-maven-plugin in the plugins section
- Make the jackson-* dependencies provided
- Reference the features matching the dependencies made provided in
the template feature.xml
19. jacskon-module-kotlin
Issue: https://github.com/FasterXML/jackson-module-kotlin/issues/248
git branch:
https://github.com/steinarb/jackson-module-kotlin/tree/add-apache-karaf-features-to-jackson
Changes
- Reference the karaf-maven-plugin in the plugins section
- Make the jackson-* dependencies provided
- Reference the features matching the dependencies made provided in
the template feature.xml
20. jackson-module-scala
Issue: https://github.com/FasterXML/jackson-module-scala/issues/427
(no idea how to do this one, it's not using maven)
(still no idea how to do this one)