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