parent
34c9499657
commit
29ad9b35fd
@ -10,7 +10,6 @@ export const updateFilesIssue = transformFiles.updateFilesIssue;
|
|||||||
export const updateFilesRandomPatches = transformFiles.updateFilesRandomPatches;
|
export const updateFilesRandomPatches = transformFiles.updateFilesRandomPatches;
|
||||||
export const updateFilesServer = transformFiles.updateFilesServer;
|
export const updateFilesServer = transformFiles.updateFilesServer;
|
||||||
export const updateFilesMainMenu = transformFiles.updateFilesMainMenu;
|
export const updateFilesMainMenu = transformFiles.updateFilesMainMenu;
|
||||||
export const updateFilesBuild = transformFiles.updateFilesBuild;
|
|
||||||
export const updateFilesAll = transformFiles.updateAll;
|
export const updateFilesAll = transformFiles.updateAll;
|
||||||
|
|
||||||
import * as changelog from "./tasks/changelog/createChangelog";
|
import * as changelog from "./tasks/changelog/createChangelog";
|
||||||
|
@ -1,6 +1,13 @@
|
|||||||
import fs from "fs";
|
import fs from "fs";
|
||||||
import upath from "upath";
|
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 mustache from "mustache";
|
||||||
import gulp from "gulp";
|
import gulp from "gulp";
|
||||||
import dedent from "dedent-js";
|
import dedent from "dedent-js";
|
||||||
@ -76,22 +83,93 @@ async function updateFilesSetup(): Promise<void> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function updateFilesBuildSetup(): Promise<void> {
|
async function updateFilesBuildSetup() {
|
||||||
updateFiles = true;
|
updateFiles = true;
|
||||||
buildData = new BuildData();
|
buildData = new BuildData();
|
||||||
updateFileVersion = buildData.rawVersion;
|
updateFileVersion = buildData.rawVersion;
|
||||||
updateFileTransformedVersion = buildData.transformedVersion;
|
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 readPath The filepath to read from. (Template)
|
||||||
* @param writePaths The filepaths to write to.
|
* @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 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>
|
||||||
* <p>
|
* <p>
|
||||||
* A warning not to edit the file will also be added to the start of the file.
|
* 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
|
// Read the file content
|
||||||
const data: string = await fs.promises.readFile(readPath, "utf8");
|
const data: string = await fs.promises.readFile(readPath, "utf8");
|
||||||
|
|
||||||
@ -99,9 +177,10 @@ async function modifyFile(readPath: string, writePaths: string[], replacementObj
|
|||||||
let modifiedData: string = mustache.render(data, replacementObject);
|
let modifiedData: string = mustache.render(data, replacementObject);
|
||||||
|
|
||||||
// Add warning to not edit file
|
// Add warning to not edit file
|
||||||
modifiedData = dedent`# DO NOT EDIT THIS FILE! EDIT THE TEMPlATES INSTEAD!
|
if (addWarning)
|
||||||
# See https://github.com/Nomi-CEu/Nomi-CEu/wiki/Part-1:-Contributing-Information#section-5-template-information!
|
modifiedData = dedent`# DO NOT EDIT THIS FILE! EDIT THE TEMPlATES INSTEAD!
|
||||||
${modifiedData}`;
|
# See https://github.com/Nomi-CEu/Nomi-CEu/wiki/Part-1:-Contributing-Information#section-5-template-information!
|
||||||
|
${modifiedData}`;
|
||||||
|
|
||||||
// Write the modified content back to the file
|
// Write the modified content back to the file
|
||||||
for (const filename of writePaths) {
|
for (const filename of writePaths) {
|
||||||
@ -237,7 +316,6 @@ export const updateFilesIssue = gulp.series(updateFilesSetup, updateIssueTemplat
|
|||||||
export const updateFilesRandomPatches = gulp.series(updateFilesSetup, updateRandomPatchesConfig);
|
export const updateFilesRandomPatches = gulp.series(updateFilesSetup, updateRandomPatchesConfig);
|
||||||
export const updateFilesServer = gulp.series(updateFilesSetup, updateServerProperties);
|
export const updateFilesServer = gulp.series(updateFilesSetup, updateServerProperties);
|
||||||
export const updateFilesMainMenu = gulp.series(updateFilesSetup, updateMainMenuConfig);
|
export const updateFilesMainMenu = gulp.series(updateFilesSetup, updateMainMenuConfig);
|
||||||
export const updateFilesBuild = gulp.series(updateFilesBuildSetup, updateRandomPatchesConfig, updateServerProperties);
|
|
||||||
|
|
||||||
export const updateAll = gulp.series(
|
export const updateAll = gulp.series(
|
||||||
updateFilesSetup,
|
updateFilesSetup,
|
||||||
|
@ -10,16 +10,10 @@ import Bluebird from "bluebird";
|
|||||||
import { ForgeProfile } from "../../types/forgeProfile";
|
import { ForgeProfile } from "../../types/forgeProfile";
|
||||||
import { FileDef } from "../../types/fileDef";
|
import { FileDef } from "../../types/fileDef";
|
||||||
import { downloadOrRetrieveFileDef, getVersionManifest, libraryToPath, relative } from "../../util/util";
|
import { downloadOrRetrieveFileDef, getVersionManifest, libraryToPath, relative } from "../../util/util";
|
||||||
import {
|
import { modDestDirectory, modpackManifest, serverDestDirectory, sharedDestDirectory } from "../../globals";
|
||||||
mmcDestDirectory,
|
|
||||||
modDestDirectory,
|
|
||||||
modpackManifest,
|
|
||||||
serverDestDirectory,
|
|
||||||
sharedDestDirectory
|
|
||||||
} from "../../globals";
|
|
||||||
import del from "del";
|
import del from "del";
|
||||||
import { VersionManifest } from "../../types/versionManifest";
|
import { VersionManifest } from "../../types/versionManifest";
|
||||||
import { fetchMods } from "../../util/curseForgeAPI";
|
import { updateBuildServerProperties } from "../misc/transformFiles";
|
||||||
|
|
||||||
const FORGE_VERSION_REG = /forge-(.+)/;
|
const FORGE_VERSION_REG = /forge-(.+)/;
|
||||||
const FORGE_MAVEN = "https://files.minecraftforge.net/maven/";
|
const FORGE_MAVEN = "https://files.minecraftforge.net/maven/";
|
||||||
@ -202,7 +196,7 @@ function copyServerOverrides() {
|
|||||||
/**
|
/**
|
||||||
* Copies files from ./serverfiles into dest folder.
|
* Copies files from ./serverfiles into dest folder.
|
||||||
*/
|
*/
|
||||||
function copyServerfiles() {
|
function copyServerFiles() {
|
||||||
return src(["../serverfiles/**"]).pipe(dest(serverDestDirectory));
|
return src(["../serverfiles/**"]).pipe(dest(serverDestDirectory));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -267,9 +261,10 @@ export default gulp.series([
|
|||||||
downloadMinecraftServer,
|
downloadMinecraftServer,
|
||||||
copyServerMods,
|
copyServerMods,
|
||||||
copyServerOverrides,
|
copyServerOverrides,
|
||||||
copyServerfiles,
|
copyServerFiles,
|
||||||
copyServerLicense,
|
copyServerLicense,
|
||||||
copyServerChangelog,
|
copyServerChangelog,
|
||||||
copyServerUpdateNotes,
|
copyServerUpdateNotes,
|
||||||
processLaunchscripts,
|
processLaunchscripts,
|
||||||
|
updateBuildServerProperties,
|
||||||
]);
|
]);
|
||||||
|
@ -2,7 +2,14 @@ import fs from "fs";
|
|||||||
import gulp from "gulp";
|
import gulp from "gulp";
|
||||||
import upath from "upath";
|
import upath from "upath";
|
||||||
import buildConfig from "../../buildConfig";
|
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 del from "del";
|
||||||
import { FileDef } from "../../types/fileDef";
|
import { FileDef } from "../../types/fileDef";
|
||||||
import Bluebird from "bluebird";
|
import Bluebird from "bluebird";
|
||||||
@ -30,9 +37,10 @@ async function createSharedDirs() {
|
|||||||
* Copies modpack overrides.
|
* Copies modpack overrides.
|
||||||
*/
|
*/
|
||||||
async function copyOverrides() {
|
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) => {
|
return new Promise((resolve) => {
|
||||||
gulp
|
gulp
|
||||||
.src(upath.join(buildConfig.buildSourceDirectory, overridesFolder, "**/*"))
|
.src(buildConfig.copyToSharedDirGlobs, { cwd: upath.join(buildConfig.buildSourceDirectory) })
|
||||||
.pipe(gulp.dest(upath.join(sharedDestDirectory, overridesFolder)))
|
.pipe(gulp.dest(upath.join(sharedDestDirectory, overridesFolder)))
|
||||||
.on("end", resolve);
|
.on("end", resolve);
|
||||||
});
|
});
|
||||||
@ -131,16 +139,16 @@ import transformVersion from "./transformVersion";
|
|||||||
import { createBuildChangelog } from "../changelog/createChangelog";
|
import { createBuildChangelog } from "../changelog/createChangelog";
|
||||||
import mustache from "mustache";
|
import mustache from "mustache";
|
||||||
import log from "fancy-log";
|
import log from "fancy-log";
|
||||||
import { updateFilesBuild } from "../misc/transformFiles";
|
import { updateBuildRandomPatches } from "../misc/transformFiles";
|
||||||
import { transformQuestBook } from "./quest";
|
import { transformQuestBook } from "./quest";
|
||||||
|
|
||||||
export default gulp.series(
|
export default gulp.series(
|
||||||
sharedCleanUp,
|
sharedCleanUp,
|
||||||
createSharedDirs,
|
createSharedDirs,
|
||||||
updateFilesBuild,
|
|
||||||
copyOverrides,
|
copyOverrides,
|
||||||
fetchOrMakeChangelog,
|
fetchOrMakeChangelog,
|
||||||
fetchExternalDependencies,
|
fetchExternalDependencies,
|
||||||
|
updateBuildRandomPatches,
|
||||||
transformVersion,
|
transformVersion,
|
||||||
transformQuestBook,
|
transformQuestBook,
|
||||||
);
|
);
|
||||||
|
@ -7,6 +7,10 @@
|
|||||||
"launchscriptsMinRAM": "2048M",
|
"launchscriptsMinRAM": "2048M",
|
||||||
"launchscriptsMaxRAM": "2048M",
|
"launchscriptsMaxRAM": "2048M",
|
||||||
"launchscriptsJVMArgs": "",
|
"launchscriptsJVMArgs": "",
|
||||||
|
"copyToSharedDirGlobs": [
|
||||||
|
"overrides/**/*",
|
||||||
|
"!overrides/**/server.properties"
|
||||||
|
],
|
||||||
"copyFromSharedServerGlobs": [
|
"copyFromSharedServerGlobs": [
|
||||||
"overrides/**/*",
|
"overrides/**/*",
|
||||||
"!overrides/resources/**/*"
|
"!overrides/resources/**/*"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user