Как использовать Gradle Java Api 6.1.1 - PullRequest
0 голосов
/ 05 февраля 2020

Я не совсем понимаю, как использовать API-интерфейс gradle Java. Я боюсь, что моя путаница заключается в основах того, для чего этот API.

По сути, я думал, что я мог сделать с этим API, чтобы создать объект Project из файла build.gradle и затем перемещаться по нему программно через java код для проверки задач, зависимостей и т. д.

Моя путаница заключается в том, что большинство из того, что я вижу в этой библиотеке, - это интерфейсы, и нет никакого способа фактически создать этот экземпляр Project (по крайней мере, я не мог не найти). Не уверен, что все эти интерфейсы, а затем используются внутренне по gradle и не предназначены для использования, как я намереваюсь.

Я знаю, что на самом деле я могу создавать задачи в файле gradle для печати, например, зависимостей, но я был просто пытаюсь получить это через API. Я также видел API Toolong, но, опять же, я не понимаю назначение фактического API Java.

Для справки: это интерфейс проекта, о котором я говорю: https://docs.gradle.org/current/javadoc/org/gradle/api/Project.html

Можно ли перемещаться по этому объекту программно?

Спасибо

1 Ответ

1 голос
/ 05 февраля 2020

По сути, я думал, что смогу с этим API создать объект Project из файла build.gradle, а затем программно перемещаться по нему по коду java для проверки задач, зависимостей и т. Д.

publi c Gradle API предназначен для взаимодействия с:

Вы никогда (насколько я знаю) не создадите ни один из них программно. Они создаются для вас, как только вы вызываете ./gradlew.

Gradle's TestKit позволяет вам создать Project экземпляр, но, как следует из названия, он предназначен для тестов * Только 1038 *.

Я путаюсь с тем, что большую часть того, что я вижу в этой библиотеке, это интерфейсы, и нет никакого способа создать этот экземпляр Project (по крайней мере, я не смог его найти). Не уверен, что все эти интерфейсы и затем используются внутри Gradle и не предназначены для использования, как я намерен.

Вы реализуете интерфейс Plugin<T> для того, что вы хотите настроить , T API-интерфейсы Project, Settings или Gradle.

Publi c обычно имеют следующее соглашение о пакете: org.gradle.api.*. Это те, которые вы должны стремиться использовать всегда. Как вы их используете, обычно задокументировано где-то в разделе Авторских сборок Gradle Авторских сборок Gradle: https://docs.gradle.org/current/userguide/userguide.html

Как правило, для самых простых плагины, вы будете взаимодействовать только с:

Private API, как правило, имеют следующее соглашение о пакете: org.gradle.api.internal. Как правило, вы должны избегать использования этих API, если у вас нет конкретной причины c. Именно в этих API-интерфейсах экземпляры Project, Settings и Gradle создаются за кулисами программно.

Можно ли осуществлять навигацию по этому объекту программно?

Да. Реализуйте вышеуказанный интерфейс Plugin<T> для объекта, с которым вы будете взаимодействовать. Затем примените плагин к вашему проекту.

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