I think that the jackson-core jar should not be forced upon consumers of the uimaj-core jar and neither users should be forced to resort to exclusions to get rid of it. Hence, I suggested to move it to a separate module.
I think it's fine for developers to get the jackson-core jar via the normal dependency management. If we want to make the JSON a truly optional part of the build, then its <module> declaration in the UIMA SDK parent pom can be moved to a profile. If the profile is activated, it is part of the build, otherwise not. Whether we enable or disable the profile by default, I don't care. We should enable it for our own releases and on Jenkins. Having it enabled by default would make it more convenient for us. Downstream consumers that do not have the jackson-core jar in their repositories could conveniently disable the profile (e.g. mvn -P!enable-json-support clean install). Sounds good? Cheers, -- Richard On 25.09.2014, at 21:48, Marshall Schor <[email protected]> wrote: > Hi, > > Good points, Richard. I had not thought deeply about this. > > The POM for this is borrowing the versions and the parent pom from the > uimaj-parent, so it would be versioned with that. > > Thinking out loud: > > If we moved it to be under uimaj node in svn, but didn't include it as a > <module>, it could at least have its parent-pom relative path set reasonably. > > If we also included it as a <module> in the main uimaj code, and included it > (but not its dependency - jackson-core) in the binary build for uimaj, then it > would automatically build and get released with uimaj, but users would need to > separately download jackson-core jar (or use maven, etc.). > > -- This would require "developers" or "build-from-source" people to let > maven get the jackson-core jar into their maven repo, though, in order to > "build". > > I think things would go smoother, if it was part of uimaj, except for having > developers / build-from-source people have to get the jackson-core jar. > > Or, do you think it is OK to have the binary "convenience" build also include > the jackson-core jar? (It's Apache v2 licensed). In which case the > convenience > build is even more convenient :-) And I could get rid some some boilerplate > junk in the other project needed for managing it as a separate build. > > WDYT? > > -Marshall > > On 9/25/2014 2:47 PM, Richard Eckart de Castilho wrote: >> On 25.09.2014, at 20:27, [email protected] wrote: >> >>> + <para>Starting with version 2.6.1, JSON style serialization for CASs >>> and UIMA descriptions is supported via an >>> + optional add-on, <code>uimaj-json</code>. >> I noticed that you have moved the JSON code to the addons now. Since we have >> developed a habit of no longer releasing the addons, I wonder if locating >> the new module next to the other UIMAJ SDK modules. When I spoke out in >> favor of having JSON support in its own module, I was indeed thinking of >> leaving it as a separate module in the SDK and version it along with the >> other SDK modules. >> >> Are you planning on moving it to the SDK once read support has been added or >> were you thinking of leaving it in the addons? >> >> Cheers, >> >> - Richard >> >
