문제

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.

도움이 되었습니까?

해결책

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?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top