Ivy não pode resolver o escopo de uma dependência que é uma dependência de uma dependência transitiva
Eu adiciono uma dependência (vamos chamá-la de A) ao ivy.xml, que possui um arquivo pom no maven central. Ivy usa o ibiblio para resolver as dependências do maven. A dependência (A) que é adicionada ao ivy.xml possui uma dependência transitiva (B). Até aqui tudo bem até aqui. A dependência (C) da dependência transitiva (B) não pode ser resolvida pela hera.
Eu defini A em ivy.xml assim:
<dependency org="Z" name="A" rev="0.6-SNAPSHOT" conf="*->default"/>
No arquivo pom de B, C é definido nos escopos de compilação e teste, como abaixo:
<dependency>
<groupId>X</groupId>
<artifactId>C</artifactId>
</dependency>
<dependency>
<groupId>X</groupId>
<artifactId>C</artifactId>
<type>test-jar</type>
<scope>test</scope>
</dependency>
Quando olho o arquivo xml de B, resolvido pelo ivy no arquivo de cache do ivy (~ / .ivy2 / cache / X / C / ivy-0.98.8-hadoop2.xml), ele se parece com o seguinte:
<dependency org="X" name="C" rev="0.98.8-hadoop2" force="true" conf="test->runtime(*),master(*)"/>
<dependency org="X" name="C" rev="0.98.8-hadoop2" force="true" conf="test->runtime(*),master(*)">
<artifact name="C" type="test-jar" ext="jar" conf="" m:classifier="tests"/>
</dependency>
Por esse motivo, a ivy não pode definir escopos C corretamente. Para o registro, não tenho permissão para modificar os arquivos pom, pois são projetos de terceiros. Como posso corrigir isso?