Domanda

i am used to maven builds and typicaly define library versions in the parent pom files (or in a company parent pom) dependencyManagement section. So updating minor versions is just a edit and deploy of one file.

Now i have to deal with ant/ivy and manage multiple projects with numerous modules that should in general share the same library/dependency versions, but need be able to override them if needed.

I read about the extends mechanism (as mentioned here) in ivy but that adds all the dependencies to the childs and not only it s version.

Using open revision definitions doesn't help me either cause i need to maintain different branches of all projects that must not update beyond specific versions.

I hope some of you experienced ivy users can tell me if ivy is able to do this or how you manage this task.

È stato utile?

Soluzione

Like mentioned in the linked answer from @MarkO'Connor it seems that properties are the way to go.

Here is a related Question/Answer (again from @MarkO'Connor) on how to handle those Properties

https://stackoverflow.com/a/3079655/1756183

So i will distribute a common version.properties file together with the already common ivysettings.xml to all Projects. This way the default ref will be filled with the version property placeholder and can be overriden with a specific version if needed.

It's not as charming as the dependencyManagement from maven (where i just can omit the version) but i don't see other solutions, do you?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top