Is there a built-in feature that pulls in jax-rs rs-api?

classic Classic list List threaded Threaded
23 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Is there a built-in feature that pulls in jax-rs rs-api?

Steinar Bang
I'm working on a set of PRs for jackson, to build and attach karaf
feature repositories on the jackson OSGi bundles:
 https://github.com/FasterXML/jackson-databind/issues/2434

I'm currently working on karaf feature support for
jackson-jaxrs-providers
 https://github.com/FasterXML/jackson-jaxrs-providers/issues/115

And I have encountered a chicken-and-egg problem:
 1. The rs-api dependency in the top POM is made provided with a comment
    that the runtime is expected to provide
     https://github.com/FasterXML/jackson-jaxrs-providers/blob/master/pom.xml#L57
 2. The jackson-jaxrs-base feature (the feature generated from the first
    module) fails to load because the rs-api isn't present

I have resolved similar conflicts elsewhere by depending on built-in
karaf properties, e.g. the "hibernate" and "transaction-api",
ie. deferred the actual loading of an actual version to be the
responsibility of the karaf istance the jackson feature is used in.

But I haven't found a built-in feature (either in karaf directly or in
the OPS4J stuff) that loads the jax-rs rs-api bundle.

Is there a feature for rs-api, and have I missed it?  Or isn't there
such a feature?

I guess the cxf features will load rs-api...? But they will probably
load other stuff I don't want, that would conflict with jersey...?

Thanks!


- Steinar

Reply | Threaded
Open this post in threaded view
|

Re: Is there a built-in feature that pulls in jax-rs rs-api?

jbonofre
Why not providing the jaxrs api bundle with the flag dependency=true ?

See what I did in aries jaxrs:

https://github.com/apache/aries-jax-rs-whiteboard/blob/master/jax-rs.features/src/main/feature/feature.xml#L26

Regards
JB

On 15/09/2019 17:30, Steinar Bang wrote:

> I'm working on a set of PRs for jackson, to build and attach karaf
> feature repositories on the jackson OSGi bundles:
>  https://github.com/FasterXML/jackson-databind/issues/2434
>
> I'm currently working on karaf feature support for
> jackson-jaxrs-providers
>  https://github.com/FasterXML/jackson-jaxrs-providers/issues/115
>
> And I have encountered a chicken-and-egg problem:
>  1. The rs-api dependency in the top POM is made provided with a comment
>     that the runtime is expected to provide
>      https://github.com/FasterXML/jackson-jaxrs-providers/blob/master/pom.xml#L57
>  2. The jackson-jaxrs-base feature (the feature generated from the first
>     module) fails to load because the rs-api isn't present
>
> I have resolved similar conflicts elsewhere by depending on built-in
> karaf properties, e.g. the "hibernate" and "transaction-api",
> ie. deferred the actual loading of an actual version to be the
> responsibility of the karaf istance the jackson feature is used in.
>
> But I haven't found a built-in feature (either in karaf directly or in
> the OPS4J stuff) that loads the jax-rs rs-api bundle.
>
> Is there a feature for rs-api, and have I missed it?  Or isn't there
> such a feature?
>
> I guess the cxf features will load rs-api...? But they will probably
> load other stuff I don't want, that would conflict with jersey...?
>
> Thanks!
>
>
> - Steinar
>

--
Jean-Baptiste Onofré
[hidden email]
http://blog.nanthrax.net
Talend - http://www.talend.com
Reply | Threaded
Open this post in threaded view
|

Re: Is there a built-in feature that pulls in jax-rs rs-api?

jbonofre
In reply to this post by Steinar Bang
By the way, I will review and fix your features for Jackson, I see some
improvements to do.

Regards
JB

On 15/09/2019 17:30, Steinar Bang wrote:

> I'm working on a set of PRs for jackson, to build and attach karaf
> feature repositories on the jackson OSGi bundles:
>  https://github.com/FasterXML/jackson-databind/issues/2434
>
> I'm currently working on karaf feature support for
> jackson-jaxrs-providers
>  https://github.com/FasterXML/jackson-jaxrs-providers/issues/115
>
> And I have encountered a chicken-and-egg problem:
>  1. The rs-api dependency in the top POM is made provided with a comment
>     that the runtime is expected to provide
>      https://github.com/FasterXML/jackson-jaxrs-providers/blob/master/pom.xml#L57
>  2. The jackson-jaxrs-base feature (the feature generated from the first
>     module) fails to load because the rs-api isn't present
>
> I have resolved similar conflicts elsewhere by depending on built-in
> karaf properties, e.g. the "hibernate" and "transaction-api",
> ie. deferred the actual loading of an actual version to be the
> responsibility of the karaf istance the jackson feature is used in.
>
> But I haven't found a built-in feature (either in karaf directly or in
> the OPS4J stuff) that loads the jax-rs rs-api bundle.
>
> Is there a feature for rs-api, and have I missed it?  Or isn't there
> such a feature?
>
> I guess the cxf features will load rs-api...? But they will probably
> load other stuff I don't want, that would conflict with jersey...?
>
> Thanks!
>
>
> - Steinar
>

