Gradle:如何在命令行中应用插件

3
我下载了一个开源的Gradle构建项目,运行了gradle eclipse,但是apply plugin: 'eclipse'没有在build.gradle中,所以失败了。我编辑了文件并添加了这一行,然后成功地运行了gradle eclipse。我觉得这有点繁琐,因为我更希望能够运行gradle eclipse,例如使用某个标志,这样我就不需要改变源代码了。是否有其他替代方法?

不可以,但是你可以在不需要激活Gradle插件的情况下使用Eclipse的插件。 - Ben Manes
1个回答

0

我解决这个问题的方法是编写自定义的Gradle脚本,放在~/.gradle/init.d/目录下,例如:

allprojects {
    project.apply plugin: 'maven'
    buildscript {
        repositories {
            mavenLocal()
        }
    }
    repositories {
        mavenLocal()
    }
}

(这个是为了确保我可以在每个Gradle项目中利用mavenLocal存储库,但您也可以执行相同的操作并应用Eclipse插件)

这些脚本在每个Gradle构建中执行(按字母顺序排列,因此使用类似于Linux init.d的命名约定可以帮助,例如00-eclipse.gradle),可以丰富您的构建。

对于那些用户特定且不值得出现在每个人的构建脚本中的东西(如eclipse/idea/mavenLocal),我更喜欢这种方法,并且我还通过命令行应用gradle-tools-plugin以便更轻松地进行调试。

请注意,正如Ben所提到的,我通常建议不要使用eclipse/idea项目生成插件,而是更喜欢IDE Gradle集成,但这是另一回事。


感谢您的回答,这是我得到的最接近的答案(虽然我不想在每个Gradle构建中都被调用,但没办法),并且感谢您关于IDE集成的建议,我会再试一下。 - Dave Moten

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接