diff options
| author | Leitwolf | 2026-11-06 09:36:27 +0300 |
|---|---|---|
| committer | GitHub | 2026-11-06 09:36:27 +0300 |
| commit | 1b6cf830302ee32b74a4665ec526a8296bb2a25b (patch) | |
| tree | 15e2e6f015d4a3f889feec7ec72c171b5f76d317 | |
| parent | 3da7af66f343e532a9ea2aa7236152bf2225499b (diff) | |
| parent | a8d5c015e13bcee918b3140442d7da5e82a71380 (diff) | |
| download | tazel.net-1b6cf830302ee32b74a4665ec526a8296bb2a25b.tar.gz | |
Merge pull request #4 from Progmasoft/docs/gradle-plugin-repository
Show how a plugin build finds the Gradle plugin of Tazel 0.4.0.3
| -rw-r--r-- | content/en-US/docs/3.extending/1.plugins.md | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/content/en-US/docs/3.extending/1.plugins.md b/content/en-US/docs/3.extending/1.plugins.md index 1592632..cadc750 100644 --- a/content/en-US/docs/3.extending/1.plugins.md +++ b/content/en-US/docs/3.extending/1.plugins.md @@ -50,14 +50,36 @@ command fails with `resolved plugins were not declared by the script`. ## Building a plugin -A plugin is built with Gradle and the Gradle plugin `com.progmasoft.tazel.plugin`, whose version is the version of Tazel -the plugin is built for: +A plugin is built with Gradle 9 and the Gradle plugin `com.progmasoft.tazel.plugin`, whose version is the version of +Tazel the plugin is built for. Progmasoft publishes the Gradle plugin at `https://maven.progmasoft.com/tazel`, beside +the API, so the settings of the build name that repository for plugins. The repository is exclusive for the groups +`com.progmasoft.tazel` and `com.progmasoft.tazel.*`: Gradle looks them up there and nowhere else, and looks up every +other plugin, such as Kotlin's, in the Gradle Plugin Portal: + +```kotlin +// settings.gradle.kts of the plugin +pluginManagement { + repositories { + exclusiveContent { + forRepository { maven("https://maven.progmasoft.com/tazel") } + filter { includeGroupByRegex("com\\.progmasoft\\.tazel(\\..*)?") } + } + gradlePluginPortal() + } +} + +rootProject.name = "cmake-plugin" +``` ```kotlin // build.gradle.kts of the plugin plugins { kotlin("jvm") version "2.4.0" - id("com.progmasoft.tazel.plugin") version "0.4.0" + id("com.progmasoft.tazel.plugin") version "0.4.0.3" +} + +repositories { + mavenCentral() } version = "0.1.0" @@ -83,7 +105,7 @@ dependencies { The Gradle plugin -- adds the repository of the API, `https://maven.progmasoft.com/tazel`, for the group `com.progmasoft.tazel` only; +- adds the repository of the API, `https://maven.progmasoft.com/tazel`, for the group `com.progmasoft.tazel` only; Kotlin and anything else come from the repositories of the build, here Maven Central; - makes `tazelApi()` mean `compileOnly` and `testImplementation` of `com.progmasoft.tazel:tazel-api` in its own version. The API is not bundled: Tazel provides it, and the Kotlin standard library, when it loads the plugin; - writes the descriptor and the service entry below from `tazelPlugin { }` into the JAR. The version of the plugin is |