Заменить зависимость gradle с локальным клоном - PullRequest
2 голосов
/ 19 апреля 2019

У меня есть проект 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, но это ни к чему не привело.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...