Files
esdp/deploy/set-artifact-name.js

56 lines
1.7 KiB
JavaScript

#!/usr/bin/env node
// Cross-platform script to set artifact naming based on version
const fs = require("fs");
const path = require("path");
const { spawn } = require("child_process");
// Read the package.json to get the version
const packageJsonPath = path.join(__dirname, "..", "package.json");
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf8"));
const version = packageJson.version;
console.log(`Current version: ${version}`);
// Determine the artifact suffix based on the version
let artifactSuffix = "";
if (version.includes("alpha")) {
artifactSuffix = `alpha-${version}-`;
console.log(`Detected alpha version, setting suffix to: ${artifactSuffix}`);
} else if (version.includes("beta")) {
artifactSuffix = `beta-${version}-`;
console.log(`Detected beta version, setting suffix to: ${artifactSuffix}`);
} else {
artifactSuffix = "";
console.log("Detected release version, no suffix will be added");
}
// Set the environment variable for the current process
process.env.ARTIFACT_SUFFIX = artifactSuffix;
console.log(`ARTIFACT_SUFFIX set to: '${artifactSuffix}'`);
// If arguments are passed, execute the remaining command with the environment variable set
if (process.argv.length > 2) {
const command = process.argv[2];
const args = process.argv.slice(3);
console.log(`Executing: ${command} ${args.join(" ")}`);
const child = spawn(command, args, {
stdio: "inherit",
env: { ...process.env, ARTIFACT_SUFFIX: artifactSuffix },
shell: true,
});
child.on("close", (code) => {
process.exit(code);
});
} else {
// Just setting the environment variable
console.log(
"Environment variable set. Use this script with additional arguments to run commands with the variable set.",
);
}