>>>>> Jean-Baptiste Onofré <j...@nanthrax.net>:
> 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)


Reply via email to