У меня есть проект Java, управляемый с помощью gradle, с удаленной зависимостью, разрешенной через репозиторий.
implementation 'org.company:very-big-dependency:2.7.1'
Я хочу клонировать эту зависимость, работать над локальным проектом и реализовать новую функцию.
Есть ли способ заставить gradle захватить зависимость от локального, как это было из хранилища?
Я пытался включить проект в мой settings.gradle
include ':app', ":very-big-dependency"
project(':very-big-dependency').projectDir = new File(settingsDir, '../../very-big-dependency')
и определили зависимость от моего build.gradle
dependencies {
...
implementation project(':very-big-dependency')
но когда я запускаю build
gradle жалуется, что не может найти подпроект зависимости
A problem occurred evaluating script.
> Project with path ':sub-project' could not be found in project
То, что проект был построен правильно, когда он был разрешен через репозиторий, говорит о том, что gradle не ведет себя так же при сборке локального проекта.
Проект зависимости строится правильно при вызове собственного сценария сборки на локальном клоне, тесты проходят, и все в порядке.
Есть ли что-то еще, что мне нужно сказать gradle в моем проекте? Нужно ли что-то еще делать с локальной зависимостью? Нужно ли мне собирать банку каждый раз, когда я хочу это проверить?
Примечания:
- Для этого не используется IDE
- Проект создан с помощью
gradle init
- Я попытался импортировать
:sub-project
, просто чтобы получить:
A problem occurred configuring project ':very-big-dependency'.
> Could not get unknown property 'compileJava' for project ':sub-project' of type org.gradle.api.Project.
- Я пытался добавить
flatDir
в repositories
, но это ни к чему не привело.