我有一个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中起作用;更改为无效值(“ blah:blah”)会导致失败。
我已经制作了一个示例Github项目,其中包含要复制的代码,这里:https://github.com/mwmitchell/intellij-gradle-plugin-composite-build-bug以及要复制的指令和解决方法。解决方法对我来说并不切实可行,因为它需要重复配置代码(依赖项,插件等),而且我有很多项目需要相同/通用的配置。
我希望IntelliJ像CLI一样成功加载项目。看来IntelliJ正在将子项目(:project-1:library-a
)加载到父项目(:project-1
)之前,使得java-library
在评估时实际上并未应用于子项目。 / p>
答案 0 :(得分:0)
感谢示例项目!确实,这是IntelliJ IDEA中的问题,请参见this ticket。
答案 1 :(得分:-2)
Gradle项目只能有一个settings.gradle
。您可以在主include 'project-1:library-a'
的{{1}}中包含子项目“ library-a”。