2012-07-19 78 views
4

我使用Gradle作为我的Scala项目的构建工具。我也使用Eclipse进行开发,所以我总是在构建文件中使用apply plugin: 'eclipse'Gradle全球插件

还有一种方法可以定义全球范围内的apply plugin吗? SBT已经有such a feature。我之所以想这样做,是因为使用我的项目的其他开发人员可能不使用Eclipse,而是使用另一个IDE,他们必须根据需要更改构建脚本。如果有全局配置文件,可以将个人配置放在那里,并且不会与其他配置冲突。

+1

我不确定问题是什么......如果其他用户不使用Eclipse,那么他们不会运行'gradle eclipse'。你也可以添加另一个插件(IDEA),如果他们想要的话,他们可以使用它。据我了解,'apply'只是使插件可用。它不会强制所有用户使用它。 – 2012-07-19 22:48:09

+0

嗯,没错。从来没有这样想过。我来自SBT并错过了这个功能。 :) – pvorb 2012-07-20 10:56:23

回答

5

你可以把这个变成~/.gradle/init.gradle

rootProject.allprojects { 
    apply plugin: "eclipse" 
} 

这种方法的缺点是,它使得构建较少的重复性。人们现在需要添加一些东西到他们的init.gradle,使(构建的某些方面)工作。因此,我建议在主构建脚本中应用Eclipse插件;它不会伤害不使用它的人。

+0

现在应该是:'rootProject {apply plugin:“eclipse”}' – 2013-09-26 22:21:47

+0

对于多项目构建,'eclipse'插件必须应用于所有项目。 – 2013-09-27 04:49:56

+0

@PeterNiederwieser如果第三方插件不带gralde并且需要添加到类路径中,该怎么办? init.gradle仍然可以用这种方式吗? – Andrejs 2015-02-19 06:44:03

0

您可以在buildSrc中创建一个build.gradle,该实现您的自定义逻辑。只是不检查它到版本控制。要将其应用于多个项目,您可以创建一个中央目录,并在要应用它的项目中创建符号链接。