parent
34c9499657
commit
29ad9b35fd
@ -10,7 +10,6 @@ export const updateFilesIssue = transformFiles.updateFilesIssue;
|
||||
export const updateFilesRandomPatches = transformFiles.updateFilesRandomPatches;
|
||||
export const updateFilesServer = transformFiles.updateFilesServer;
|
||||
export const updateFilesMainMenu = transformFiles.updateFilesMainMenu;
|
||||
export const updateFilesBuild = transformFiles.updateFilesBuild;
|
||||
export const updateFilesAll = transformFiles.updateAll;
|
||||
|
||||
import * as changelog from "./tasks/changelog/createChangelog";
|
||||
|
@ -1,6 +1,13 @@
|
||||
import fs from "fs";
|
||||
import upath from "upath";
|
||||
import { configFolder, configOverridesFolder, rootDirectory, templatesFolder } from "../../globals";
|
||||
import {
|
||||
configFolder,
|
||||
configOverridesFolder,
|
||||
rootDirectory,
|
||||
serverDestDirectory,
|
||||
sharedDestDirectory,
|
||||
templatesFolder,
|
||||
} from "../../globals";
|
||||
import mustache from "mustache";
|
||||
import gulp from "gulp";
|
||||
import dedent from "dedent-js";
|
||||
@ -76,22 +83,93 @@ async function updateFilesSetup(): Promise<void> {
|
||||
}
|
||||
}
|
||||
|
||||
async function updateFilesBuildSetup(): Promise<void> {
|
||||
async function updateFilesBuildSetup() {
|
||||
updateFiles = true;
|
||||
buildData = new BuildData();
|
||||
updateFileVersion = buildData.rawVersion;
|
||||
updateFileTransformedVersion = buildData.transformedVersion;
|
||||
}
|
||||
|
||||
export async function updateBuildServerProperties(): Promise<void> {
|
||||
await updateFilesBuildSetup();
|
||||
|
||||
// Note we can't use the `configOverridesFolder` variable as that includes `overrides/`
|
||||
|
||||
// File name of the output files
|
||||
const fileName = "server.properties";
|
||||
|
||||
// File name of the Normal Template File
|
||||
const fileNameNormal = "server_normal.properties";
|
||||
|
||||
// File name of the Expert Template File
|
||||
const fileNameExpert = "server_expert.properties";
|
||||
|
||||
// Replacement Object
|
||||
const replacementObject: Record<string, unknown> = {
|
||||
versionTitle: updateFiles ? updateFileTransformedVersion : buildData.transformedVersion,
|
||||
};
|
||||
|
||||
// Read and Write paths for normal
|
||||
const readPathNormal: string = upath.join(templatesFolder, fileNameNormal);
|
||||
const writePathsNormal: string[] = [
|
||||
upath.join(serverDestDirectory, fileName),
|
||||
upath.join(serverDestDirectory, "config-overrides", "normal", fileName),
|
||||
];
|
||||
|
||||
// Modify Normal File
|
||||
await modifyFile(readPathNormal, writePathsNormal, replacementObject, false);
|
||||
|
||||
// Read and Write paths for expert
|
||||
const readPathExpert: string = upath.join(templatesFolder, fileNameExpert);
|
||||
const writePathExpert: string = upath.join(serverDestDirectory, "config-overrides", "expert", fileName);
|
||||
|
||||
// Modify Expert File
|
||||
await modifyFile(readPathExpert, [writePathExpert], replacementObject, false);
|
||||
}
|
||||
|
||||
export async function updateBuildRandomPatches(): Promise<void> {
|
||||
await updateFilesBuildSetup();
|
||||
|
||||
// Filename & paths
|
||||
const fileName = "randompatches.cfg";
|
||||
const readPath: string = upath.join(templatesFolder, fileName);
|
||||
const writePathsNormal: string[] = [
|
||||
upath.join(sharedDestDirectory, configFolder, fileName),
|
||||
upath.join(sharedDestDirectory, configOverridesFolder, "normal", fileName),
|
||||
];
|
||||
|
||||
// Replacement object
|
||||
const replacementObject: Record<string, unknown> = {
|
||||
versionTitle: updateFiles ? updateFileTransformedVersion : buildData.transformedVersion,
|
||||
mode: "Normal",
|
||||
};
|
||||
|
||||
// Modify Normal File
|
||||
await modifyFile(readPath, writePathsNormal, replacementObject, false);
|
||||
|
||||
// Change values for Expert Config
|
||||
replacementObject["mode"] = "Expert";
|
||||
const writePathExpert = upath.join(sharedDestDirectory, configOverridesFolder, "expert", fileName);
|
||||
|
||||
// Modify Expert File
|
||||
await modifyFile(readPath, [writePathExpert], replacementObject, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param readPath The filepath to read from. (Template)
|
||||
* @param writePaths The filepaths to write to.
|
||||
* @param replacementObject A record, of type string to type unknown, containing the keys, and replacement for those keys
|
||||
* @param addWarning whether to add warning not to edit file
|
||||
* <p>
|
||||
* <p>
|
||||
* A warning not to edit the file will also be added to the start of the file.
|
||||
*/
|
||||
async function modifyFile(readPath: string, writePaths: string[], replacementObject: Record<string, unknown>) {
|
||||
async function modifyFile(
|
||||
readPath: string,
|
||||
writePaths: string[],
|
||||
replacementObject: Record<string, unknown>,
|
||||
addWarning = true,
|
||||
) {
|
||||
// Read the file content
|
||||
const data: string = await fs.promises.readFile(readPath, "utf8");
|
||||
|
||||
@ -99,6 +177,7 @@ async function modifyFile(readPath: string, writePaths: string[], replacementObj
|
||||
let modifiedData: string = mustache.render(data, replacementObject);
|
||||
|
||||
// Add warning to not edit file
|
||||
if (addWarning)
|
||||
modifiedData = dedent`# DO NOT EDIT THIS FILE! EDIT THE TEMPlATES INSTEAD!
|
||||
# See https://github.com/Nomi-CEu/Nomi-CEu/wiki/Part-1:-Contributing-Information#section-5-template-information!
|
||||
${modifiedData}`;
|
||||
@ -237,7 +316,6 @@ export const updateFilesIssue = gulp.series(updateFilesSetup, updateIssueTemplat
|
||||
export const updateFilesRandomPatches = gulp.series(updateFilesSetup, updateRandomPatchesConfig);
|
||||
export const updateFilesServer = gulp.series(updateFilesSetup, updateServerProperties);
|
||||
export const updateFilesMainMenu = gulp.series(updateFilesSetup, updateMainMenuConfig);
|
||||
export const updateFilesBuild = gulp.series(updateFilesBuildSetup, updateRandomPatchesConfig, updateServerProperties);
|
||||
|
||||
export const updateAll = gulp.series(
|
||||
updateFilesSetup,
|
||||
|
@ -10,16 +10,10 @@ import Bluebird from "bluebird";
|
||||
import { ForgeProfile } from "../../types/forgeProfile";
|
||||
import { FileDef } from "../../types/fileDef";
|
||||
import { downloadOrRetrieveFileDef, getVersionManifest, libraryToPath, relative } from "../../util/util";
|
||||
import {
|
||||
mmcDestDirectory,
|
||||
modDestDirectory,
|
||||
modpackManifest,
|
||||
serverDestDirectory,
|
||||
sharedDestDirectory
|
||||
} from "../../globals";
|
||||
import { modDestDirectory, modpackManifest, serverDestDirectory, sharedDestDirectory } from "../../globals";
|
||||
import del from "del";
|
||||
import { VersionManifest } from "../../types/versionManifest";
|
||||
import { fetchMods } from "../../util/curseForgeAPI";
|
||||
import { updateBuildServerProperties } from "../misc/transformFiles";
|
||||
|
||||
const FORGE_VERSION_REG = /forge-(.+)/;
|
||||
const FORGE_MAVEN = "https://files.minecraftforge.net/maven/";
|
||||
@ -202,7 +196,7 @@ function copyServerOverrides() {
|
||||
/**
|
||||
* Copies files from ./serverfiles into dest folder.
|
||||
*/
|
||||
function copyServerfiles() {
|
||||
function copyServerFiles() {
|
||||
return src(["../serverfiles/**"]).pipe(dest(serverDestDirectory));
|
||||
}
|
||||
|
||||
@ -267,9 +261,10 @@ export default gulp.series([
|
||||
downloadMinecraftServer,
|
||||
copyServerMods,
|
||||
copyServerOverrides,
|
||||
copyServerfiles,
|
||||
copyServerFiles,
|
||||
copyServerLicense,
|
||||
copyServerChangelog,
|
||||
copyServerUpdateNotes,
|
||||
processLaunchscripts,
|
||||
updateBuildServerProperties,
|
||||
]);
|
||||
|
@ -2,7 +2,14 @@ import fs from "fs";
|
||||
import gulp from "gulp";
|
||||
import upath from "upath";
|
||||
import buildConfig from "../../buildConfig";
|
||||
import { modDestDirectory, modpackManifest, overridesFolder, sharedDestDirectory, tempDirectory } from "../../globals";
|
||||
import {
|
||||
modDestDirectory,
|
||||
modpackManifest,
|
||||
overridesFolder,
|
||||
rootDirectory,
|
||||
sharedDestDirectory,
|
||||
tempDirectory
|
||||
} from "../../globals";
|
||||
import del from "del";
|
||||
import { FileDef } from "../../types/fileDef";
|
||||
import Bluebird from "bluebird";
|
||||
@ -30,9 +37,10 @@ async function createSharedDirs() {
|
||||
* Copies modpack overrides.
|
||||
*/
|
||||
async function copyOverrides() {
|
||||
// Don't copy server.properties files in config-overrides, it is auto transformed into the server build folder
|
||||
return new Promise((resolve) => {
|
||||
gulp
|
||||
.src(upath.join(buildConfig.buildSourceDirectory, overridesFolder, "**/*"))
|
||||
.src(buildConfig.copyToSharedDirGlobs, { cwd: upath.join(buildConfig.buildSourceDirectory) })
|
||||
.pipe(gulp.dest(upath.join(sharedDestDirectory, overridesFolder)))
|
||||
.on("end", resolve);
|
||||
});
|
||||
@ -131,16 +139,16 @@ import transformVersion from "./transformVersion";
|
||||
import { createBuildChangelog } from "../changelog/createChangelog";
|
||||
import mustache from "mustache";
|
||||
import log from "fancy-log";
|
||||
import { updateFilesBuild } from "../misc/transformFiles";
|
||||
import { updateBuildRandomPatches } from "../misc/transformFiles";
|
||||
import { transformQuestBook } from "./quest";
|
||||
|
||||
export default gulp.series(
|
||||
sharedCleanUp,
|
||||
createSharedDirs,
|
||||
updateFilesBuild,
|
||||
copyOverrides,
|
||||
fetchOrMakeChangelog,
|
||||
fetchExternalDependencies,
|
||||
updateBuildRandomPatches,
|
||||
transformVersion,
|
||||
transformQuestBook,
|
||||
);
|
||||
|
@ -7,6 +7,10 @@
|
||||
"launchscriptsMinRAM": "2048M",
|
||||
"launchscriptsMaxRAM": "2048M",
|
||||
"launchscriptsJVMArgs": "",
|
||||
"copyToSharedDirGlobs": [
|
||||
"overrides/**/*",
|
||||
"!overrides/**/server.properties"
|
||||
],
|
||||
"copyFromSharedServerGlobs": [
|
||||
"overrides/**/*",
|
||||
"!overrides/resources/**/*"
|
||||
|
Loading…
x
Reference in New Issue
Block a user