Intellij:定义要用于所有新Java项目的默认任务

时间:2017-08-01 07:29:56

标签: intellij-idea gradle

对于我所拥有的几乎所有Java项目,我都定义了一个新的Gradle任务来构建一个带有javadocs的jar。具体来说,我几乎每个build.gradle添加以下内容:

task jarJavadoc(type: Jar, dependsOn: ['javadoc']) {
    classifier = 'javadoc'
    from javadoc.destinationDir
}

artifacts {
    archives jarJavadoc
}

有没有办法配置Intellij,以便自动将这些行添加到每个新的Gradle Java项目中?

2 个答案:

答案 0 :(得分:2)

我认为你可以探讨几种选择:

  • 首先在 GRADLE_HOME 目录中创建一个gradle文件(例如 init.gradle )(例如〜/ .gradle / 并定义那里的公共部分。 Gradle在处理构建脚本时始终应用这些文件first。请注意,您在那里配置的所有内容都将可用 您计算机上的每个Gradle项目。这意味着例如如果你依赖 在Java插件上(就像你在一个例子中所做的那样)并创建 其他不依赖Java的项目,这种方法可能会产生 配置错误,请谨慎使用。

  • 您可以编写一个简单的Gradle插件,它可以为项目添加所需的常见任务。使用此方法,您仍需要复制apply plugin: 'your plugin'

  • 您可以利用File and Code templates并更新Gradle构建脚本模板以包含公共代码。
  • 您还可以混合最后两个示例并编写一个插件来配置常见任务并修改Gradle构建脚本模板以包含您的插件。

答案 1 :(得分:0)

您可以应用nebula.javadoc-jar插件。

例如:

plugins {
    id 'nebula.javadoc-jar' version '5.1.0'
}