2020-11-19 23:23:38 +00:00
|
|
|
const replace = require("replace-in-file");
|
|
|
|
const childProcess = require("child_process");
|
2023-01-19 04:33:58 +00:00
|
|
|
const fs = require('fs');
|
2020-11-19 23:23:38 +00:00
|
|
|
|
2023-01-19 04:33:58 +00:00
|
|
|
let version_number = process.env.npm_package_version;
|
|
|
|
let version_channel = process.env.CFG_RELEASE_CHANNEL || "nightly";
|
|
|
|
let build_date = new Date().toISOString();
|
2020-11-19 23:23:38 +00:00
|
|
|
|
|
|
|
let commitHash = "unknown";
|
|
|
|
|
|
|
|
try {
|
|
|
|
commitHash = childProcess.execSync("git rev-parse HEAD").toString().trim();
|
|
|
|
} catch {
|
|
|
|
console.log("Couldn't fetch latest git commit...");
|
|
|
|
}
|
|
|
|
|
2023-01-19 04:33:58 +00:00
|
|
|
let version_name =
|
2020-11-19 23:23:38 +00:00
|
|
|
version_channel === "nightly"
|
|
|
|
? `nightly ${build_date.substr(0, 10)}`
|
|
|
|
: process.env.npm_package_version;
|
|
|
|
|
2023-01-19 04:33:58 +00:00
|
|
|
if (process.env.ENABLE_VERSION_SEAL === "true") {
|
|
|
|
if (fs.existsSync("version_seal.json")) { //Using the version seal stored previously.
|
|
|
|
version_seal = JSON.parse(fs.readFileSync("version_seal.json"));
|
|
|
|
|
|
|
|
version_number = version_seal["version_number"];
|
|
|
|
version_name = version_seal["version_name"];
|
|
|
|
version_channel = version_seal["version_channel"];
|
|
|
|
build_date = version_seal["build_date"];
|
|
|
|
commitHash = version_seal["commitHash"];
|
|
|
|
} else {
|
|
|
|
version_seal = {
|
|
|
|
"version_number": version_number,
|
|
|
|
"version_name": version_name,
|
|
|
|
"version_channel": version_channel,
|
|
|
|
"build_date": build_date,
|
|
|
|
"commitHash": commitHash
|
|
|
|
}
|
|
|
|
|
|
|
|
fs.writeFileSync("version_seal.json", JSON.stringify(version_seal));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-11-19 23:23:38 +00:00
|
|
|
const options = {
|
|
|
|
files: "./pkg/**",
|
|
|
|
from: [
|
|
|
|
/%VERSION_NUMBER%/g,
|
|
|
|
/%VERSION_NAME%/g,
|
|
|
|
/%VERSION_CHANNEL%/g,
|
|
|
|
/%BUILD_DATE%/g,
|
|
|
|
/%COMMIT_HASH%/g,
|
|
|
|
],
|
|
|
|
to: [version_number, version_name, version_channel, build_date, commitHash],
|
|
|
|
};
|
|
|
|
|
|
|
|
replace.sync(options);
|