Можно ли избежать цикла зависимости, когда одно ребро является тестовой зависимостью?

Рассмотрим родительский объект testCycle с модулями DummyCore и TestFramework .

TestFramework зависит от DummyCore , а DummyCore имеет тестовую зависимость от TestFramework .

Сборка и тестирование каждого модуля независимо maven не вызывает проблем. Но mvn test родители testCycle приводят к:

    The projects in the reactor contain a cyclic reference: Edge between 'Vertex{label='com.mysimpatico:TestFramework:1.0-SNAPSHOT'}' and 'Vertex{label='org.apache:DummyCore:1.0-SNAPSHOT'}' introduces to cycle in the graph org.apache:DummyCore:1.0-SNAPSHOT --> com.mysimpatico:TestFramework:1.0-SNAPSHOT --> org.apache:DummyCore:1.0-SNAPSHOT -> [Help 1]

To see the full stack trace of the errors, re-run Maven with the -e switch.
Re-run Maven using the -X switch to enable full debug logging.

For more information about the errors and possible solutions, please read the following articles:
[Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectCycleException

Для воспроизведения:

wget http://dp4j.sf.net/debug/testCycle.zip
unzip testCycle.zip
cd testCycle; mvn test 

Я ожидал, что maven построит DummyCore src и затем скомпилирует тесты будут компилировать TestFramework src, который не зависит от DummyCore . На этом этапе он должен был скомпилировать DummyCore src + тесты и TestFramework src. Наконец, он также скомпилирует тесты DummyCore . Есть ли способ сказать maven сделать это? Если нет, как бы вы обошлись с этим?

Переместить тесты в DummyCore в отдельный модуль, который зависит от DummyCore и TestFramework ? Я бы сделал это, чтобы удовлетворить maven.

6
задан simpatico 17 May 2011 в 17:10
поделиться