--
Jean-Baptiste Onofré
[hidden email]
http://blog.nanthrax.net
Talend - http://www.talend.com
Reply | Threaded
Open this post in threaded view
|

Re: Is there a built-in feature that pulls in jax-rs rs-api?

Steinar Bang
>>>>> Jean-Baptiste Onofré <[hidden email]>:

> By the way, I will review and fix your features for Jackson, I see some
> improvements to do.

Great! :-)

Note: I haven't made any PRs yet, but I have made linked issues in the
different jackson projects, and pushed branches to the projects to my
fork of the projects, referencing the project issue in the commits on
the branch.  Everything is linked to from here
 https://github.com/FasterXML/jackson-databind/issues/2434#issuecomment-530543759

Reply | Threaded
Open this post in threaded view
|

Re: Is there a built-in feature that pulls in jax-rs rs-api?

Steinar Bang
In reply to this post by jbonofre
>>>>> Jean-Baptiste Onofré <[hidden email]>:

> Why not providing the jaxrs api bundle with the flag dependency=true ?
> See what I did in aries jaxrs:

> https://github.com/apache/aries-jax-rs-whiteboard/blob/master/jax-rs.features/src/main/feature/feature.xml#L26

Thanks! just to clarify: this means "install the bundle if the dependency
isn't already satisfied"...?

What happens if e.g. jersey installs a different version of the same
bundle? What happens if its version is higher?  What happens if its
version is lower?

Reply | Threaded
Open this post in threaded view
|

Re: Is there a built-in feature that pulls in jax-rs rs-api?

Steinar Bang
>>>>> Steinar Bang <[hidden email]>:

>> Why not providing the jaxrs api bundle with the flag dependency=true ?
>> See what I did in aries jaxrs:

>> https://github.com/apache/aries-jax-rs-whiteboard/blob/master/jax-rs.features/src/main/feature/feature.xml#L26

> Thanks! just to clarify: this means "install the bundle if the dependency
> isn't already satisfied"...?

> What happens if e.g. jersey installs a different version of the same
> bundle? What happens if its version is higher?  What happens if its
> version is lower?

Ok. I'm now using dependency=true. :-) (haven't pushed the branch yet)

Reply | Threaded
Open this post in threaded view
|

Review of jackson features (Was: Is there a built-in feature that pulls in jax-rs rs-api?)

Steinar Bang
In reply to this post by Steinar Bang
>>>>> Steinar Bang <[hidden email]>:
>>>>> Jean-Baptiste Onofré <[hidden email]>:

>> By the way, I will review and fix your features for Jackson, I see some
>> improvements to do.

> Note: I haven't made any PRs yet, but I have made linked issues in the
> different jackson projects, and pushed branches to the projects to my
> fork of the projects, referencing the project issue in the commits on
> the branch.  Everything is linked to from here
>  https://github.com/FasterXML/jackson-databind/issues/2434#issuecomment-530543759

Here's a summary of what I've done so far:
 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
     - 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

Currently working on:
16. jackson-jr
    Issue: https://github.com/FasterXML/jackson-jr/issues/67

Still to go:
17. jackson-module-jsonSchema
    Issue: https://github.com/FasterXML/jackson-module-jsonSchema/issues/138

18. jacskon-module-kotlin
    Issue: https://github.com/FasterXML/jackson-module-kotlin/issues/248

19. jackson-module-kotlin
    Issue: https://github.com/FasterXML/jackson-module-kotlin/issues/248

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)

21. jackson-modules-java8
    Issue: https://github.com/FasterXML/jackson-modules-java8/issues/137

Reply | Threaded
Open this post in threaded view
|

Re: Review of jackson features

Steinar Bang
>>>>> Steinar Bang <[hidden email]>:

>>>>> Steinar Bang <[hidden email]>:
>>>>> Jean-Baptiste Onofré <[hidden email]>:

>>> By the way, I will review and fix your features for Jackson, I see some
>>> improvements to do.

>> Note: I haven't made any PRs yet, but I have made linked issues in the
>> different jackson projects, and pushed branches to the projects to my
>> fork of the projects, referencing the project issue in the commits on
>> the branch.  Everything is linked to from here
>> https://github.com/FasterXML/jackson-databind/issues/2434#issuecomment-530543759

