我使用Gradle作为我的Scala项目的构建工具。我也使用Eclipse进行开发,所以我总是在构建文件中使用apply plugin: 'eclipse'
。Gradle全球插件
还有一种方法可以定义全球范围内的apply plugin
吗? SBT已经有such a feature。我之所以想这样做,是因为使用我的项目的其他开发人员可能不使用Eclipse,而是使用另一个IDE,他们必须根据需要更改构建脚本。如果有全局配置文件,可以将个人配置放在那里,并且不会与其他配置冲突。
我使用Gradle作为我的Scala项目的构建工具。我也使用Eclipse进行开发,所以我总是在构建文件中使用apply plugin: 'eclipse'
。Gradle全球插件
还有一种方法可以定义全球范围内的apply plugin
吗? SBT已经有such a feature。我之所以想这样做,是因为使用我的项目的其他开发人员可能不使用Eclipse,而是使用另一个IDE,他们必须根据需要更改构建脚本。如果有全局配置文件,可以将个人配置放在那里,并且不会与其他配置冲突。
你可以把这个变成~/.gradle/init.gradle
:
rootProject.allprojects {
apply plugin: "eclipse"
}
这种方法的缺点是,它使得构建较少的重复性。人们现在需要添加一些东西到他们的init.gradle
,使(构建的某些方面)工作。因此,我建议在主构建脚本中应用Eclipse插件;它不会伤害不使用它的人。
现在应该是:'rootProject {apply plugin:“eclipse”}' – 2013-09-26 22:21:47
对于多项目构建,'eclipse'插件必须应用于所有项目。 – 2013-09-27 04:49:56
@PeterNiederwieser如果第三方插件不带gralde并且需要添加到类路径中,该怎么办? init.gradle仍然可以用这种方式吗? – Andrejs 2015-02-19 06:44:03
您可以在buildSrc中创建一个build.gradle
,该实现您的自定义逻辑。只是不检查它到版本控制。要将其应用于多个项目,您可以创建一个中央目录,并在要应用它的项目中创建符号链接。
我不确定问题是什么......如果其他用户不使用Eclipse,那么他们不会运行'gradle eclipse'。你也可以添加另一个插件(IDEA),如果他们想要的话,他们可以使用它。据我了解,'apply'只是使插件可用。它不会强制所有用户使用它。 – 2012-07-19 22:48:09
嗯,没错。从来没有这样想过。我来自SBT并错过了这个功能。 :) – pvorb 2012-07-20 10:56:23