Artigo 1: Criar um Plugin Gradle do A ao Z com o comando gradle init
Publié le 23 September 2025
Introdução
Iniciar um novo projeto de plugin Gradle pode parecer intimidante. Felizmente, o Gradle fornece um assistente interativo poderoso, a tarefa`init`, que gera uma estrutura de projeto completa, limpa e pronta para uso. Este guia mostrará como usar esta ferramenta para criar uma base de plugin saudável, explicará a estrutura e mostrará como executar as primeiras tarefas de build.
Etapa 1: Iniciar o assistente do projeto
O comando`gradle init`é o ponto de partida. Ele lança um assistente de linha de comando que faz uma série de perguntas para configurar o projeto.
Abra o seu terminal em uma pasta vazia e execute:
gradle init
O assistente o guiará. Aqui estão as escolhas a fazer para um plugin Gradle escrito em Kotlin:
-
Selecione o tipo de projeto a gerar:Escolha`Gradle plugin`.
-
Selecionar linguagem de implementação:Escolha`Kotlin`.
-
Selecione o DSL do script de compilação:Escolha`Kotlin`.
-
Nome do projeto:Insira um nome para o seu projeto (ex:`site-baker`).
-
ID do PluginDê um identificador único ao seu plugin (ex:`com.cheroliv.site-baker`).
-
Plugin class:Especifique o nome da classe da implementação (ex:`com.cheroliv.SiteBakerPlugin`)'.'
Uma vez concluído, o Gradle gera uma árvore de arquivos completa.
Passo 2: Compreender a estrutura gerada
O assistente cria uma estrutura de projeto multi-módulos, separando o projeto raiz do código-fonte do próprio plugin.
.
├── gradle/
│ └── wrapper/
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── plugin/
│ ├── build.gradle.kts
│ └── src/
│ ├── main/
│ │ └── kotlin/
│ │ └── com/cheroliv/SiteBakerPlugin.kt
│ ├── test/
│ │ └── kotlin/
│ │ └── com/cheroliv/SiteBakerPluginTest.kt
│ └── functionalTest/
│ └── kotlin/
│ └── com/cheroliv/SiteBakerPluginFunctionalTest.kt
└── settings.gradle.kts
Arquivos e pastas chave
-
settings.gradle.kts`Este ficheiro na raiz define os módulos incluídos na compilação. Aqui, ele inclui o subprojeto`plugin.
[source,kotlin] (No text provided to translate, so output is empty.) rootProject.name = "site-baker include("plugin") ----