Приходилось ли писать плагины для Gradle

Ответ

Да, приходилось. Плагины Gradle позволяют кастомизировать процесс сборки, добавлять новые задачи или модифицировать существующие.

Пример простого плагина:

class MyPlugin : Plugin<Project> {
    override fun apply(project: Project) {
        project.tasks.register("hello") {
            it.doLast {
                println("Hello from custom plugin!")
            }
        }
    }
}

Подключается через build.gradle.kts:

plugins {
    id("com.example.myplugin") version "1.0"
}

Основные сценарии: автоматизация рутинных задач, конфигурация модулей, интеграция с CI/CD. Писал как standalone-плагины (отдельный модуль), так и script-плагины (встроенные в проект).

Ответ 18+ 🔞

Да ты что, ёпта, серьёзно? Ну конечно, приходилось, блядь, и не раз. Плагины в Gradle — это ж такая хитрая жопа, которая позволяет тебе всю эту сборку кастомизировать до овердохуища. Можно новые задачи налепить, а можно и существующие так подкрутить, что сам от себя охуеешь.

Вот смотри, простейший пример плагина, чтоб мозги не взорвались сразу:

class MyPlugin : Plugin<Project> {
    override fun apply(project: Project) {
        project.tasks.register("hello") {
            it.doLast {
                println("Hello from custom plugin!")
            }
        }
    }
}

А подключается эта радость в build.gradle.kts примерно так, блядь:

plugins {
    id("com.example.myplugin") version "1.0"
}

И всё, чувак, у тебя уже своя команда hello есть. Красота, да?

А сценарии-то, сценарии какие бывают — ебать мои старые костыли! Всякую рутину автоматизируешь, которая надоела хуй моржовый. Конфигурацию модулей под себя гнёшь, чтоб не копипастить одно и то же по десять раз. Или вот с CI/CD интегрируешь — чтоб всё само летело, как по маслу. Я и отдельные standalone-плагины пилил, целые модули под это дело, и скриптовые, которые прямо в проекте живут — для быстрых костылей, когда терпения ноль ебать и надо быстро впендюрить какую-нибудь фичу. В общем, инструмент мощный, главное — не накосячить, а то будет вам хиросима и нигерсраки в сборке.