summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Dold <florian@dold.me>2024-04-09 14:40:27 +0200
committerFlorian Dold <florian@dold.me>2024-04-09 14:40:27 +0200
commitdffd079e51ef6104b6611b4aaa0f4efb04f1ccab (patch)
treec3484a3250231bd5b369a68453bf90e11ef1afa5
parenta8463142f1b376a9695e23b91b08ca3894510640 (diff)
downloadwallet-core-dffd079e51ef6104b6611b4aaa0f4efb04f1ccab.tar.gz
wallet-core-dffd079e51ef6104b6611b4aaa0f4efb04f1ccab.tar.bz2
wallet-core-dffd079e51ef6104b6611b4aaa0f4efb04f1ccab.zip
contrib: automate bumping Debian package version
-rwxr-xr-xcontrib/bump-taler-version.mjs53
1 files changed, 50 insertions, 3 deletions
diff --git a/contrib/bump-taler-version.mjs b/contrib/bump-taler-version.mjs
index f0ea82978..2f21ba097 100755
--- a/contrib/bump-taler-version.mjs
+++ b/contrib/bump-taler-version.mjs
@@ -6,6 +6,7 @@
// - x.y.z
// - x.y.z-dev.n
+import * as child_process from "child_process";
import * as fs from "fs";
let requestedVersion = process.argv[2];
@@ -44,7 +45,15 @@ if (!verMatched) {
}
}
-let packages = ["taler-util", "taler-wallet-core", "taler-harness", "taler-wallet-cli", "web-util", "taler-wallet-webextension", "taler-wallet-embedded"];
+let packages = [
+ "taler-util",
+ "taler-wallet-core",
+ "taler-harness",
+ "taler-wallet-cli",
+ "web-util",
+ "taler-wallet-webextension",
+ "taler-wallet-embedded",
+];
for (const pkg of packages) {
const p = `packages/${pkg}/package.json`;
@@ -56,9 +65,8 @@ for (const pkg of packages) {
}
}
-
{
- const p = "packages/taler-wallet-webextension/manifest-common.json"
+ const p = "packages/taler-wallet-webextension/manifest-common.json";
const data = JSON.parse(fs.readFileSync(p));
console.log("manifest version", data.version);
console.log("manifest version_name", data.version_name);
@@ -78,3 +86,42 @@ for (const pkg of packages) {
fs.writeFileSync(p, JSON.stringify(data, undefined, 2) + "\n");
}
}
+
+let debs = ["taler-wallet-cli", "taler-harness"];
+
+for (const deb of debs) {
+ const p = `packages/${deb}/debian/changelog`;
+ const data = fs.readFileSync(p, {
+ encoding: "utf-8",
+ });
+ const lines = data.split("\n");
+ for (const line of lines) {
+ const s = line.trim();
+ if (s == "") {
+ continue;
+ }
+ const re = /\((.*)\)/;
+ const m = s.match(re);
+ const version = m[1];
+ let pfx = "";
+ if (version != requestedVersion) {
+ pfx = "[!] ";
+ if (!dry) {
+ const dateStr = child_process.execSync("date -R", {
+ encoding: "utf-8",
+ });
+ const entryLines = [
+ `${deb} (${requestedVersion}) unstable; urgency=low`,
+ "",
+ ` * Release ${requestedVersion}`,
+ "",
+ ` -- Florian Dold <dold@taler.net> ${dateStr}`,
+ ``,
+ ];
+ fs.writeFileSync(p, `${entryLines.join("\n")}${data}`);
+ }
+ }
+ console.log(`${pfx}${p} is ${version}`);
+ break;
+ }
+}