如何让 Lazybones 处理子模板?

How do I get Lazybones to process sub-templates?

第一次和 Lazybones 一起玩。我整理了一个简单的项目,试图包含一个子模板。

项目结构如下:

.
├── build.gradle
├── gradlew
├── gradlew.bat
├── README.md
└── templates
    ├── groovy-lambda
    │   ├── build.gradle
    │   ├── lazybones.groovy
    │   ├── README.md
    │   ├── src
    │   │   ├── main
    │   │   │   ├── groovy
    │   │   │   │   └── .retain
    │   │   │   └── resources
    │   │   │       └── .retain
    │   │   └── test
    │   │       ├── groovy
    │   │       │   └── .retain
    │   │       └── resources
    │   │           └── .retain
    │   └── VERSION
    └── subtmpl-groovy-lambda-main-class
        ├── GroovyLambdaMainClass.groovy
        ├── lazybones.groovy
        └── VERSION

我像这样包含子模板

lazybones {
    template "groovy-lambda" includes "groovy-lambda-main-class"
}

子模板被打包到主工件存档中:

.
├── build.gradle
├── .lazybones
│   ├── groovy-lambda-main-class-template-1.0-SNAPSHOT.zip
│   └── stored-params.properties
├── README.md
└── src
    ├── main
    │   ├── groovy
    │   └── resources
    └── test
        ├── groovy
        └── resources

然而,子模板在模板执行时从未得到处理,即子模板 lazybones.groovy 脚本似乎没有得到 运行.

整个项目 here GitHub 可用。要重现该问题,请执行以下操作:

git@github.com:eddgrant/lazybones-template-aws-groovy-lambda.git
cd lazybones-template-aws-groovy-lambda.git
./gradlew installAllTemplates

cd /tmp
lazybones --verbose create groovy-lambda 1.0-SNAPSHOT groovy-lambda

我可能遗漏了一些微不足道的东西,但不太明白。非常感谢任何指点。

一切都按预期进行。子模板仅供 lazybones generate 命令使用,而该命令仅在您创建了基于 Lazybones 的项目后才有效。

经典示例类似于 Grails 或 Rails 项目,您可以在其中使用 generate 命令创建新控制器或域 类。