From 76f12711f6e7b37a295857a16249d02a096fce38 Mon Sep 17 00:00:00 2001 From: Lutz Wrage Date: Wed, 2 Sep 2026 12:27:43 -0400 Subject: [PATCH] Set the language server to the release version 0.1.0 The language server was the only component still on a snapshot version, and release-server.yml refuses to publish one. Drop -SNAPSHOT so an ls-v0.1.0 tag can be cut alongside the extension and osate-cli, which are already at 0.1.0. Tycho keeps the Maven and OSGi versions in lockstep: validate-version wants .qualifier for a snapshot but exact equality for a release, so both manifests have to lose .qualifier in the same commit or the build fails at validate before compiling anything. The published bundle becomes org.osate.aadl.ls_0.1.0.jar. Move the repository-root aggregator too. Its version is reported as tooling.version in build-provenance.properties, which is attached to the ls-v* release, and a released 0.1.0 should not ship provenance claiming -SNAPSHOT. vscode-extension/pom.xml inherits from the aggregator, so its parent reference moves with it. Record both rules in RELEASING.md, along with the post-release return to a snapshot version, so the next person does not have to rediscover why eight lines move together. Co-Authored-By: Claude Opus 5 (1M context) --- RELEASING.md | 35 +++++++++++++++++++ .../org.osate.aadl.ls/META-INF/MANIFEST.MF | 2 +- .../org.osate.aadl.ls/pom.xml | 4 +-- .../META-INF/MANIFEST.MF | 2 +- .../plugins/org.osate.aadl.ls.tests/pom.xml | 4 +-- aadl-language-server/pom.xml | 2 +- .../org.osate.aadl.ls.repository/pom.xml | 2 +- pom.xml | 2 +- vscode-extension/pom.xml | 2 +- 9 files changed, 45 insertions(+), 10 deletions(-) diff --git a/RELEASING.md b/RELEASING.md index b5b62b2..29c5aa5 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -31,6 +31,41 @@ Watch it with `gh run watch`. Each workflow also accepts `workflow_dispatch`, which builds and packages everything but creates no release — use that to rehearse a release before tagging. +### Bumping the language server + +The language server is the one component whose version lives in more than one +file, because Tycho keeps the Maven and OSGi versions in lockstep. Its +`validate-version` check runs at `validate` with `strictVersions` on, and it +requires `.qualifier` for a `-SNAPSHOT` version but exact equality for a release +version. So `0.1.0` in the poms next to `0.1.0.qualifier` in a manifest fails the +build before it compiles anything. All eight lines move together: + +| File | What to change | +| --- | --- | +| `aadl-language-server/pom.xml` | the `aadl.ls.parent` version (not the `osate2.main-pom` parent, which follows the submodule pin) | +| `aadl-language-server/org.osate.aadl.ls/pom.xml` | `` and its own `` | +| `aadl-language-server/plugins/org.osate.aadl.ls.tests/pom.xml` | `` and its own `` | +| `aadl-language-server/releng/org.osate.aadl.ls.repository/pom.xml` | `` only; it has no `` | +| `org.osate.aadl.ls/META-INF/MANIFEST.MF` | `Bundle-Version` | +| `plugins/org.osate.aadl.ls.tests/META-INF/MANIFEST.MF` | `Bundle-Version` | + +The repository-root `pom.xml` version is reported as `tooling.version` in +`build-provenance.properties`, which is attached to the `ls-v*` release, so move it +with the server. `vscode-extension/pom.xml` inherits from it and must be updated in +the same commit or parent resolution breaks. + +### After tagging + +Return `main` to a development version: `-SNAPSHOT` in the poms and `.qualifier` in +the manifests, at the next version. Development builds then carry a build +timestamp (`org.osate.aadl.ls_0.2.0.v20260902-1320.jar`), which is what lets p2 and +Eclipse tell one local rebuild from the next. A plain release version left in the +tree makes every rebuild look identical to a p2 cache. + +`osate-cli` and the extension work differently on purpose: they keep a plain +release version in the tree — rpm forbids `-` in a version, and VS Code extension +versions must stay `major.minor.patch` — and move it only when they release. + ## What each release produces **`osate-cli-v*`** — [`release-osate-cli.yml`](.github/workflows/release-osate-cli.yml) diff --git a/aadl-language-server/org.osate.aadl.ls/META-INF/MANIFEST.MF b/aadl-language-server/org.osate.aadl.ls/META-INF/MANIFEST.MF index 6529f3d..243bc94 100644 --- a/aadl-language-server/org.osate.aadl.ls/META-INF/MANIFEST.MF +++ b/aadl-language-server/org.osate.aadl.ls/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: AADL Language Server Bundle-SymbolicName: org.osate.aadl.ls;singleton:=true -Bundle-Version: 0.1.0.qualifier +Bundle-Version: 0.1.0 Bundle-Vendor: CMU-SEI Automatic-Module-Name: org.osate.aadl.ls Bundle-RequiredExecutionEnvironment: JavaSE-21 diff --git a/aadl-language-server/org.osate.aadl.ls/pom.xml b/aadl-language-server/org.osate.aadl.ls/pom.xml index 11c8dff..1582261 100644 --- a/aadl-language-server/org.osate.aadl.ls/pom.xml +++ b/aadl-language-server/org.osate.aadl.ls/pom.xml @@ -31,13 +31,13 @@ org.osate aadl.ls.parent - 0.1.0-SNAPSHOT + 0.1.0 .. org.osate org.osate.aadl.ls - 0.1.0-SNAPSHOT + 0.1.0 eclipse-plugin diff --git a/aadl-language-server/plugins/org.osate.aadl.ls.tests/META-INF/MANIFEST.MF b/aadl-language-server/plugins/org.osate.aadl.ls.tests/META-INF/MANIFEST.MF index 0138f88..f6c9937 100644 --- a/aadl-language-server/plugins/org.osate.aadl.ls.tests/META-INF/MANIFEST.MF +++ b/aadl-language-server/plugins/org.osate.aadl.ls.tests/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: AADL Language Server Tests Bundle-SymbolicName: org.osate.aadl.ls.tests;singleton:=true -Bundle-Version: 0.1.0.qualifier +Bundle-Version: 0.1.0 Bundle-Vendor: CMU-SEI Fragment-Host: org.osate.aadl.ls Automatic-Module-Name: org.osate.aadl.ls.tests diff --git a/aadl-language-server/plugins/org.osate.aadl.ls.tests/pom.xml b/aadl-language-server/plugins/org.osate.aadl.ls.tests/pom.xml index 5c19fd1..0355540 100644 --- a/aadl-language-server/plugins/org.osate.aadl.ls.tests/pom.xml +++ b/aadl-language-server/plugins/org.osate.aadl.ls.tests/pom.xml @@ -31,13 +31,13 @@ org.osate aadl.ls.parent - 0.1.0-SNAPSHOT + 0.1.0 ../.. org.osate org.osate.aadl.ls.tests - 0.1.0-SNAPSHOT + 0.1.0 eclipse-test-plugin diff --git a/aadl-language-server/pom.xml b/aadl-language-server/pom.xml index e3c6f40..149a28d 100644 --- a/aadl-language-server/pom.xml +++ b/aadl-language-server/pom.xml @@ -37,7 +37,7 @@ aadl.ls.parent - 0.1.0-SNAPSHOT + 0.1.0 pom diff --git a/aadl-language-server/releng/org.osate.aadl.ls.repository/pom.xml b/aadl-language-server/releng/org.osate.aadl.ls.repository/pom.xml index 2637c12..48f3e26 100644 --- a/aadl-language-server/releng/org.osate.aadl.ls.repository/pom.xml +++ b/aadl-language-server/releng/org.osate.aadl.ls.repository/pom.xml @@ -31,7 +31,7 @@ org.osate aadl.ls.parent - 0.1.0-SNAPSHOT + 0.1.0 ../.. diff --git a/pom.xml b/pom.xml index 04ba777..e01628b 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ org.osate aadl-language-server-aggregator - 0.1.0-SNAPSHOT + 0.1.0 pom diff --git a/vscode-extension/pom.xml b/vscode-extension/pom.xml index e6914cd..94c2426 100644 --- a/vscode-extension/pom.xml +++ b/vscode-extension/pom.xml @@ -30,7 +30,7 @@ org.osate aadl-language-server-aggregator - 0.1.0-SNAPSHOT + 0.1.0 ../pom.xml