>>>>> 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)