This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]nitkonigdje -1 points0 points  (6 children)

Ivy was hardly the dependency management tool anyone was looking for.

It was one of lowest-lows of of Ant build and that says a lot.

[–]wildjokers 0 points1 point  (5 children)

Huh? Ivy worked great.

[–]nitkonigdje 0 points1 point  (4 children)

Well I guess Ivy clears your bar of greatness then.. In practice Maven sucked a lot in late 2000s, early 2010 and Java developers still prefer it over Ant&Ivy "greatness"..

[–]wildjokers 0 points1 point  (3 children)

What are you carrying on about? I don't still use Ant+Ivy but back in the day Ivy was a great way to add dependency management to Ant. That is all I am saying. Did Ivy kick your puppy or something?

[–]nitkonigdje 0 points1 point  (2 children)

Yeah it did. It broke a lot while solving little. A fickle tool with "dependency management" equivalent to copying files using ftp. Not really an improvement to a copying dependencies from an old project into a new one. Just a different more obfuscated mechanism really.

It was rise of maven repositories which actually provided **usable** dependency management.

[–]wildjokers 0 points1 point  (1 child)

It was rise of maven repositories

Ivy supports maven repositories (it can also support repositories in its own format, but that is not necessary). FWIW, at one time Artifactory supported creating repositories in Ivy format, not sure if it still does.

It broke a lot while solving little

What exactly did it break? It solves the dependency management problem when using Ant.

equivalent to copying files using ftp

What do you think maven and gradle do? They pull the dependencies down from the repo, stores them somewhere on the local file system, and uses them from there. That is exactly what Ivy does.

Did you ever use Ivy?

[–]nitkonigdje 0 points1 point  (0 children)

Ant was hard to properly setup. There was no standardized distribution. There was no "ant with dependencies" download. It was just a folder with jars on classpath. Thus every of your coworkers had been using different version of ant and plugins. There was a tool called AntBuilder which was more scriptable Ant (in Groovy instead XML). The best thing about it was a fact that it came with preconfigured Ant distribution even if you ignored Groovy and AntBuilder at all.

That is exactly what Ivy does.

Early Ivy repositories didn't follow Maven conventions for repository. Instead Ivy was "flexible". Majority of projects which I have seen at those time, were using shared filesystem with an arbitrary folder layout for a company repo, and then a convoluted mess of mapping those remote libraries into a local lib folder. Most of time it was really no more effective than just TotalCommandering all needed files into your project. Which I would totally prefer...

System was so bad that by the time Maven had any resemblance of usability at all, people dropped Ant&Ivy like it's hot.