From e067e0eeeb662128d684c60ec87605368e1b7bcc Mon Sep 17 00:00:00 2001 From: kaetemi Date: Sun, 13 Jun 2021 03:00:55 +0800 Subject: [PATCH] Add script to setup dev shard folder --- nel/tools/build_gamedata/b3_shard_dev.py | 87 ++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 nel/tools/build_gamedata/b3_shard_dev.py diff --git a/nel/tools/build_gamedata/b3_shard_dev.py b/nel/tools/build_gamedata/b3_shard_dev.py new file mode 100644 index 000000000..2032e9e92 --- /dev/null +++ b/nel/tools/build_gamedata/b3_shard_dev.py @@ -0,0 +1,87 @@ +#!/usr/bin/python +# +# \file b2_shard_data.py +# \brief Install shard data +# \date 2009-02-18 16:19GMT +# \author Jan Boon (Kaetemi) +# Python port of game data build pipeline. +# Install shard data +# +# NeL - MMORPG Framework +# Copyright (C) 2009-2014 by authors +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# + +import time, sys, os, shutil, subprocess, distutils.dir_util +sys.path.append("configuration") + +if os.path.isfile("log.log"): + os.remove("log.log") +log = open("log.log", "w") +from scripts import * +from buildsite_local import * +from tools import * + +sys.path.append(WorkspaceDirectory) +from projects import * + +# Log error +printLog(log, "") +printLog(log, "-------") +printLog(log, "--- Install to shard dev") +printLog(log, "-------") +printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time()))) +printLog(log, "") + +mkPath(log, ShardDevDirectory) +mkPath(log, ShardDevDirectory + "/local") +printLog(log, ">>> Generate shard dev local.cfg <<<") +cfg = open(ShardDevDirectory + "/local.cfg", "w") +cfg.write("WindowStyle = \"WIN\";") +cfg.write("Paths = {") +cfg.write(" \"" + ShardDevDirectory.replace('/', '\\') + "\\local\",") +cfg.write(" \"" + DataCommonDirectory.replace('/', '\\') + "\",") +cfg.write(" \"" + DataShardDirectory.replace('/', '\\') + "\",") +cfg.write(" \"" + LeveldesignDirectory.replace('/', '\\') + "\",") +cfg.write(" \"" + WorldEditorFilesDirectory.replace('/', '\\') + "\",") +for multiDir in InstallShardDataMultiDirectories: + dstDir = multiDir[0] + mkPath(log, ShardInstallDirectory + "/" + dstDir) + cfg.write(" \"" + ShardInstallDirectory + "\\" + dstDir + "\",") +cfg.write("};") +cfg.write("StartCommands += {") +cfg.write(" // Don't launch AES on development shard for now") +cfg.write(" \"gw_aes.transportRemove aes_l3c\",") +cfg.write("};") +cfg.write("DontNeedBackend = 1;") +cfg.flush() +cfg.close() +printLog(log, "") + +for execDir in InstallShardDataExecutables: + dstDir = execDir[0] + mkPath(log, PatchmanCfgDefaultDirectory) + mkPath(log, InstallDirectory) + mkPath(log, ShardDevDirectory + "/live/" + dstDir) + printLog(log, "SHARD PACKAGE " + dstDir) + copyFileListNoTreeIfNeeded(log, PatchmanCfgDefaultDirectory, ShardDevDirectory + "/live/" + dstDir, execDir[2]) + copyFileListNoTreeIfNeeded(log, InstallDirectory, ShardDevDirectory + "/live/" + dstDir, execDir[3]) +printLog(log, "") + +log.close() +if os.path.isfile("b3_shard_dev.log"): + os.remove("b3_shard_dev.log") +shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_shard_dev.log") +shutil.move("log.log", "b3_shard_dev.log")