[ https://issues.apache.org/jira/browse/IVY-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Björn Kautler updated IVY-1624: ------------------------------- Description: This is probably related to IVY-1625 Given the {{ivy.xml}} {code:xml} <ivy-module version="2.0"> <info organisation="foo" module="bar"/> <dependencies> <dependency org="org.apache.logging.log4j" name="log4j-core" rev="2.14.0" conf="default"/> </dependencies> </ivy-module>{code} And the {{build.xml}} {code:xml} <project default="retrieve" 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="retrieve" depends="init-ivy"> <ivy:retrieve sync="true"/> </target> </project>{code} When you now execute Ant, you only get {{lib/default/log4j-core.jar}} while you should also get {{lib/default/log4j-api.jar}} which works fine in Maven and Gradle. The problem is most probably that there is a second dependency on {{log4j-api}} where a different (additional) artifact is depended upon in the {{test}} scope. was: Given the {{ivy.xml}} {code:xml} <ivy-module version="2.0"> <info organisation="foo" module="bar"/> <dependencies> <dependency org="org.apache.logging.log4j" name="log4j-core" rev="2.14.0" conf="default"/> </dependencies> </ivy-module>{code} And the {{build.xml}} {code:xml} <project default="retrieve" 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="retrieve" depends="init-ivy"> <ivy:retrieve sync="true"/> </target> </project>{code} When you now execute Ant, you only get {{lib/default/log4j-core.jar}} while you should also get {{lib/default/log4j-api.jar}} which works fine in Maven and Gradle. The problem is most probably that there is a second dependency on {{log4j-api}} where a different (additional) artifact is depended upon in the {{test}} scope. > log4j-core is missing the log4j-api dependency when resolving > ------------------------------------------------------------- > > Key: IVY-1624 > URL: https://issues.apache.org/jira/browse/IVY-1624 > Project: Ivy > Issue Type: Bug > Affects Versions: 2.5.0 > Reporter: Björn Kautler > Priority: Major > > This is probably related to IVY-1625 > > Given the {{ivy.xml}} > {code:xml} > <ivy-module version="2.0"> > <info organisation="foo" module="bar"/> > <dependencies> > <dependency org="org.apache.logging.log4j" name="log4j-core" > rev="2.14.0" conf="default"/> > </dependencies> > </ivy-module>{code} > And the {{build.xml}} > {code:xml} > <project default="retrieve" 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="retrieve" > depends="init-ivy"> > <ivy:retrieve sync="true"/> > </target> > </project>{code} > When you now execute Ant, you only get {{lib/default/log4j-core.jar}} while > you should also get {{lib/default/log4j-api.jar}} which works fine in Maven > and Gradle. > The problem is most probably that there is a second dependency on > {{log4j-api}} where a different (additional) artifact is depended upon in > the {{test}} scope. -- This message was sent by Atlassian Jira (v8.3.4#803005)