Как мне заставить Lazybones обрабатывать суб-шаблоны?

Играя с 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 скрипт не запускается

Весь проект доступен здесь на 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

Я, наверное, упускаю что-то тривиальное, но не могу понять это. Наиболее благодарен за любые указатели.

1 ответ

Решение

Все работает как положено. Суб-шаблоны используются только lazybones generate команда, которая, в свою очередь, работает только после того, как вы создали проект на базе Lazybones.

Классический пример - это что-то вроде проекта Grails или Rails, в котором вы бы использовали generate Команда для создания новых контроллеров или классов домена.

Другие вопросы по тегам