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

summaryrefslogtreecommitdiffhomepage
path: root/content
diff options
context:
space:
mode:
authorLeitwolf112026-11-06 08:23:12 +0300
committerLeitwolf112026-11-06 08:23:12 +0300
commitd17cee854076ddc3ea044e10be66b808af1f247c (patch)
tree49df0937a7005a8f2439c7c516b76df5c52c9492 /content
parent3da7af66f343e532a9ea2aa7236152bf2225499b (diff)
downloadtazel.net-d17cee854076ddc3ea044e10be66b808af1f247c.tar.gz
Show how a plugin build finds the Gradle plugin of Tazel 0.4.0.3
The Building a plugin section asked for com.progmasoft.tazel.plugin 0.4.0 from the Gradle Plugin Portal alone. The Portal does not serve it yet, and the released version is 0.4.0.3. The example now has the settings.gradle.kts that adds https://maven.progmasoft.com/tazel for the group com.progmasoft.tazel, uses version 0.4.0.3, and adds Maven Central, without which Kotlin's standard library does not resolve. The example was built as written: the Gradle plugin and tazel-api 0.4.0.3 resolve and gradlew jar writes the plugin JAR with its descriptor. Progmasoft/tazel carries the same change in Documents/PLUGINS.md for the next release, so the next sync keeps it.
Diffstat (limited to 'content')
-rw-r--r--content/en-US/docs/3.extending/1.plugins.md27
1 files changed, 23 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..5089adf 100644
--- a/content/en-US/docs/3.extending/1.plugins.md
+++ b/content/en-US/docs/3.extending/1.plugins.md
@@ -50,14 +50,33 @@ 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:
+
+```kotlin
+// settings.gradle.kts of the plugin
+pluginManagement {
+ repositories {
+ gradlePluginPortal()
+ maven("https://maven.progmasoft.com/tazel") {
+ content { includeGroupByRegex("com\\.progmasoft\\.tazel(\\..*)?") }
+ }
+ }
+}
+
+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 +102,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