2015-04-09 1 views
1

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

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

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

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

Пример:

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

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

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

ответ

2

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

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