You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by Richard Eckart de Castilho <re...@apache.org> on 2014/09/18 17:52:13 UTC

JSON support introduces a new dependency in uimaj-core

Hi,

I have noticed that the new JSON support also introduces a new dependency on jackson in uimaj-core.
I wonder if that is a good idea since our users might need to get extra permission from their legal
departments to use the new library when they want to upgrade. Would it be reasonable to maintain
the JSON support in a separate module? Given the kind of very deep integration that the JSON
support appears to have, this might not even be easily possible.

What do you think?

Cheers,

-- Richard

Re: JSON support introduces a new dependency in uimaj-core

Posted by Marshall Schor <ms...@schor.com>.
ok, I'll take a look at moving the JSON support code to a separate module. -M
On 9/19/2014 5:24 AM, Richard Eckart de Castilho wrote:
> I share Alexandre's opinion. Having the code in a separate module would avoid
> having to deal with optional dependencies and exclusions.
>
> Cheers,
>
> -- Richard
>
> On 19.09.2014, at 04:57, Alexandre Patry <al...@keatext.com> wrote:
>
>> To my knowledge, the easiest way to make a dependency optional is to put the code depending on it in a separate module.
>>
>> A compromise is to make the jackson dependency optional (see https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html). This will require jackson to build the project, but it will not include it in the transitional dependencies of uimaj. People needing JSON support will have to declare the jackson dependency explicitly.
>>
>> Personally, I would prefer a separate module.
>>
>> Hope this help,
>>
>> Alexandre
>>
>>
>> On 14-09-18 05:06 PM, Marshall Schor wrote:
>>> The Jackson Jars are not needed (in the binary distribution), if you do not want
>>> the JSON support.  So this may not be an issue for consumers of UIMA - they
>>> could just delete the Jackson Jar if they don't need it, from our "convenience"
>>> binary packaging (I would hope we wouldn't need to provide 2 binary packages -
>>> one with and one without...)
>>>
>>> But I see a possible issue for developers, etc. building from source using
>>> Eclipse or Maven; I agree it would be good to allow builds to succeed with and
>>> without the Jackson jars, with the "without" case of course not running the JSON
>>> test cases.
>>>
>>> Anyone know how to make that happen?  I hope someone can think up a nice
>>> approach :-)
>>>
>>> -Marshall
>>>
>>> On 9/18/2014 11:52 AM, Richard Eckart de Castilho wrote:
>>>> Hi,
>>>>
>>>> I have noticed that the new JSON support also introduces a new dependency on jackson in uimaj-core.
>>>> I wonder if that is a good idea since our users might need to get extra permission from their legal
>>>> departments to use the new library when they want to upgrade. Would it be reasonable to maintain
>>>> the JSON support in a separate module? Given the kind of very deep integration that the JSON
>>>> support appears to have, this might not even be easily possible.
>>>>
>>>> What do you think?
>>>>
>>>> Cheers,
>>>>
>>>> -- Richard
>> -- 
>> Alexandre Patry, Ph.D
>> Chercheur / Researcher
>> http://KeaText.com
>
>


Re: JSON support introduces a new dependency in uimaj-core

Posted by Richard Eckart de Castilho <re...@apache.org>.
I share Alexandre's opinion. Having the code in a separate module would avoid
having to deal with optional dependencies and exclusions.

Cheers,

-- Richard

On 19.09.2014, at 04:57, Alexandre Patry <al...@keatext.com> wrote:

