Customizar Template de aplicação Java

Nesta seção, você encontra exemplo de como customizar um Template e Plugin .

Você pode personalizar seus Templates por meio do Jinja, que é uma engine para criação de Templates dinâmicos. Para mais informações, acesse a documentação oficial do Jinja.

*Exemplo de customizar um Template de Aplicação Java

Esse exemplo de personalização de Template, foi usado para a criação de uma aplicação Java.

Nesse Template há duas variáveis de input project_name e group_id. Você pode utilizá-las para personalizar o seu Template.

Com esse Template, é possível:

  • Criar automaticamente pastas e arquivos usando inputs;
  • Criar conteúdo condicional usando input;
  • Substituir informações em arquivos já criados;
  • Realizar ações antes e depois da aplicação do Template.

Confira os passos:

Requisitos

Passo 1. Criar um novo input chamado junit no arquivo template.yaml.

Esse input é usado para perguntar ao usuário se deseja usar o junit em seu projeto (é um lib para testes.).

Passo 2. Criar arquivo pom.xml padrão para gerenciar as dependências do projeto que será criado a partir do seu Template

Dentro desse arquivo, há duas substituições usando os delimitadores de substituição do Jinja:

  1. {{inputs.group_id}}
  2. {{inputs.project_name}}

Essas substituições são referentes aos inputs do Template. Nos lugares onde os inputs aparecem no arquivo pom.xml, eles serão substituídos pelo conteúdo que o usuário digitar ao criar sua aplicação.

Passo 3. Usar uma condição usando delimitadores {% if %} {% endif %} para armazenar uma condição

A condição é: caso a pessoa tenha selecionado que gostaria de usar o junit, ele irá adicionar o texto referente à sua dependência, caso contrário, não adicionará.

Acesse a documentação do Jinja para ver outros possíveis comandos e os delimitadores.

Passo 4. Criar duas pastas e um arquivo usando os delimitadores de substituição e os inputs do project_name e group_id

O conteúdo do arquivo também contém uma substituição, confira abaixo:

Passo 5. Criar um arquivo main.py que contém um código de exemplo

Você faz isso para realizar ações antes e depois da aplicação desse Template.

Um exemplo prático é a instalação de alguma dependência após a criação da aplicação. Confira abaixo o modelo da implementação:

O gif abaixo mostra o exemplo completo:

Passo 6.** Testar a sua personalização**

Crie um app por meio do comando abaixo:

stk create app <nome_da_aplicação> --template-path <path_template_local>