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

summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorLeitwolf112026-11-06 09:29:34 +0300
committerLeitwolf112026-11-06 09:29:34 +0300
commit2056e5d752e26ebce5d32f8531133fe5e6c6d285 (patch)
treea0ce003ebbc89d590eab8fe732a6a18a2115a8ba
parent35e09214817585007308bdbc26d877791843ab29 (diff)
downloadprogmaweb-docs/maven-gradle-plugin.tar.gz
List the Gradle plugin in the Maven repository runbookdocs/maven-gradle-plugin
maven.progmasoft.com/tazel serves the Gradle plugin of Tazel and its plugin marker beside tazel-api, versions 0.2.0 through 0.4.0.3, but the runbook named only the API. It now lists all three and shows how a release stages the Gradle plugin: its build has no staging repository, so an init script adds the same one the API uses.
-rw-r--r--ops/README.md30
1 files changed, 26 insertions, 4 deletions
diff --git a/ops/README.md b/ops/README.md
index 6b8ad50..a0145fc 100644
--- a/ops/README.md
+++ b/ops/README.md
@@ -214,8 +214,10 @@ The command checks the descriptor of the JAR, the publisher, its account and the
## Maven repository
-`maven.progmasoft.com/tazel` is a static Maven repository: it holds `com.progmasoft.tazel:tazel-api`, which plugins of
-Tazel compile against. It lives in `/srv/maven/tazel`, labelled like the files of ViGet:
+`maven.progmasoft.com/tazel` is a static Maven repository. It holds `com.progmasoft.tazel:tazel-api`, which plugins of
+Tazel compile against, and the Gradle plugin that builds them: `com.progmasoft.tazel:tazel-gradle-plugin` with its
+marker `com.progmasoft.tazel.plugin:com.progmasoft.tazel.plugin.gradle.plugin`. It lives in `/srv/maven/tazel`,
+labelled like the files of ViGet:
```sh
install -d -m 0755 /srv/maven /srv/maven/tazel
@@ -223,12 +225,32 @@ semanage fcontext -a -t httpd_sys_content_t '/srv/maven(/.*)?'
restorecon -R /srv/maven
```
-A release of Tazel publishes the API into a local copy of the repository and copies it back, so that
-`maven-metadata.xml` keeps the versions published before:
+A release of Tazel publishes the API and the Gradle plugin into a local copy of the repository and copies it back, so
+that `maven-metadata.xml` keeps the versions published before. The build of the API has a `staging` repository; the
+build of the Gradle plugin has none, and an init script outside the checkout adds the same one:
+
+```kotlin
+// staging-plugin.init.gradle.kts
+allprojects {
+ if (name == "tazel-gradle-plugin") {
+ pluginManager.withPlugin("maven-publish") {
+ extensions.configure<PublishingExtension> {
+ repositories {
+ maven {
+ name = "staging"
+ url = uri(rootProject.layout.buildDirectory.dir("maven"))
+ }
+ }
+ }
+ }
+ }
+}
+```
```sh
scp -r root@91.151.88.130:/srv/maven/tazel/. build/maven/ # in the Tazel checkout
./gradlew :tazel-api:publishAllPublicationsToStagingRepository
+./gradlew --init-script staging-plugin.init.gradle.kts :tazel-gradle-plugin:publishAllPublicationsToStagingRepository
scp -r build/maven/. root@91.151.88.130:/srv/maven/tazel/
ssh root@91.151.88.130 'chown -R root:root /srv/maven && restorecon -R /srv/maven'
```