You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@taverna.apache.org by "Stian Soiland-Reyes (JIRA)" <ji...@apache.org> on 2016/03/09 15:27:40 UTC

[jira] [Created] (TAVERNA-933) Upgrade dependency of Jackson to 2.7.0

Stian Soiland-Reyes created TAVERNA-933:
-------------------------------------------

             Summary: Upgrade dependency of Jackson to 2.7.0
                 Key: TAVERNA-933
                 URL: https://issues.apache.org/jira/browse/TAVERNA-933
             Project: Apache Taverna
          Issue Type: Task
          Components: Taverna Language, Taverna Maven Parent
            Reporter: Stian Soiland-Reyes


We use the JSON library Jackson 2.3.3, but the latest version is 2.7.0

Upgrading Jackson should check their changelog for API changes, as Jackson is part of
SCUFL2 APIs [Configurable|http://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/scufl2/api/configurations/Configuration.html] - and also in Taverna Engine's [ExecutionEnvironment|http://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/execution/api/ExecutionEnvironment.html]

Can we assume [Semantic Versioning|http://semver.org/] ? If so we should be fine.

Also I believe the json-ld library used by Jena for read/write of JSON-LD depends on Jackson.

Generally I think the unit tests should uncover any issues, but it's worth also checking the command line launcher after upgrading to see it also works fine within OSGi.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Re: [jira] [Created] (TAVERNA-933) Upgrade dependency of Jackson to 2.7.0

Posted by Stian Soiland-Reyes <st...@apache.org>.
I think generally if you see consistently a x.y.z versioning scheme - at
least in Java Maven projects, you can assume some kind of Semantic
Versioning compliance and moan back at the project if it isn't :). But as
usual, the devil is in the details.

We are exposing Jackson classes in the API of taverna-language, which we
use with OSGi. That should mean that say the taverna-commandline can use a
newer version of Jackson, plugged into the (hopefully soon releases)
taverna-language 0.15.1, and it should still work, even if Language was
compiled against with older Jackson.

Updating the git master to use a newer Jackson should tell us if there are
compile-time changes for Language. (There could still be link-time changes).

Being able to do such updates without re-releasing everything on any
dependency update was a major motivation for why Taverna 3 moved to OSGi,
earlier Taverna 2 had its own plugin system that required 1:1 matching of
dependency versions (and even allowed multiple versions) - but this meant
practically that for any change to Taverna we would have to recompile and
release every part of Taverna to avoid older versions hanging about.

With OSGi we should be able to do such upgrades in a smoother manner, but
of course we would still need proper testing as often Semantic Versioning
isn't enough (e.g. as we saw with Oracle changing Java's built in XML
serializers in a point release)
On 9 Mar 2016 19:02, "Gale Naylor" <Ga...@noventussolutions.com> wrote:

> >>Can we assume [Semantic Versioning|http://semver.org/] ? If so we should
> be fine.
>
> I read the information on the link (sounds very logical), but I'm not sure
> what "we should be fine" means. We're okay to upgrade to Jackson 2.7.0 in
> Taverna Language as a bugfix and, therefore, increment the version to
> 0.15.2? I feel like I'm missing something. Why would we *not* assume
> semantic versioning?
>
>
> On Wed, Mar 9, 2016 at 6:27 AM Stian Soiland-Reyes (JIRA) <jira@apache.org
> >
> wrote:
>
> > Stian Soiland-Reyes created TAVERNA-933:
> > -------------------------------------------
> >
> >              Summary: Upgrade dependency of Jackson to 2.7.0
> >                  Key: TAVERNA-933
> >                  URL: https://issues.apache.org/jira/browse/TAVERNA-933
> >              Project: Apache Taverna
> >           Issue Type: Task
> >           Components: Taverna Language, Taverna Maven Parent
> >             Reporter: Stian Soiland-Reyes
> >
> >
> > We use the JSON library Jackson 2.3.3, but the latest version is 2.7.0
> >
> > Upgrading Jackson should check their changelog for API changes, as
> Jackson
> > is part of
> > SCUFL2 APIs [Configurable|
> >
> http://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/scufl2/api/configurations/Configuration.html
> ]
> > - and also in Taverna Engine's [ExecutionEnvironment|
> >
> http://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/execution/api/ExecutionEnvironment.html
> > ]
> >
> > Can we assume [Semantic Versioning|http://semver.org/] ? If so we should
> > be fine.
> >
> > Also I believe the json-ld library used by Jena for read/write of JSON-LD
> > depends on Jackson.
> >
> > Generally I think the unit tests should uncover any issues, but it's
> worth
> > also checking the command line launcher after upgrading to see it also
> > works fine within OSGi.
> >
> >
> >
> > --
> > This message was sent by Atlassian JIRA
> > (v6.3.4#6332)
> >
>

Re: [jira] [Created] (TAVERNA-933) Upgrade dependency of Jackson to 2.7.0

Posted by Gale Naylor <Ga...@noventussolutions.com>.
>>Can we assume [Semantic Versioning|http://semver.org/] ? If so we should
be fine.

I read the information on the link (sounds very logical), but I'm not sure
what "we should be fine" means. We're okay to upgrade to Jackson 2.7.0 in
Taverna Language as a bugfix and, therefore, increment the version to
0.15.2? I feel like I'm missing something. Why would we *not* assume
semantic versioning?


On Wed, Mar 9, 2016 at 6:27 AM Stian Soiland-Reyes (JIRA) <ji...@apache.org>
wrote:

> Stian Soiland-Reyes created TAVERNA-933:
> -------------------------------------------
>
>              Summary: Upgrade dependency of Jackson to 2.7.0
>                  Key: TAVERNA-933
>                  URL: https://issues.apache.org/jira/browse/TAVERNA-933
>              Project: Apache Taverna
>           Issue Type: Task
>           Components: Taverna Language, Taverna Maven Parent
>             Reporter: Stian Soiland-Reyes
>
>
> We use the JSON library Jackson 2.3.3, but the latest version is 2.7.0
>
> Upgrading Jackson should check their changelog for API changes, as Jackson
> is part of
> SCUFL2 APIs [Configurable|
> http://taverna.incubator.apache.org/javadoc/taverna-language/org/apache/taverna/scufl2/api/configurations/Configuration.html]
> - and also in Taverna Engine's [ExecutionEnvironment|
> http://taverna.incubator.apache.org/javadoc/taverna-engine/org/apache/taverna/platform/execution/api/ExecutionEnvironment.html
> ]
>
> Can we assume [Semantic Versioning|http://semver.org/] ? If so we should
> be fine.
>
> Also I believe the json-ld library used by Jena for read/write of JSON-LD
> depends on Jackson.
>
> Generally I think the unit tests should uncover any issues, but it's worth
> also checking the command line launcher after upgrading to see it also
> works fine within OSGi.
>
>
>
> --
> This message was sent by Atlassian JIRA
> (v6.3.4#6332)
>