Versions in extlibs and Gradle

Jeff Allen <[email protected]>
Newsgroups gmane.comp.lang.jython.devel
Message-ID <[email protected]>
One of the things we were looking forward to with Gradle was that it 
would become easier to control the versions of JARs (modules) we depend 
on. Gradle can get quite sophisticated about this: you can have anything 
you want. Only ... what do we want?

  * If we only specify a module name, we'll get the latest all the time
    (with obvious risks).
  * If a module moves to a new API we aren't ready for, we can specify
    the version in part (3.1.+), and continue to take minor/patch releases.
  * If a module has to be pinned to an exact version, we can name it
    explicitly (or an acceptable range).

At least we don't have to check the JAR in: just change the dependency 
statements (once we use Gradle exclusively). If we build distributions 
with Gradle like the JARs we build now, I believe we end up jarjar'ring 
the dynamically downloaded modules, but I haven't tried that yet.

A second dimension is when other projects cite Jython as a dependency 
and get our dependencies transitively. Consuming projects are able to 
override our version choices (if I understand correctly, 
https://docs.gradle.org/current/userguide/managing_transitive_dependencies.html#sec:enforcing_dependency_version). 
The less specific we are about version,  the more helpful to consumers. 
However, these might be untested combinations.

Any thoughts how to tell, for a given module, what the sensible policy 
would be?

-- 
Jeff Allen


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Jython-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jython-dev
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.