Here's what part of my ivy.xml looks like right now:
<dependency org="org.springframework" name="org.springframework.core" rev="3.0.2.RELEASE" />
<dependency org="org.springframework" name="org.springframework.context" rev="3.0.2.RELEASE" />
<dependency org="org.springframework" name="org.springframework.jdbc" rev="3.0.2.RELEASE" />
<dependency org="org.springframework" name="org.springframework.beans" rev="3.0.2.RELEASE" />
<dependency org="org.springframework" name="org.springframework.jms" rev="3.0.2.RELEASE" />
Here's what I'd like it to look like:
<dependency org="org.springframework" name="org.springframework.core" rev="${spring.version}" />
<dependency org="org.springframework" name="org.springframework.context" rev="${spring.version}" />
<dependency org="org.springframework" name="org.springframework.jdbc" rev="${spring.version}" />
<dependency org="org.springframework" name="org.springframework.beans" rev="${spring.version}" />
<dependency org="org.springframework" name="org.springframework.jms" rev="${spring.version}" />
Is this possible? What's the syntax?
I ended up using XML entities to do the substitution. This keeps everything in the same file, which is important for my use case.
<?xml version="1.0"?>
<!DOCTYPE ivy-module [
<!ENTITY spring.version "3.0.2.RELEASE">
]>
<ivy-module version="2.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://incubator.apache.org/ivy/schemas/ivy.xsd">
<info organisation="org" module="mod"/>
<dependencies>
<dependency org="org.springframework" name="org.springframework.core" rev="&spring.version;" />
<dependency org="org.springframework" name="org.springframework.context" rev="&spring.version;" />
<dependency org="org.springframework" name="org.springframework.jdbc" rev="&spring.version;" />
<dependency org="org.springframework" name="org.springframework.beans" rev="&spring.version;" />
<dependency org="org.springframework" name="org.springframework.jms" rev="&spring.version;" />
</dependencies>
</ivy-module>
Syntax is correct. All you need to do is set the ANT property somewhere.
For example
ant -Dspring.version=3.0.2.RELEASE
Another alternative is to add the property declaration into the ivysettings.xml file
<ivysettings>
<property name="spring.version" value="3.0.2.RELEASE"/>
<settings defaultResolver="maven2"/>
<resolvers>
<ibiblio name="maven2" m2compatible="true"/>
</resolvers>
</ivysettings>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With