@JB: I've finished now as far as I'm able to.  Do you have the time to
give it a look over? Do you have any idea how to do the Scala module?
(because I don't...)

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
     - 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 | Threaded
Open this post in threaded view
|

Re: Review of jackson features

Steinar Bang
@JB will you have time to look at this?

(if not I think I will start submitting the PRs to the jackson
maintainers...:-) )

Reply | Threaded
Open this post in threaded view
|

Re: Review of jackson features

jbonofre
Hi Steinar,

Not yet, I was busy with 4.2.7 preparation, I will take a look tomorrow.

Regards
JB

On 23/09/2019 19:16, Steinar Bang wrote:
> @JB will you have time to look at this?
>
> (if not I think I will start submitting the PRs to the jackson
> maintainers...:-) )
>

--
Jean-Baptiste Onofré
[hidden email]
http://blog.nanthrax.net
Talend - http://www.talend.com
Reply | Threaded
Open this post in threaded view
|

Re: Review of jackson features

Steinar Bang
>>>>> Jean-Baptiste Onofré <[hidden email]>:

> Hi Steinar,
> Not yet, I was busy with 4.2.7 preparation, I will take a look tomorrow.

Ok.  Thanks! :-)

Reply | Threaded
Open this post in threaded view
|

Re: Review of jackson features

Steinar Bang
>>>>> Steinar Bang <[hidden email]>:
>>>>> Jean-Baptiste Onofré <[hidden email]>:

>> Hi Steinar,
>> Not yet, I was busy with 4.2.7 preparation, I will take a look tomorrow.

> Ok.  Thanks! :-)

@JB have you had time to look at the changes? (summary repeated below)

(Note: if you don't have time that's OK.  I can just submit the PRs as
they are. I think they work (sort of, I'm unsure of the
jackson-datatype-hibernate for hibernate versions other than 5).  At
least all features have successfully loaded in karaf 4.2.6)

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
     - 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 | Threaded
Open this post in threaded view
|

Re: Review of jackson features

Steinar Bang
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.

Reply | Threaded
Open this post in threaded view
|

Re: Review of jackson features

jbonofre
Hi Steinar,

Thanks for the update. I will take a look on the rebase then.

Sorry for the delay.

Regards
JB

On 08/10/2019 18:29, Steinar Bang wrote:
> 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.
>

--
Jean-Baptiste Onofré
[hidden email]
http://blog.nanthrax.net
Talend - http://www.talend.com
Reply | Threaded
Open this post in threaded view
|

Re: Review of jackson features

Steinar Bang
>>>>> Jean-Baptiste Onofré <[hidden email]>:
> 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 | Threaded
Open this post in threaded view
|

Re: Review of jackson features

jbonofre
Thanks for the update.

I will do a pass this afternoon.

Regards
JB

On 19/10/2019 07:58, Steinar Bang wrote:

>>>>>> Jean-Baptiste Onofré <[hidden email]>:
>> 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)
>
>

--
Jean-Baptiste Onofré
[hidden email]
http://blog.nanthrax.net
Talend - http://www.talend.com
Reply | Threaded
Open this post in threaded view
|

Re: Review of jackson features

Steinar Bang
>>>>> Jean-Baptiste Onofré <[hidden email]>:

> Thanks for the update.
> I will do a pass this afternoon.

Hi, JB!  Did you see anything that needs fixing?

Reply | Threaded
Open this post in threaded view
|

Re: Review of jackson features

Steinar Bang
>>>>> Steinar Bang <[hidden email]>:

>> Thanks for the update.
>> I will do a pass this afternoon.

> Hi, JB!  Did you see anything that needs fixing?

Hi again, JB! Have you had time to look at this?



Reply | Threaded
Open this post in threaded view
|

Re: Review of jackson features

Steinar Bang
>>>>> Steinar Bang <[hidden email]>:

>>>>> Steinar Bang <[hidden email]>:
>>> Thanks for the update.
>>> I will do a pass this afternoon.

>> Hi, JB!  Did you see anything that needs fixing?

> Hi again, JB! Have you had time to look at this?

(If you don't have time then I can just make a set of PRs from what I have...)



Reply | Threaded
Open this post in threaded view
|

Re: Review of jackson features

jbonofre
Hi Steinar,

I'm on it tonight.

Regards
JB

On 18/11/2019 19:10, Steinar Bang wrote:

>>>>>> Steinar Bang <[hidden email]>:
>
>>>>>> Steinar Bang <[hidden email]>:
>>>> Thanks for the update.
>>>> I will do a pass this afternoon.
>
>>> Hi, JB!  Did you see anything that needs fixing?
>
>> Hi again, JB! Have you had time to look at this?
>
> (If you don't have time then I can just make a set of PRs from what I have...)
>
>
>

--
Jean-Baptiste Onofré
[hidden email]
http://blog.nanthrax.net
Talend - http://www.talend.com
12