>>>>> Steinar Bang <s...@dod.no>: >>>>> Jean-Baptiste Onofré <j...@nanthrax.net>:
>> 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