Введение

Целевая аудитория : Разработчики, желающие приступить к созданию плагинов Gradle.

Для эффективной разработки плагинов Gradle необходимо правильно настроенное окружение разработки. Хорошая настройка сэкономит ваше время, уменьшит раздражение и обеспечит согласованность ваших сборок.

Это руководство сосредоточено на четырёх основных столпах:

  1. Le JDK(Java Development Kit), так как Gradle и JBake работают на JVM.

  2. Un IDEсовременный (IntelliJ IDEA) с хорошей поддержкой Kotlin и Gradle.

  3. Gradleсам, для инициализации проектов.

  4. JBake, движок нашего статического сайта.

Компоненты среды разработки
@startuml
!theme plain
node "Машина разработчика" {
  component "JDK (JVM)" as JDK
  component "IntelliJ IDEA" as IDE
  component "Gradle (глобальный)" as Gradle
  component "JBake (глобальный)" as JBake

  IDE --> JDK : utilise
  Gradle --> JDK : utilise
  JBake --> JDK : utilise
}
@enduml

1. JDK: движок Gradle

Gradle — это приложение, которое выполняется на Java Virtual Machine (JVM). Следовательно, установка JDK является обязательным условием.

Какую версию выбрать?

Рекомендуется использовать версию Java LTS (Long-Term Support). На данный момент,JDK 17 ou JDK 21они являются отличным выбором

Установка через SDKMAN! (рекомендуется)

SDKMAN! — отличный инструмент для управления версиями множества SDK, включая Java и Gradle.

Установить SDKMAN!

curl -s "https://get.sdkman.io" | bash source "$HOME/.sdkman/bin/sdkman-init.sh"

Установить версию JDK

# Pour lister les versions de Java disponibles sdk list java

# Pour installer Java 17 (par exemple, la distribution Temurin)
sdk install java 17.0.8-tem

Проверить установку

java -version

Вы должны увидеть версию, которую только что установили, отображающуюся.

2. IDE: IntelliJ IDEA

Для разработки плагинов Gradle с использованием DSL Kotlin,IntelliJ IDEAявляется инструментом выбора. Его интеграция с Gradle и Kotlin непревзойденна.

  • Community Edition :Бесплатна и более чем достаточно для начала.

  • Издание Ultimate :Платная, она предлагает расширенные функции для веб-разработки и баз данных.

Скачайте версию, которая вам подходит, с сайта JetBrains: https://www.jetbrains.com/idea/download/

IDE автоматически обнаружит ваши файлы`build.gradle.kts` et settings.gradle.kts, предлагая мощное автодополнение, навигацию по коду и встроенные инструменты отладки.

3. Gradle: Инструмент сборки

Хотя каждый проект будет использовать свою версию Gradle через Gradle Wrapper, полезно иметь глобальную установку Gradle для задач, таких как инициализация новых проектов (gradle init).

Установка через SDKMAN!

Как и для JDK, SDKMAN! упрощает установку Gradle.

Установить Gradle

sdk install gradle

Проверить установку

gradle -v

Эта команда отобразит версии Gradle, Kotlin, Groovy и JDK, которые используются.

4. JBake : Генератор статических сайтов

JBake — это инструмент, который мы будем использовать для преобразования наших исходных файлов (таких как этот) в статический веб-сайт. Наличие локальной установки удобно для предварительного просмотра изменений.

Установка через SDKMAN!

Как и для других инструментов, SDKMAN! — самый простой способ.

Установить JBake

sdk install jbake

Проверить установку

jbake -v

Эта команда отобразит версию JBake и информацию о среде Java, которую он использует.

5. Обёртка Gradle: абсолютная лучшая практика

После того как ваш проект создан (что мы увидим в следующей статье), вы больше не должны использовать глобальную команду`gradle`. Вместо этого вы будете использоватьGradle Wrapper(./gradlew), скрипт, включенный в ваш проект.

Почему?

  • Воспроизводимость :Оболочка гарантирует, что каждый человек, работающий над проектом (включая ваш CI/CD сервер), использует точно еётой же версии Gradle, устраняя таким образом ошибки сборки, вызванные различными средами.

  • Простота :Не нужно устанавливать Gradle вручную, чтобы вносить вклад в проект.

Достаточно клонировать репозиторий и запустить`./gradlew`.

Типичная команда будет выглядеть так:

# Ne pas faire : gradle build
# À faire :
./gradlew build

6. Docker и Portainer: для воспроизводимых сборок (опционально)

Хотя они и не являются строго необходимыми для написания плагина, Docker и Portainer — это современные DevOps‑инструменты, которые значительно упрощают создание воспроизводимых сборок и управление вашей средой.

Установка Docker Engine

Docker позволяет упаковать ваше приложение и его зависимости в контейнер.

Установить Docker через официальный скрипт :

curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh

Управлять Docker без sudo (рекомендовано):

Добавьте вашего пользователя в группу`docker`.

sudo usod -aG docker $USER
docker run hello-world

Управление Docker с Portainer (GUI)

Portainer — это легкий веб‑интерфейс для управления вашими контейнерами Docker.

Создать том для данных Portainer:

docker volume create portainer_data

Запустить контейнер Portainer:

docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

Вы теперь можете получить доступ к интерфейсу Portainer на`https://localhost:9443`.

Вывод

Ваша среда теперь готова! У вас есть JDK, наиболее подходящая IDE, Gradle и JBake. С добавлением Docker вы также готовы создавать контейнеризованные и воспроизводимые сборки. Эта прочная база позволит вам сосредоточиться на главном: разработке мощных и полезных плагинов.

В следующей статье мы будем использовать команду`gradle init`для генерации структуры нашего первого проекта плагина.

Похожие статьи