Xavier Hanin wrote:
I think Steve's asking for the same setting in Ivy. If that's the question,
the answer is no, we don't have support for profiles so far in Ivy.

IMO a good way to implement this kind of thing would be to implement
conditionnal configurations and/or conditionnal dependencies.
Something like:
<dependency name="..." rev="..." if="myvariable" />

I remember this has already been discussed, but I don't remember if someone
opened an issue for that. With conditional dependencies/confs, we could map
each profile to a simple variable (for instance profile.<profile name>) then
activating the profile would be as simple as:
ant -Dprofile.<profile name> resolve

Implementing conditional dependencies/confs shouldn't be too hard, we just
have to ignore them when the condition is not matched. Parsing poms to
support this shouldn't be too hard either.

If we want to go further, we could deal with jdk enabled profiles (which is
one of the most common use case behind m2 profiles AFAIK) and set the
corresponding variables automatically depending on the jdk, to more closely
mimic m2.

I can see JDK/java version profiles being good, but it gets complex fast.

I'm currently mainly in need of a way of referring to profiled artifacts, which come out testng-5.7-java14 and testing-5.7-java15

I need a way of selecting one of these
<dependency name="..." rev="..."  profile="java1.5" />

actually choosing which one to use dynamically is feature creep that doesnt concern me (right now)

Reply via email to