Композитная сборка Gradle с пользовательским модулем Gradle завершается сбоем в IntelliJ: «Не удалось найти метод api () для аргументов» - PullRequest
0 голосов
/ 30 декабря 2018

У меня есть композитный проект Gradle, который содержит собственный плагин Gradle.Этот проект прекрасно работает при использовании Gradle CLI, но IntelliJ не удается.

Я пробовал несколько различных вариантов версии плагина в блоке resolutionStrategy: org.test:test-plugin:0.0.1 и test-plugin:test-plugin.gradle.plugin:0.0.1, как описано здесь: https://docs.gradle.org/current/userguide/plugins.html#sec:plugin_markers - обе эти работы из CLI;изменение недопустимых значений («бла: бла») приводит к сбою.

Я создал пример проекта Github, содержащий код для воспроизведения, здесь: https://github.com/mwmitchell/intellij-gradle-plugin-composite-build-bug вместе с инструкциями по воспроизведению иОбходной путь.Обходной путь для меня не совсем возможен, поскольку он требует повторения кода конфигурации (зависимостей, плагинов и т. Д.), И у меня много, много проектов, требующих одинаковой / общей конфигурации.

Я бы ожидал, что IntelliJзагрузите проект успешно, как это делает CLI.Похоже, что IntelliJ загружает подпроект (:project-1:library-a) перед родителем (:project-1), так что java-library фактически не применяется к подпроекту при его оценке.

Ответы [ 2 ]

0 голосов
/ 13 марта 2019

Спасибо за пример проекта!Действительно, это проблема в IntelliJ IDEA, см. этот билет .

0 голосов
/ 30 декабря 2018

В проектах Gradle может быть только один settings.gradle.Вы можете включить подпроект "library-a" с include 'project-1:library-a' в основной settings.gradle.

...