merge
commit
c425329719
@ -0,0 +1,64 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
#
|
||||||
|
# \file 4_data_shard.py
|
||||||
|
# \brief Install to data shard
|
||||||
|
# \date 2009-02-18 16:19GMT
|
||||||
|
# \author Jan Boon (Kaetemi)
|
||||||
|
# Python port of game data build pipeline.
|
||||||
|
# Install to data shard
|
||||||
|
#
|
||||||
|
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||||
|
# Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
#
|
||||||
|
# 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 <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
|
||||||
|
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 import *
|
||||||
|
from tools import *
|
||||||
|
|
||||||
|
sys.path.append(WorkspaceDirectory)
|
||||||
|
from projects import *
|
||||||
|
|
||||||
|
# Log error
|
||||||
|
printLog(log, "")
|
||||||
|
printLog(log, "-------")
|
||||||
|
printLog(log, "--- Install to data shard")
|
||||||
|
printLog(log, "-------")
|
||||||
|
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||||
|
printLog(log, "")
|
||||||
|
|
||||||
|
for dir in InstallShardDataDirectories:
|
||||||
|
printLog(log, "SHARD DIRECTORY " + dir)
|
||||||
|
mkPath(log, InstallDirectory + "/" + dir)
|
||||||
|
mkPath(log, DataShardDirectory + "/" + dir)
|
||||||
|
copyFilesNoTreeIfNeeded(log, InstallDirectory + "/" + dir, DataShardDirectory + "/" + dir)
|
||||||
|
for dir in InstallShardDataCollisionsDirectories:
|
||||||
|
printLog(log, "SHARD COLLISIONS " + dir)
|
||||||
|
mkPath(log, InstallDirectory + "/" + dir)
|
||||||
|
mkPath(log, DataShardDirectory + "/collisions/" + dir)
|
||||||
|
copyFilesNoTreeIfNeeded(log, InstallDirectory + "/" + dir, DataShardDirectory + "/collisions/" + dir)
|
||||||
|
printLog(log, "")
|
||||||
|
|
||||||
|
log.close()
|
||||||
|
if os.path.isfile("4_data_shard.log"):
|
||||||
|
os.remove("4_data_shard.log")
|
||||||
|
shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_data_shard.log")
|
||||||
|
shutil.move("log.log", "4_data_shard.log")
|
@ -0,0 +1,75 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
#
|
||||||
|
# \file 5_client_dev.py
|
||||||
|
# \brief Install to client dev
|
||||||
|
# \date 2009-02-18 16:19GMT
|
||||||
|
# \author Jan Boon (Kaetemi)
|
||||||
|
# Python port of game data build pipeline.
|
||||||
|
# Install to client dev
|
||||||
|
#
|
||||||
|
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||||
|
# Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
#
|
||||||
|
# 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 <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
|
||||||
|
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 import *
|
||||||
|
from tools import *
|
||||||
|
|
||||||
|
sys.path.append(WorkspaceDirectory)
|
||||||
|
from projects import *
|
||||||
|
|
||||||
|
# Log error
|
||||||
|
printLog(log, "")
|
||||||
|
printLog(log, "-------")
|
||||||
|
printLog(log, "--- Install to client dev")
|
||||||
|
printLog(log, "-------")
|
||||||
|
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||||
|
printLog(log, "")
|
||||||
|
|
||||||
|
if not os.path.isfile(ClientDevDirectory + "/client.cfg"):
|
||||||
|
printLog(log, ">>> Generate client.cfg <<<")
|
||||||
|
cfg = open(ClientDevDirectory + "/client.cfg", "w")
|
||||||
|
cfg.write("RootConfigFilename = \"client_default.cfg\";\n")
|
||||||
|
cfg.write("PreDataPath = {\n")
|
||||||
|
cfg.write("\t\"W:/install\", \"user\", \"patch\", \"data\", \"examples\" \n")
|
||||||
|
cfg.write("};\n")
|
||||||
|
printLog(log, "")
|
||||||
|
|
||||||
|
printLog(log, ">>> Install data <<<")
|
||||||
|
for category in InstallClientData:
|
||||||
|
if (category["UnpackTo"] != None):
|
||||||
|
printLog(log, "CATEGORY " + category["Name"])
|
||||||
|
targetPath = ClientDevDirectory
|
||||||
|
if (category["UnpackTo"] != ""):
|
||||||
|
targetPath += "/" + category["UnpackTo"]
|
||||||
|
mkPath(log, targetPath)
|
||||||
|
for package in category["Packages"]:
|
||||||
|
printLog(log, "PACKAGE " + package[0])
|
||||||
|
mkPath(log, InstallDirectory + "/" + package[0])
|
||||||
|
copyFilesNoTreeIfNeeded(log, InstallDirectory + "/" + package[0], targetPath)
|
||||||
|
printLog(log, "")
|
||||||
|
|
||||||
|
log.close()
|
||||||
|
if os.path.isfile("5_client_dev.log"):
|
||||||
|
os.remove("5_client_dev.log")
|
||||||
|
shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_client_dev.log")
|
||||||
|
shutil.move("log.log", "5_client_dev.log")
|
@ -0,0 +1,149 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
#
|
||||||
|
# \file 6_client_patch.py
|
||||||
|
# \brief Install to client patch
|
||||||
|
# \date 2009-02-18 16:19GMT
|
||||||
|
# \author Jan Boon (Kaetemi)
|
||||||
|
# Python port of game data build pipeline.
|
||||||
|
# Install to client patch
|
||||||
|
#
|
||||||
|
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||||
|
# Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
#
|
||||||
|
# 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 <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
|
||||||
|
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 import *
|
||||||
|
from tools import *
|
||||||
|
|
||||||
|
sys.path.append(WorkspaceDirectory)
|
||||||
|
from projects import *
|
||||||
|
|
||||||
|
# Log error
|
||||||
|
printLog(log, "")
|
||||||
|
printLog(log, "-------")
|
||||||
|
printLog(log, "--- Install to client patch")
|
||||||
|
printLog(log, "-------")
|
||||||
|
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||||
|
printLog(log, "")
|
||||||
|
|
||||||
|
# Find tools
|
||||||
|
BnpMake = findTool(log, ToolDirectories, BnpMakeTool, ToolSuffix)
|
||||||
|
PatchGen = findTool(log, ToolDirectories, PatchGenTool, ToolSuffix)
|
||||||
|
printLog(log, "")
|
||||||
|
|
||||||
|
# Find **** HARDCODED **** WINDOWS **** tools ... TODO: fix patch_gen tool !!!
|
||||||
|
Lzma = findFileMultiDir(log, ToolDirectories + WindowsExeDllCfgDirectories, "lzma.exe")
|
||||||
|
printLog(log, "LZMA " + Lzma)
|
||||||
|
XDelta = findFileMultiDir(log, ToolDirectories + WindowsExeDllCfgDirectories, "xdelta.exe")
|
||||||
|
printLog(log, "XDELTA " + XDelta)
|
||||||
|
printLog(log, "")
|
||||||
|
|
||||||
|
if BnpMake == "":
|
||||||
|
toolLogFail(log, BnpMakeTool, ToolSuffix)
|
||||||
|
elif PatchGen == "":
|
||||||
|
toolLogFail(log, PatchGenTool, ToolSuffix)
|
||||||
|
elif Lzma == "":
|
||||||
|
toolLogFail(log, "LZMA", ToolSuffix)
|
||||||
|
elif XDelta == "":
|
||||||
|
toolLogFail(log, "XDELTA", ToolSuffix)
|
||||||
|
elif os.path.dirname(Lzma) != os.path.dirname(XDelta):
|
||||||
|
printLog(log, "FAIL lzma.exe and xdelta.exe must be in the same directory")
|
||||||
|
else:
|
||||||
|
mkPath(log, ClientPatchDirectory)
|
||||||
|
productXml = ClientPatchDirectory + "/" + ProductName + ".xml"
|
||||||
|
if not os.path.isfile(productXml):
|
||||||
|
printLog(log, ">>> Create new product <<<")
|
||||||
|
subprocess.call([ PatchGen, "createNewProduct", productXml ])
|
||||||
|
printLog(log, "")
|
||||||
|
printLog(log, ">>> Rewrite " + ProductName + ".xml <<<") # because we know better.
|
||||||
|
shutil.move(productXml, productXml + ".old")
|
||||||
|
oldCfg = open(productXml + ".old", "r")
|
||||||
|
cfg = open(productXml, "w")
|
||||||
|
inCategories = 0
|
||||||
|
for line in oldCfg:
|
||||||
|
if not inCategories:
|
||||||
|
if line.strip() == "<_Categories>":
|
||||||
|
inCategories = 1
|
||||||
|
cfg.write("\t<_Categories>\n")
|
||||||
|
for category in InstallClientData:
|
||||||
|
cfg.write("\t\t<_Category>\n")
|
||||||
|
cfg.write("\t\t\t<_Name type=\"STRING\" value=\"" + category["Name"] + "\"/>\n")
|
||||||
|
if category["UnpackTo"] != None:
|
||||||
|
if category["UnpackTo"] != "":
|
||||||
|
cfg.write("\t\t\t<_UnpackTo type=\"STRING\" value=\"./" + category["UnpackTo"] + "/\"/>\n")
|
||||||
|
else:
|
||||||
|
cfg.write("\t\t\t<_UnpackTo type=\"SINT32\" value=\"./\"/>\n")
|
||||||
|
cfg.write("\t\t\t<_IsOptional type=\"SINT32\" value=\"" + str(category["IsOptional"]) + "\"/>\n")
|
||||||
|
cfg.write("\t\t\t<_IsIncremental type=\"SINT32\" value=\"" + str(category["IsIncremental"]) + "\"/>\n")
|
||||||
|
for package in category["Packages"]:
|
||||||
|
if (len(package[1]) > 0):
|
||||||
|
cfg.write("\t\t\t<_Files type=\"STRING\" value=\"" + package[1][0] + "\"/>\n")
|
||||||
|
else:
|
||||||
|
cfg.write("\t\t\t<_Files type=\"STRING\" value=\"" + package[0] + ".bnp\"/>\n")
|
||||||
|
cfg.write("\t\t</_Category>\n")
|
||||||
|
cfg.write("\t</_Categories>\n")
|
||||||
|
else:
|
||||||
|
cfg.write(line)
|
||||||
|
else:
|
||||||
|
if line.strip() == "</_Categories>":
|
||||||
|
inCategories = 0
|
||||||
|
oldCfg.close()
|
||||||
|
cfg.close()
|
||||||
|
os.remove(productXml + ".old")
|
||||||
|
printLog(log, "")
|
||||||
|
printLog(log, ">>> Make bnp <<<")
|
||||||
|
targetPath = ClientPatchDirectory + "/bnp"
|
||||||
|
mkPath(log, targetPath)
|
||||||
|
for category in InstallClientData:
|
||||||
|
for package in category["Packages"]:
|
||||||
|
printLog(log, "PACKAGE " + package[0])
|
||||||
|
sourcePath = InstallDirectory + "/" + package[0]
|
||||||
|
mkPath(log, sourcePath)
|
||||||
|
targetBnp = targetPath + "/" + package[0] + ".bnp"
|
||||||
|
if (len(package[1]) > 0):
|
||||||
|
targetBnp = targetPath + "/" + package[1][0]
|
||||||
|
printLog(log, "TARGET " + package[1][0])
|
||||||
|
needUpdateBnp = 1
|
||||||
|
if (len(package) > 2):
|
||||||
|
needUpdateBnp = needUpdate(log, sourcePath + "/" + package[2], targetBnp)
|
||||||
|
else:
|
||||||
|
needUpdateBnp = needUpdateDirNoSubdirFile(log, sourcePath, targetBnp)
|
||||||
|
if (needUpdateBnp):
|
||||||
|
printLog(log, "BNP " + targetBnp)
|
||||||
|
subprocess.call([ BnpMake, "/p", sourcePath, targetPath ] + package[1])
|
||||||
|
else:
|
||||||
|
printLog(log, "SKIP " + targetBnp)
|
||||||
|
printLog(log, "")
|
||||||
|
printLog(log, ">>> Update product <<<")
|
||||||
|
cwDir = os.getcwd().replace("\\", "/")
|
||||||
|
toolDir = os.path.dirname(Lzma).replace("\\", "/")
|
||||||
|
os.chdir(toolDir)
|
||||||
|
subprocess.call([ PatchGen, "updateProduct", productXml ])
|
||||||
|
os.chdir(cwDir)
|
||||||
|
printLog(log, "")
|
||||||
|
|
||||||
|
|
||||||
|
log.close()
|
||||||
|
if os.path.isfile("6_client_patch.log"):
|
||||||
|
os.remove("6_client_patch.log")
|
||||||
|
shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_client_patch.log")
|
||||||
|
shutil.move("log.log", "6_client_patch.log")
|
@ -0,0 +1,93 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
#
|
||||||
|
# \file 7_client_install.py
|
||||||
|
# \brief Install to client install
|
||||||
|
# \date 2009-02-18 16:19GMT
|
||||||
|
# \author Jan Boon (Kaetemi)
|
||||||
|
# Python port of game data build pipeline.
|
||||||
|
# Install to client install
|
||||||
|
#
|
||||||
|
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||||
|
# Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
#
|
||||||
|
# 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 <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
|
||||||
|
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 import *
|
||||||
|
from tools import *
|
||||||
|
|
||||||
|
sys.path.append(WorkspaceDirectory)
|
||||||
|
from projects import *
|
||||||
|
|
||||||
|
# Log error
|
||||||
|
printLog(log, "")
|
||||||
|
printLog(log, "-------")
|
||||||
|
printLog(log, "--- Install to client install")
|
||||||
|
printLog(log, "-------")
|
||||||
|
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||||
|
printLog(log, "")
|
||||||
|
|
||||||
|
# Find tools
|
||||||
|
BnpMake = findTool(log, ToolDirectories, BnpMakeTool, ToolSuffix)
|
||||||
|
printLog(log, "")
|
||||||
|
|
||||||
|
if BnpMake == "":
|
||||||
|
toolLogFail(log, BnpMakeTool, ToolSuffix)
|
||||||
|
else:
|
||||||
|
for category in InstallClientData:
|
||||||
|
printLog(log, "CATEGORY " + category["Name"])
|
||||||
|
if (category["UnpackTo"] != None):
|
||||||
|
targetPath = ClientInstallDirectory
|
||||||
|
if (category["UnpackTo"] != ""):
|
||||||
|
targetPath += "/" + category["UnpackTo"]
|
||||||
|
mkPath(log, targetPath)
|
||||||
|
for package in category["Packages"]:
|
||||||
|
printLog(log, "PACKAGE " + package[0])
|
||||||
|
mkPath(log, InstallDirectory + "/" + package[0])
|
||||||
|
copyFilesNoTreeIfNeeded(log, InstallDirectory + "/" + package[0], targetPath)
|
||||||
|
else:
|
||||||
|
targetPath = ClientInstallDirectory + "/data"
|
||||||
|
mkPath(log, targetPath)
|
||||||
|
for package in category["Packages"]:
|
||||||
|
printLog(log, "PACKAGE " + package[0])
|
||||||
|
sourcePath = InstallDirectory + "/" + package[0]
|
||||||
|
mkPath(log, sourcePath)
|
||||||
|
targetBnp = targetPath + "/" + package[0] + ".bnp"
|
||||||
|
if (len(package[1]) > 0):
|
||||||
|
targetBnp = targetPath + "/" + package[1][0]
|
||||||
|
printLog(log, "TARGET " + package[1][0])
|
||||||
|
needUpdateBnp = 1
|
||||||
|
if (len(package) > 2):
|
||||||
|
needUpdateBnp = needUpdate(log, sourcePath + "/" + package[2], targetBnp)
|
||||||
|
else:
|
||||||
|
needUpdateBnp = needUpdateDirNoSubdirFile(log, sourcePath, targetBnp)
|
||||||
|
if (needUpdateBnp):
|
||||||
|
printLog(log, "BNP " + targetBnp)
|
||||||
|
subprocess.call([ BnpMake, "/p", sourcePath, targetPath ] + package[1])
|
||||||
|
else:
|
||||||
|
printLog(log, "SKIP " + targetBnp)
|
||||||
|
printLog(log, "")
|
||||||
|
|
||||||
|
log.close()
|
||||||
|
if os.path.isfile("7_client_install.log"):
|
||||||
|
os.remove("7_client_install.log")
|
||||||
|
shutil.copy("log.log", time.strftime("%Y-%m-%d-%H-%M-GMT", time.gmtime(time.time())) + "_client_install.log")
|
||||||
|
shutil.move("log.log", "7_client_install.log")
|
@ -1,65 +0,0 @@
|
|||||||
#!/usr/bin/python
|
|
||||||
#
|
|
||||||
# \file site.py
|
|
||||||
# \brief Site configuration
|
|
||||||
# \date 2010-06-04-21-25-GMT
|
|
||||||
# \author Jan Boon (Kaetemi)
|
|
||||||
# Python port of game data build pipeline.
|
|
||||||
# Site configuration.
|
|
||||||
#
|
|
||||||
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
|
||||||
# Copyright (C) 2010 Winch Gate Property Limited
|
|
||||||
#
|
|
||||||
# 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 <http://www.gnu.org/licenses/>.
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
# *** SITE INSTALLATION ***
|
|
||||||
|
|
||||||
# Use '/' in path name, not ''
|
|
||||||
# Don't put '/' at the end of a directory name
|
|
||||||
|
|
||||||
|
|
||||||
# Quality option for this site (1 for BEST, 0 for DRAFT)
|
|
||||||
BuildQuality = 1
|
|
||||||
|
|
||||||
ToolDirectories = ['R:/code/nel', 'R:/code/ryzom/tools']
|
|
||||||
ToolSuffix = "_r.exe"
|
|
||||||
|
|
||||||
# Build script directory
|
|
||||||
ScriptDirectory = "W:/build_gamedata"
|
|
||||||
WorkspaceDirectory = "R:/code/ryzom/tools/build_gamedata/workspace"
|
|
||||||
|
|
||||||
# Data build directories
|
|
||||||
DatabaseDirectory = "W:/database"
|
|
||||||
ExportBuildDirectory = "W:/export"
|
|
||||||
|
|
||||||
# Client data install directory (client/data)
|
|
||||||
ClientDataDirectory = "S:/ryzom_client_open/user"
|
|
||||||
|
|
||||||
# TODO: NETWORK RECONNECT NOT IMPLEMENTED :)
|
|
||||||
|
|
||||||
# Leveldesign directories
|
|
||||||
LeveldesignDirectory = "L:/leveldesign"
|
|
||||||
LeveldesignDfnDirectory = "L:/leveldesign/dfn"
|
|
||||||
LeveldesignWorldDirectory = "L:/leveldesign/world"
|
|
||||||
|
|
||||||
# 3dsMax directives
|
|
||||||
MaxAvailable = 1
|
|
||||||
MaxDirectory = "C:/Program Files (x86)/Autodesk/3ds Max 2010"
|
|
||||||
MaxUserDirectory = "C:/Users/Kaetemi/AppData/Local/Autodesk/3dsMax/2010 - 32bit/enu"
|
|
||||||
MaxExecutable = "3dsmax.exe"
|
|
||||||
|
|
||||||
|
|
||||||
# end of file
|
|
@ -0,0 +1,31 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
#
|
||||||
|
# \file export_build_install.py
|
||||||
|
# \brief Run all processes
|
||||||
|
# \date 2009-02-18 15:28GMT
|
||||||
|
# \author Jan Boon (Kaetemi)
|
||||||
|
# Python port of game data build pipeline.
|
||||||
|
# Run all processes
|
||||||
|
#
|
||||||
|
# NeL - MMORPG Framework <http:#dev.ryzom.com/projects/nel/>
|
||||||
|
# Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
#
|
||||||
|
# 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 <http:#www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
|
||||||
|
import shutil, subprocess
|
||||||
|
|
||||||
|
subprocess.call([ "python", "3_install.py" ])
|
||||||
|
subprocess.call([ "python", "5_client_dev.py" ])
|
||||||
|
|
@ -0,0 +1,31 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
#
|
||||||
|
# \file export_build_install.py
|
||||||
|
# \brief Run all processes
|
||||||
|
# \date 2009-02-18 15:28GMT
|
||||||
|
# \author Jan Boon (Kaetemi)
|
||||||
|
# Python port of game data build pipeline.
|
||||||
|
# Run all processes
|
||||||
|
#
|
||||||
|
# NeL - MMORPG Framework <http:#dev.ryzom.com/projects/nel/>
|
||||||
|
# Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
#
|
||||||
|
# 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 <http:#www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
|
||||||
|
import shutil, subprocess
|
||||||
|
|
||||||
|
subprocess.call([ "python", "3_install.py" ])
|
||||||
|
subprocess.call([ "python", "4_data_shard.py" ])
|
||||||
|
|
@ -0,0 +1,98 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
#
|
||||||
|
# \file 0_setup.py
|
||||||
|
# \brief setup ai_wmap
|
||||||
|
# \date 2010-05-24 13:42GMT
|
||||||
|
# \author Jan Boon (Kaetemi)
|
||||||
|
# Python port of game data build pipeline.
|
||||||
|
# Setup ai_wmap
|
||||||
|
#
|
||||||
|
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||||
|
# Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
#
|
||||||
|
# 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 <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
|
||||||
|
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 import *
|
||||||
|
from process import *
|
||||||
|
from tools import *
|
||||||
|
from directories import *
|
||||||
|
|
||||||
|
printLog(log, "")
|
||||||
|
printLog(log, "-------")
|
||||||
|
printLog(log, "--- Setup ai_wmap")
|
||||||
|
printLog(log, "-------")
|
||||||
|
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||||
|
printLog(log, "")
|
||||||
|
|
||||||
|
# Setup build directories
|
||||||
|
printLog(log, ">>> Setup build directories <<<")
|
||||||
|
mkPath(log, ExportBuildDirectory + "/" + RbankOutputBuildDirectory)
|
||||||
|
mkPath(log, ExportBuildDirectory + "/" + AiWmapBuildDirectory)
|
||||||
|
mkPath(log, ExportBuildDirectory + "/" + AiWmapBuildTagDirectory)
|
||||||
|
|
||||||
|
# Setup lookup directories
|
||||||
|
printLog(log, ">>> Setup lookup directories <<<")
|
||||||
|
for dir in IgLookupDirectories:
|
||||||
|
mkPath(log, ExportBuildDirectory + "/" + dir)
|
||||||
|
for dir in PacsPrimLookupDirectories:
|
||||||
|
mkPath(log, ExportBuildDirectory + "/" + dir)
|
||||||
|
|
||||||
|
# Setup client directories
|
||||||
|
printLog(log, ">>> Setup install directories <<<")
|
||||||
|
mkPath(log, InstallDirectory + "/" + AiWmapInstallDirectory)
|
||||||
|
|
||||||
|
# Setup client directories
|
||||||
|
printLog(log, ">>> Setup configuration <<<")
|
||||||
|
mkPath(log, InstallDirectory + "/" + AiWmapInstallDirectory)
|
||||||
|
mkPath(log, ActiveProjectDirectory + "/generated")
|
||||||
|
cfg = open(ActiveProjectDirectory + "/generated/ai_build_wmap.cfg", "w")
|
||||||
|
cfg.write("\n")
|
||||||
|
cfg.write("// AI BUILD WMAP CONFIGURATION\n")
|
||||||
|
cfg.write("\n")
|
||||||
|
cfg.write("Paths = {\n")
|
||||||
|
for dir in IgLookupDirectories:
|
||||||
|
cfg.write("\t\"" + ExportBuildDirectory + "/" + dir + "\", \n")
|
||||||
|
cfg.write("\t\"" + ExportBuildDirectory + "/" + RbankOutputBuildDirectory + "\", \n")
|
||||||
|
cfg.write("\t\"" + LeveldesignDirectory + "\", \n")
|
||||||
|
cfg.write("};\n")
|
||||||
|
cfg.write("\n")
|
||||||
|
cfg.write("NoRecursePaths = { };\n")
|
||||||
|
cfg.write("\n")
|
||||||
|
cfg.write("PacsPrimPaths = {\n")
|
||||||
|
for dir in PacsPrimLookupDirectories:
|
||||||
|
cfg.write("\t\"" + ExportBuildDirectory + "/" + dir + "\", \n")
|
||||||
|
cfg.write("};\n")
|
||||||
|
cfg.write("\n")
|
||||||
|
cfg.write("OutputPath = \"" + ExportBuildDirectory + "/" + AiWmapBuildDirectory + "\";\n")
|
||||||
|
cfg.write("\n")
|
||||||
|
cfg.write("Commands = {\n")
|
||||||
|
cfg.write("\t\"Verbose " + str(AiWmapVerbose) + "\", \n")
|
||||||
|
for startPoint in AiWmapStartPoints:
|
||||||
|
cfg.write("\t\"setStartPoint " + startPoint + "\", \n")
|
||||||
|
cfg.write("};\n")
|
||||||
|
cfg.write("\n")
|
||||||
|
cfg.close()
|
||||||
|
|
||||||
|
log.close()
|
||||||
|
|
||||||
|
|
||||||
|
# end of file
|
@ -0,0 +1,49 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
#
|
||||||
|
# \file 1_export.py
|
||||||
|
# \brief Export ai_wmap
|
||||||
|
# \date 2010-05-24 13:42GMT
|
||||||
|
# \author Jan Boon (Kaetemi)
|
||||||
|
# Python port of game data build pipeline.
|
||||||
|
# Export ai_wmap
|
||||||
|
#
|
||||||
|
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||||
|
# Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
#
|
||||||
|
# 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 <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
|
||||||
|
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 import *
|
||||||
|
from process import *
|
||||||
|
from tools import *
|
||||||
|
from directories import *
|
||||||
|
|
||||||
|
printLog(log, "")
|
||||||
|
printLog(log, "-------")
|
||||||
|
printLog(log, "--- Export ai_wmap")
|
||||||
|
printLog(log, "-------")
|
||||||
|
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||||
|
printLog(log, "")
|
||||||
|
|
||||||
|
log.close()
|
||||||
|
|
||||||
|
|
||||||
|
# end of file
|
@ -0,0 +1,95 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
#
|
||||||
|
# \file 2_build.py
|
||||||
|
# \brief Build ai_wmap
|
||||||
|
# \date 2010-05-24 13:42GMT
|
||||||
|
# \author Jan Boon (Kaetemi)
|
||||||
|
# Python port of game data build pipeline.
|
||||||
|
# Build ai_wmap
|
||||||
|
#
|
||||||
|
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||||
|
# Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
#
|
||||||
|
# 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 <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
|
||||||
|
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 import *
|
||||||
|
from process import *
|
||||||
|
from tools import *
|
||||||
|
from directories import *
|
||||||
|
|
||||||
|
printLog(log, "")
|
||||||
|
printLog(log, "-------")
|
||||||
|
printLog(log, "--- Build ai_wmap")
|
||||||
|
printLog(log, "-------")
|
||||||
|
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||||
|
printLog(log, "")
|
||||||
|
|
||||||
|
# Find tools
|
||||||
|
AiBuildWmap = findTool(log, ToolDirectories, AiBuildWmapTool, ToolSuffix)
|
||||||
|
TgaCut = findTool(log, ToolDirectories, TgaCutTool, ToolSuffix)
|
||||||
|
|
||||||
|
if AiBuildWmap == "":
|
||||||
|
toolLogFail(log, AiBuildWmapTool, ToolSuffix)
|
||||||
|
if TgaCut == "":
|
||||||
|
toolLogFail(log, TgaCutTool, ToolSuffix)
|
||||||
|
else:
|
||||||
|
printLog(log, ">>> Copy ai_build_wmap.cfg <<<")
|
||||||
|
cfgPath = ActiveProjectDirectory + "/generated/ai_build_wmap.cfg"
|
||||||
|
tagPath = ExportBuildDirectory + "/" + AiWmapBuildTagDirectory + "/ai_wmap_build.tag"
|
||||||
|
shutil.copy(cfgPath, "ai_build_wmap.cfg")
|
||||||
|
printLog(log, ">>> Check up packed sheets <<<")
|
||||||
|
subprocess.call([ AiBuildWmap, "checkPackedSheets" ])
|
||||||
|
printLog(log, ">>> Build ai_wmap <<<")
|
||||||
|
mkPath(log, ExportBuildDirectory + "/" + RbankOutputBuildDirectory)
|
||||||
|
mkPath(log, ExportBuildDirectory + "/" + AiWmapBuildDirectory)
|
||||||
|
mkPath(log, ExportBuildDirectory + "/" + AiWmapBuildTagDirectory)
|
||||||
|
if (needUpdate(log, "continents.packed_sheets", tagPath) or needUpdateMultiDirNoSubdirFile(log, ExportBuildDirectory, [ RbankOutputBuildDirectory ] + IgLookupDirectories + PacsPrimLookupDirectories, tagPath)):
|
||||||
|
printLog(log, ">>> Generate wmap <<<")
|
||||||
|
subprocess.call([ AiBuildWmap, "pacsCrunch " + AiWmapContinentName ])
|
||||||
|
printLog(log, ">>> Generate sized wmap <<<")
|
||||||
|
subprocess.call([ AiBuildWmap, "pacsBuildGabarit " + AiWmapContinentName ])
|
||||||
|
printLog(log, ">>> Generate cwmaps for each size <<<")
|
||||||
|
subprocess.call([ AiBuildWmap, "pacsBuildWmap " + AiWmapContinentName + "_0" ])
|
||||||
|
subprocess.call([ AiBuildWmap, "pacsBuildWmap " + AiWmapContinentName + "_1" ])
|
||||||
|
subprocess.call([ AiBuildWmap, "pacsBuildWmap " + AiWmapContinentName + "_2" ])
|
||||||
|
printLog(log, ">>> Generate bitmap for each size <<<")
|
||||||
|
subprocess.call([ AiBuildWmap, "pacsBuildBitmap " + AiWmapContinentName + "_0" ])
|
||||||
|
subprocess.call([ AiBuildWmap, "pacsBuildBitmap " + AiWmapContinentName + "_1" ])
|
||||||
|
subprocess.call([ AiBuildWmap, "pacsBuildBitmap " + AiWmapContinentName + "_2" ])
|
||||||
|
printLog(log, ">>> Clear height maps for size 1 and 2 <<<")
|
||||||
|
subprocess.call([ AiBuildWmap, "pacsClearHeightmap " + AiWmapContinentName ])
|
||||||
|
printLog(log, ">>> Cut tga for world editor <<<")
|
||||||
|
subprocess.call([ TgaCut, ExportBuildDirectory + "/" + AiWmapBuildDirectory + "/" + AiWmapContinentName + "_0.tga" ])
|
||||||
|
moveFilesExtNoTree(log, ".", ExportBuildDirectory + "/" + AiWmapBuildDirectory, ".tga")
|
||||||
|
printLog(log, ">>> Remove wmap <<<")
|
||||||
|
removeFilesRecursiveExt(log, ExportBuildDirectory + "/" + AiWmapBuildDirectory, ".wmap")
|
||||||
|
tagFile = open(tagPath, "w")
|
||||||
|
tagFile.write(time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())) + "\n")
|
||||||
|
tagFile.close()
|
||||||
|
else:
|
||||||
|
printLog("SKIP *")
|
||||||
|
printLog(log, "")
|
||||||
|
|
||||||
|
log.close()
|
||||||
|
|
||||||
|
|
||||||
|
# end of file
|
@ -0,0 +1,57 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
#
|
||||||
|
# \file 3_install.py
|
||||||
|
# \brief Install ai_wmap
|
||||||
|
# \date 2010-05-24 13:42GMT
|
||||||
|
# \author Jan Boon (Kaetemi)
|
||||||
|
# Python port of game data build pipeline.
|
||||||
|
# Install ai_wmap
|
||||||
|
#
|
||||||
|
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||||
|
# Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
#
|
||||||
|
# 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 <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
|
||||||
|
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 import *
|
||||||
|
from process import *
|
||||||
|
from tools import *
|
||||||
|
from directories import *
|
||||||
|
|
||||||
|
printLog(log, "")
|
||||||
|
printLog(log, "-------")
|
||||||
|
printLog(log, "--- Install ai_wmap")
|
||||||
|
printLog(log, "-------")
|
||||||
|
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||||
|
printLog(log, "")
|
||||||
|
|
||||||
|
installPath = InstallDirectory + "/" + AiWmapInstallDirectory
|
||||||
|
mkPath(log, installPath)
|
||||||
|
|
||||||
|
printLog(log, ">>> Install ai_wmap <<<")
|
||||||
|
mkPath(log, ExportBuildDirectory + "/" + AiWmapBuildDirectory)
|
||||||
|
copyFilesNoTreeIfNeeded(log, ExportBuildDirectory + "/" + AiWmapBuildDirectory, installPath)
|
||||||
|
|
||||||
|
printLog(log, "")
|
||||||
|
log.close()
|
||||||
|
|
||||||
|
|
||||||
|
# end of file
|
@ -0,0 +1,76 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
#
|
||||||
|
# \file 0_setup.py
|
||||||
|
# \brief setup copy
|
||||||
|
# \date 2010-05-24 13:42GMT
|
||||||
|
# \author Jan Boon (Kaetemi)
|
||||||
|
# Python port of game data build pipeline.
|
||||||
|
# Setup copy
|
||||||
|
#
|
||||||
|
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||||
|
# Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
#
|
||||||
|
# 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 <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
|
||||||
|
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 import *
|
||||||
|
from process import *
|
||||||
|
from tools import *
|
||||||
|
from directories import *
|
||||||
|
|
||||||
|
printLog(log, "")
|
||||||
|
printLog(log, "-------")
|
||||||
|
printLog(log, "--- Setup copy")
|
||||||
|
printLog(log, "-------")
|
||||||
|
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||||
|
printLog(log, "")
|
||||||
|
|
||||||
|
# Setup source directories
|
||||||
|
printLog(log, ">>> Setup source directories <<<")
|
||||||
|
for dir in CopyDirectSourceDirectories:
|
||||||
|
mkPath(log, dir)
|
||||||
|
for file in CopyDirectSourceFiles:
|
||||||
|
mkPath(log, os.path.dirname(file))
|
||||||
|
for dir in CopyLeveldesignSourceDirectories:
|
||||||
|
mkPath(log, LeveldesignDirectory + "/" + dir)
|
||||||
|
for file in CopyLeveldesignSourceFiles:
|
||||||
|
mkPath(log, os.path.dirname(LeveldesignDirectory + "/" + file))
|
||||||
|
for dir in CopyLeveldesignWorldSourceDirectories:
|
||||||
|
mkPath(log, LeveldesignWorldDirectory + "/" + dir)
|
||||||
|
for file in CopyLeveldesignWorldSourceFiles:
|
||||||
|
mkPath(log, os.path.dirname(LeveldesignWorldDirectory + "/" + file))
|
||||||
|
for dir in CopyLeveldesignDfnSourceDirectories:
|
||||||
|
mkPath(log, LeveldesignDfnDirectory + "/" + dir)
|
||||||
|
for file in CopyLeveldesignDfnSourceFiles:
|
||||||
|
mkPath(log, os.path.dirname(LeveldesignDfnDirectory + "/" + file))
|
||||||
|
for dir in CopyDatabaseSourceDirectories:
|
||||||
|
mkPath(log, DatabaseDirectory + "/" + dir)
|
||||||
|
for file in CopyDatabaseSourceFiles:
|
||||||
|
mkPath(log, os.path.dirname(DatabaseDirectory + "/" + file))
|
||||||
|
|
||||||
|
# Setup client directories
|
||||||
|
printLog(log, ">>> Setup client directories <<<")
|
||||||
|
mkPath(log, InstallDirectory + "/" + CopyInstallDirectory)
|
||||||
|
|
||||||
|
log.close()
|
||||||
|
|
||||||
|
|
||||||
|
# end of file
|
@ -0,0 +1,49 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
#
|
||||||
|
# \file 1_export.py
|
||||||
|
# \brief Export copy
|
||||||
|
# \date 2010-05-24 13:42GMT
|
||||||
|
# \author Jan Boon (Kaetemi)
|
||||||
|
# Python port of game data build pipeline.
|
||||||
|
# Export copy
|
||||||
|
#
|
||||||
|
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||||
|
# Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
#
|
||||||
|
# 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 <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
|
||||||
|
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 import *
|
||||||
|
from process import *
|
||||||
|
from tools import *
|
||||||
|
from directories import *
|
||||||
|
|
||||||
|
printLog(log, "")
|
||||||
|
printLog(log, "-------")
|
||||||
|
printLog(log, "--- Export copy")
|
||||||
|
printLog(log, "-------")
|
||||||
|
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||||
|
printLog(log, "")
|
||||||
|
|
||||||
|
log.close()
|
||||||
|
|
||||||
|
|
||||||
|
# end of file
|
@ -0,0 +1,49 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
#
|
||||||
|
# \file 2_build.py
|
||||||
|
# \brief Build copy
|
||||||
|
# \date 2010-05-24 13:42GMT
|
||||||
|
# \author Jan Boon (Kaetemi)
|
||||||
|
# Python port of game data build pipeline.
|
||||||
|
# Build copy
|
||||||
|
#
|
||||||
|
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||||
|
# Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
#
|
||||||
|
# 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 <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
|
||||||
|
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 import *
|
||||||
|
from process import *
|
||||||
|
from tools import *
|
||||||
|
from directories import *
|
||||||
|
|
||||||
|
printLog(log, "")
|
||||||
|
printLog(log, "-------")
|
||||||
|
printLog(log, "--- Build copy")
|
||||||
|
printLog(log, "-------")
|
||||||
|
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||||
|
printLog(log, "")
|
||||||
|
|
||||||
|
log.close()
|
||||||
|
|
||||||
|
|
||||||
|
# end of file
|
@ -0,0 +1,85 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
#
|
||||||
|
# \file 3_install.py
|
||||||
|
# \brief Install copy
|
||||||
|
# \date 2010-05-24 13:42GMT
|
||||||
|
# \author Jan Boon (Kaetemi)
|
||||||
|
# Python port of game data build pipeline.
|
||||||
|
# Install copy
|
||||||
|
#
|
||||||
|
# NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
|
||||||
|
# Copyright (C) 2010 Winch Gate Property Limited
|
||||||
|
#
|
||||||
|
# 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 <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
|
||||||
|
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 import *
|
||||||
|
from process import *
|
||||||
|
from tools import *
|
||||||
|
from directories import *
|
||||||
|
|
||||||
|
printLog(log, "")
|
||||||
|
printLog(log, "-------")
|
||||||
|
printLog(log, "--- Install copy")
|
||||||
|
printLog(log, "-------")
|
||||||
|
printLog(log, time.strftime("%Y-%m-%d %H:%MGMT", time.gmtime(time.time())))
|
||||||
|
printLog(log, "")
|
||||||
|
|
||||||
|
installPath = InstallDirectory + "/" + CopyInstallDirectory
|
||||||
|
mkPath(log, installPath)
|
||||||
|
|
||||||
|
printLog(log, ">>> Install copy <<<")
|
||||||
|
for dir in CopyDirectSourceDirectories:
|
||||||
|
copyFilesRecursiveNoTreeIfNeeded(log, dir, installPath)
|
||||||
|
for file in CopyDirectSourceFiles:
|
||||||
|
copyFileIfNeeded(log, file, installPath + "/" + os.path.basename(file))
|
||||||
|
for dir in CopyLeveldesignSourceDirectories:
|
||||||
|
copyFilesRecursiveNoTreeIfNeeded(log, LeveldesignDirectory + "/" + dir, installPath)
|
||||||
|
for file in CopyLeveldesignSourceFiles:
|
||||||
|
copyFileIfNeeded(log, LeveldesignDirectory + "/" + file, installPath + "/" + os.path.basename(file))
|
||||||
|
for dir in CopyLeveldesignWorldSourceDirectories:
|
||||||
|
copyFilesRecursiveNoTreeIfNeeded(log, LeveldesignWorldDirectory + "/" + dir, installPath)
|
||||||
|
for file in CopyLeveldesignWorldSourceFiles:
|
||||||
|
copyFileIfNeeded(log, LeveldesignWorldDirectory + "/" + file, installPath + "/" + os.path.basename(file))
|
||||||
|
for dir in CopyLeveldesignDfnSourceDirectories:
|
||||||
|
copyFilesRecursiveNoTreeIfNeeded(log, LeveldesignDfnDirectory + "/" + dir, installPath)
|
||||||
|
for file in CopyLeveldesignDfnSourceFiles:
|
||||||
|
copyFileIfNeeded(log, LeveldesignDfnDirectory + "/" + file, installPath + "/" + os.path.basename(file))
|
||||||
|
for dir in CopyDatabaseSourceDirectories:
|
||||||
|
copyFilesRecursiveNoTreeIfNeeded(log, DatabaseDirectory + "/" + dir, installPath)
|
||||||
|
for file in CopyDatabaseSourceFiles:
|
||||||
|
copyFileIfNeeded(log, DatabaseDirectory + "/" + file, installPath + "/" + os.path.basename(file))
|
||||||
|
|
||||||
|
try:
|
||||||
|
CopyWindowsExeDllCfgSourceFiles
|
||||||
|
except NameError:
|
||||||
|
CopyWindowsExeDllCfgSourceFiles = [ ]
|
||||||
|
for file in CopyWindowsExeDllCfgSourceFiles:
|
||||||
|
filePath = findFileMultiDir(log, WindowsExeDllCfgDirectories, file)
|
||||||
|
if (filePath != ""):
|
||||||
|
copyFileIfNeeded(log, filePath, installPath + "/" + os.path.basename(file))
|
||||||
|
|
||||||
|
printLog(log, "")
|
||||||
|
|
||||||
|
log.close()
|
||||||
|
|
||||||
|
|
||||||
|
# end of file
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue