Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorLeitwolf2026-11-06 09:36:27 +0300
committerGitHub2026-11-06 09:36:27 +0300
commit1b6cf830302ee32b74a4665ec526a8296bb2a25b (patch)
tree15e2e6f015d4a3f889feec7ec72c171b5f76d317
parent3da7af66f343e532a9ea2aa7236152bf2225499b (diff)
parenta8d5c015e13bcee918b3140442d7da5e82a71380 (diff)
downloadtazel.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.md30
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