summary refs log tree commit diff
path: root/scripts/build_new.js
diff options
context:
space:
mode:
authorTheArcaneBrony <myrainbowdash949@gmail.com>2022-09-17 13:17:12 +0200
committerTheArcaneBrony <myrainbowdash949@gmail.com>2022-09-17 13:17:12 +0200
commitb3a3ea2ff1a391872f10883dba27b828497cfd2e (patch)
treec8fdfa3f246c4660cb688baad4aa58879e46c3bd /scripts/build_new.js
parentMore patches (diff)
downloadserver-b3a3ea2ff1a391872f10883dba27b828497cfd2e.tar.xz
Better patch system dev/rory/client_patching
Diffstat (limited to 'scripts/build_new.js')
-rw-r--r--scripts/build_new.js16
1 files changed, 14 insertions, 2 deletions
diff --git a/scripts/build_new.js b/scripts/build_new.js

index 6a56e7f7..70c43e5b 100644 --- a/scripts/build_new.js +++ b/scripts/build_new.js
@@ -3,6 +3,7 @@ const path = require("path"); const fs = require("fs"); const { argv, stdout, exit } = require("process"); const { execIn, parts, getDirs, walk, sanitizeVarName } = require("./utils"); +const os = require('os'); //file paths const rootDir = path.join(__dirname, ".."); @@ -17,14 +18,25 @@ const pluginDir = path.join(srcDir, "plugins"); //more, dont export const buildStepDir = path.join(scriptsDir, "build"); -if (!fs.existsSync(configPath)) { +let config; +if (fs.existsSync(path.join(rootDir, `build.${os.hostname()}.json`))) { + console.log(`Using build.${os.hostname()}.json`); + config = { rootDir, srcDir, distDir, configPath, buildLog, buildLogAnsi, pluginDir, ...require(path.join(rootDir, `build.${os.hostname()}.json`)) }; +} +else if (fs.existsSync(configPath)) { + console.log(`Using build.json`); + config = { rootDir, srcDir, distDir, configPath, buildLog, buildLogAnsi, pluginDir, ...require(configPath) }; +} +else if (!fs.existsSync(configPath)) { + console.log(`Using default config`); if (!fs.existsSync(path.join(configPath + ".default"))) { console.log("build.json.default not found! Exiting!"); exit(1); } fs.copyFileSync(configPath + ".default", configPath); + config = { rootDir, srcDir, distDir, configPath, buildLog, buildLogAnsi, pluginDir, ...require(configPath) }; } -let config = { rootDir, srcDir, distDir, configPath, buildLog, buildLogAnsi, pluginDir, ...require(configPath) }; + config.steps.pre.forEach((step) => require(path.join(buildStepDir, step))(config)); require(path.join(buildStepDir, "compile_" + config.compiler))(config);