Работа с несколькими взаимозависимыми группами проектов Gradle в одном рабочем пространстве Eclipse.

Это очень долго ускользало от меня. Я до сих пор не знаю, есть ли способ для Eclipse с какими-либо плагинами понять, что некоторые проекты Gradle (в рабочей области) зависят от других проектов Gradle (также в рабочей области), когда они поступают из разных мест (например, отдельные исходные репозитории) .

В конечном итоге они зависят не друг от друга, а от опубликованных артефактов друг друга. Мне пришлось кодировать явную поддержку в сценариях сборки, как часть плагина eclipseClasspath eclipse для gradle, чтобы создавать биты рабочей области Eclipse, при этом мне сообщали (в командной строке), что эти другие проекты будут существовать в рабочей области.

Это не только громоздко и неудобно в сопровождении, но также требует уже существующих знаний о том, что может быть в рабочей области, именах этих проектов, громоздкой командной строке и т. д.

Есть ли решение этой проблемы или оно ожидается/приближается?

Пример:

Скажем, есть «продукт» под названием «А». В нем может быть несколько проектов Gradle, скажем, «один» и «два». Они публикуются в репозитории в стиле maven или ivy как артефакты jar A:one и A:two. Скажи, что "два" зависит от "одного". Вы можете импортировать это в Eclipse, и все будет хорошо. Проект Eclipse «два» будет зависеть от проекта Eclipse «один», а не от файла one.jar, загруженного из репозитория maven/ivy.

Есть еще один, отдельный продукт «Б». В нем также есть несколько проектов Gradle, скажем, «foo» и «bar». Скажем, "bar" зависит от "foo" и что "foo" зависит от A:one. Все по-прежнему в порядке. Если вы импортируете проекты "B" в Eclipse, появятся проекты "bar" и "foo", а "bar" будет зависеть от проекта "foo", а не от jar... И foo будет зависеть от автоматически загруженного A:one банка.

Но кто-то должен работать и над А, и над Б одновременно. Поэтому они импортируют все проекты в рабочее пространство Eclipse. Они что-то изменяют в A:one (скажем, исправляют ошибку) и хотят попробовать это, запустив что-то из B. Их изменение не будет видно, потому что B:foo зависит от ранее загруженного опубликованного jar-артефакта A:one, а не Затмение проект "один". Это усложняет отладку, проверку и т. д. Обновление зависимостей проекта вручную недолговечно — только до следующего обновления зависимости.


person Learner    schedule 09.04.2015    source источник


Ответы (1)


Eclipse с установленным плагином Gradle IDE имеет опцию Remap Jars to Gradle Projects

в диалоговом окне Windows > Preferences > Gradle. Я лично не использую его, но он должен работать для вас.

person Fanick    schedule 09.04.2015