[
https://issues.apache.org/jira/browse/IVY-1614?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17269261#comment-17269261
]
Björn Kautler commented on IVY-1614:
------------------------------------
Ok, so expanding on Gintas example, just have an {{ivy.xml}} with content
{code:java}
<ivy-module version="2.0">
<info organisation="foo" module="bar"/>
<dependencies>
<dependency org="org.eclipse.emf" name="ecore"
rev="2.3.0-v200706262000"/>
</dependencies>
</ivy-module>
{code}
and then use his command
{code:java}
java -jar apache-ivy-2.5.0/ivy-2.5.0.jar -retrieve org.eclipse.emf ecore
2.3.0-v200706262000 {code}
and you get
{noformat}
::::::::::::::::::::::::::::::::::::::::::::::
:: UNRESOLVED DEPENDENCIES ::
::::::::::::::::::::::::::::::::::::::::::::::
:: org.eclipse.emf#common;[2.3.0,3.0.0): not found
:: org.eclipse.core#resources;[3.3.0,4.0.0): not found
:::::::::::::::::::::::::::::::::::::::::::::: {noformat}
Or to stay at the orginally reported case, the install task,
- Have this {{build.xml}}:
{code:java}
<project default="install" xmlns:ivy="antlib:org.apache.ivy.ant">
<target name="check-ivy">
<available property="ivy.jar.present"
file="lib/ivy/ivy-2.5.0.jar"
type="file"/>
</target>
<target name="download-ivy"
depends="check-ivy"
unless="ivy.jar.present">
<mkdir dir="lib/ivy"/>
<get
src="https://repo1.maven.org/maven2/org/apache/ivy/ivy/2.5.0/ivy-2.5.0.jar"
dest="lib/ivy/ivy-2.5.0.jar"
usetimestamp="true"/>
</target>
<target name="init-ivy"
depends="download-ivy">
<property name="ivy.retrieve.pattern"
value="lib/[conf]/[artifact](-[classifier]).[ext]"/>
<taskdef resource="org/apache/ivy/ant/antlib.xml"
classpath="lib/ivy/ivy-2.5.0.jar"
loaderref="ivy.loader"
uri="antlib:org.apache.ivy.ant"/>
</target>
<target name="install"
depends="init-ivy">
<ivy:install from="public"
to="local"
organisation="org.eclipse.emf"
module="ecore"
revision="2.3.0-v200706262000"
overwrite="true"/>
</target>
</project>
{code}
- Run Ant
- Look at the installed ivy file and you will find the Maven syntax range
instead of the Ivy syntax range ({{grep common
~/.ivy2/local/org.eclipse.emf/ecore/2.3.0-v200706262000/ivys/ivy.xml}})
> Ivy needs to translate Maven version ranges
> -------------------------------------------
>
> Key: IVY-1614
> URL: https://issues.apache.org/jira/browse/IVY-1614
> Project: Ivy
> Issue Type: Bug
> Affects Versions: 2.4.0
> Reporter: Björn Kautler
> Assignee: Jaikiran Pai
> Priority: Major
> Time Spent: 10m
> Remaining Estimate: 0h
>
> Syntax for version ranges is differing between Maven and Ivy.
> If a dependency is installed from a Maven repository and installed to an Ivy
> repository using the install task, the version ranges need to be translated.
> For example if you install from Maven Central to some Ivy repository the
> library {{org.eclipse.emf:ecore:2.3.0-v200706262000}}, then you end up with
> this in your Ivy file:
> {code:xml}
> <dependency org="org.eclipse.emf" name="common" rev="[2.3.0,3.0.0)"
> force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
> {code}
> while in Ivy syntax this should be
> {code:xml}
> <dependency org="org.eclipse.emf" name="common" rev="[2.3.0,3.0.0["
> force="true" conf="compile->compile(*),master(*);runtime->runtime(*)"/>
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)