Как мне заставить 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
Команда для создания новых контроллеров или классов домена.