On 19.05.20 03:53, OCsite wrote:
Well, thanks, I'll check the thing, though at the first look it rather
seems to be a tool for a Gradle project owner who wants to move his
projects into Xcode. Me, I'm precisely the opposite case — I've got
Xcode projects which I /possibly might/ want to move into Gradle.

I think you need to explain your deployment situation a bit more. Just
some rough numbers... to how many computers do you deploy and how many
applications? All Mac?

If at all. I still can't see any advantage it would bring to me. It
would automatically maintain dependencies, which is something I have
never really needed (at least, not until groovy-all disappeared).

there have been afaik 2 main reasons to remove groovy-all...
(1) Java module system (JMS).
To use Groovy as automatic module we have to make Groovy JMS-ready. We
did that in code in some places, but also by providing an automated
module name. The problem is no two modules can share the same packages.
At the same time the dependency on the module name is part of the Java
code now. So if you make one library that depends on groovy-all and one
that depends on groovy-core you are screwed. You would have to start
patching modules, to supply an alternate module-info.class and many
other things, that basically do not allow you to deploy the original
version of the library in any way anymore.
(2) People were asking for a smaller groovy jar for years. That is not a
new request, which actually tends not to come up on the list as often,
but more on conferences and when talking with people privately. But in
general the trend goes more to lean libraries and a several MB big lib
like Groovy does not make a good figure here.

As I understood it, you care not so much about these points. I assume
you do not plan to switch to JMS in the next years at all (the command
line is pure terror if you do not keep the conventions they invented are
totally orthogonal to what people commonly use) for example.

Besides, I wonder how reliably it could in principle work. Most of the
JAR-hell problems we have encountered happened when there were more
versions of the same library and some of them did work OK, some of them
did not: for example, having added Fop support, we had to
remove xmlgraphics-commons-2.3.jar which we used before without any
problem, and had to switch back to xmlgraphics-commons-1.5.jar, which
works OK with the Fop thing, whilst 2.3 does not[1]. I /do/ wonder
whether Gradle or any other auto-dependency manager /could ever/automate
properly and without problems /this/? Is there such kind of information
anywhere for the manager to do such decisions reliably?

I am not 100% sure what you mean with "this". What you can do in Gradle
is to change the dependency resolution to exclude dependencies, to force
certain versions of dependencies, to fail the build if two version of
the same dependency are to be used (does not work for for example
groovy-all and groovy-core being used at the same time, since their name
is different)

Right now you manage dependencies manually I assume.

bye Jochen

Reply via email to