Может ли Gradle обрабатывать локальные зависимости, кроме подкаталогов? - PullRequest
1 голос
/ 25 августа 2010

Я не знаю, правильно ли я понял концепцию, но я хочу создать несколько проектов с зависимостями от других проектов, которые не являются частью структуры каталогов родительского проекта. Я знаю, что нормальным способом сделать это было бы использование внешней зависимости, которая выбирается из какого-либо внешнего хранилища. Но в этом случае, где, скажем, в проекте под названием «F» разработана структура, которая используется в проекте «P», тогда P использует F, но F не обязательно должен быть IMO как подпроект P, поскольку используется только для тест-драйва разработки F (но это не только юнит-тест). Позднее, когда F стабильно, F отделяется и может использоваться другими проектами через репозиторий. Но во время разработки F с P в качестве тестового примера было бы неплохо, если бы этот обход по хранилищу мог быть пропущен.

Что еще хуже, для первоначальной разработки существует более одного потребительского проекта с тест-драйвом, который должен иметь зависимость от F, но не через внешний репозиторий.

Моя идея - разработать F в каком-то месте на диске с собственным репозиторием git. Другие P-подобные проекты находятся где-то еще на диске и имеют локальную файловую систему на основе F. Возможна ли такая конструкция в Gradle? Если да, то с чего мне начать? Я просканировал примеры Java, но не смог найти подходящий пример.

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 06 сентября 2010

Иерархия проекта Gradle полностью виртуальная. По умолчанию физическое местоположение соответствует виртуальной иерархии. Но у вас есть полный контроль над этим. Смотри: http://gradle.org/0.9-rc-1/docs/userguide/build_lifecycle.html#sec:settings_file

Что касается других ваших идей, взгляните на следующее Jira: http://jira.codehaus.org/browse/GRADLE-1014

0 голосов
/ 02 сентября 2010

Вы можете рассмотреть иерархию папок, например, такую:

Main folder
|- F folder
|  |- .git
|  |- sources
|  |- build.gradle (with parts specific to F)
|- P folder
|  |- sources
|  |- build.gradle (with part specific to P)
|- build.gradle (with common parts)
|- settings.gradle

Таким образом, вы всегда можете решить запустить gradle либо для F-проекта, либо для P-проекта, либо для двух вместе.Это также позволит вам продвигать ваш проект F самостоятельно, без P или каких-либо других побочных проектов.

Для получения более свежей информации см. Главу Сборки нескольких проектов Gradle.документация.

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