> To my knowledge, the easiest way to make a dependency optional is to put the code depending on it in a separate module.
> 
> A compromise is to make the jackson dependency optional (see https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html). This will require jackson to build the project, but it will not include it in the transitional dependencies of uimaj. People needing JSON support will have to declare the jackson dependency explicitly.
> 
> Personally, I would prefer a separate module.
> 
> Hope this help,
> 
> Alexandre
> 
> 
> On 14-09-18 05:06 PM, Marshall Schor wrote:
>> The Jackson Jars are not needed (in the binary distribution), if you do not want
>> the JSON support.  So this may not be an issue for consumers of UIMA - they
>> could just delete the Jackson Jar if they don't need it, from our "convenience"
>> binary packaging (I would hope we wouldn't need to provide 2 binary packages -
>> one with and one without...)
>> 
>> But I see a possible issue for developers, etc. building from source using
>> Eclipse or Maven; I agree it would be good to allow builds to succeed with and
>> without the Jackson jars, with the "without" case of course not running the JSON
>> test cases.
>> 
>> Anyone know how to make that happen?  I hope someone can think up a nice
>> approach :-)
>> 
>> -Marshall
>> 
>> On 9/18/2014 11:52 AM, Richard Eckart de Castilho wrote:
>>> Hi,
>>> 
>>> I have noticed that the new JSON support also introduces a new dependency on jackson in uimaj-core.
>>> I wonder if that is a good idea since our users might need to get extra permission from their legal
>>> departments to use the new library when they want to upgrade. Would it be reasonable to maintain
>>> the JSON support in a separate module? Given the kind of very deep integration that the JSON
>>> support appears to have, this might not even be easily possible.
>>> 
>>> What do you think?
>>> 
>>> Cheers,
>>> 
>>> -- Richard
> 
> -- 
> Alexandre Patry, Ph.D
> Chercheur / Researcher
> http://KeaText.com


Re: JSON support introduces a new dependency in uimaj-core

Posted by Alexandre Patry <al...@keatext.com>.
To my knowledge, the easiest way to make a dependency optional is to put 
the code depending on it in a separate module.

A compromise is to make the jackson dependency optional (see 
https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html). 
This will require jackson to build the project, but it will not include 
it in the transitional dependencies of uimaj. People needing JSON 
support will have to declare the jackson dependency explicitly.

Personally, I would prefer a separate module.

Hope this help,

Alexandre


On 14-09-18 05:06 PM, Marshall Schor wrote:
> The Jackson Jars are not needed (in the binary distribution), if you do not want
> the JSON support.  So this may not be an issue for consumers of UIMA - they
> could just delete the Jackson Jar if they don't need it, from our "convenience"
> binary packaging (I would hope we wouldn't need to provide 2 binary packages -
> one with and one without...)
>
> But I see a possible issue for developers, etc. building from source using
> Eclipse or Maven; I agree it would be good to allow builds to succeed with and
> without the Jackson jars, with the "without" case of course not running the JSON
> test cases.
>
> Anyone know how to make that happen?  I hope someone can think up a nice
> approach :-)
>
> -Marshall
>
> On 9/18/2014 11:52 AM, Richard Eckart de Castilho wrote:
>> Hi,
>>
>> I have noticed that the new JSON support also introduces a new dependency on jackson in uimaj-core.
>> I wonder if that is a good idea since our users might need to get extra permission from their legal
>> departments to use the new library when they want to upgrade. Would it be reasonable to maintain
>> the JSON support in a separate module? Given the kind of very deep integration that the JSON
>> support appears to have, this might not even be easily possible.
>>
>> What do you think?
>>
>> Cheers,
>>
>> -- Richard
>>


-- 
Alexandre Patry, Ph.D
Chercheur / Researcher
http://KeaText.com


Re: JSON support introduces a new dependency in uimaj-core

Posted by Marshall Schor <ms...@schor.com>.
The Jackson Jars are not needed (in the binary distribution), if you do not want
the JSON support.  So this may not be an issue for consumers of UIMA - they
could just delete the Jackson Jar if they don't need it, from our "convenience"
binary packaging (I would hope we wouldn't need to provide 2 binary packages -
one with and one without...)

But I see a possible issue for developers, etc. building from source using
Eclipse or Maven; I agree it would be good to allow builds to succeed with and
without the Jackson jars, with the "without" case of course not running the JSON
test cases.

Anyone know how to make that happen?  I hope someone can think up a nice
approach :-)

-Marshall

On 9/18/2014 11:52 AM, Richard Eckart de Castilho wrote:
> Hi,
>
> I have noticed that the new JSON support also introduces a new dependency on jackson in uimaj-core.
> I wonder if that is a good idea since our users might need to get extra permission from their legal
> departments to use the new library when they want to upgrade. Would it be reasonable to maintain
> the JSON support in a separate module? Given the kind of very deep integration that the JSON
> support appears to have, this might not even be easily possible.
>
> What do you think?
>
> Cheers,
>
> -- Richard
>