gradle 具有特定结构的初始化项目

gradle init project with specific struct

我想为少数具有相同结构的项目创建带有自定义文件的项目,例如每个项目都应该有自定义 css 文件,例如 bootstrap.min.css 在 /webapp/css 中,自定义登录页面在/webapp/html,以及 webapp/image 中的徽标图片 enter image description here 我该怎么做? Gradle 没有原型生成。我怎样才能创建一些 "global" 任务?例如,当我在任何目录中执行 gradle createSimpleProject 时,它会生成此自定义项目。我可以使用 gradle init 创建这个吗?

每个目录或多或少都是一个 Gradle 项目 - 特别是空目录是一个空的 Gradle 项目。如果您 运行 gradle tasks 在一个空目录中,您将获得任务列表,包括基本 init 任务或 wrapper 任务。

您可以通过在 gradle 目录中设置 init.gradle 文件来添加这些任务(在 Mac 上是 ~/.gradle/gradle.init,对于其他平台,请参阅 here).将任务添加到根项目将允许您即使在空目录中也可以调用它。这是 init.gradle 文件的示例内容:

gradle.rootProject {
  task yourInit {
    group = "Helper"
    description = "Create structure for whatever project"
    doLast {
      println 'Create structure here'
    }
  }
}

在空目录中打开终端并 运行 宁 gradle yourInit 将导致此目录中 doLast 到 运行 中的阻塞。您可以在那里生成目录和文件。