feat: update sdks, builders, ci, proper secure data
This commit is contained in:
+36
-46
@@ -1,57 +1,47 @@
|
||||
# vim: set ts=8 sts=2 sw=2 tw=99 et ft=python:
|
||||
# vim: set ts=2 sw=2 tw=99 noet ft=python:
|
||||
import os
|
||||
import shutil
|
||||
import ambuild.osutil as osutil
|
||||
from ambuild.command import Command
|
||||
|
||||
# This is where the files will be output to
|
||||
# package is the default
|
||||
builder.SetBuildFolder('package')
|
||||
|
||||
# Add any folders you need to this list
|
||||
folder_list = [
|
||||
'addons/sourcemod/extensions',
|
||||
'addons/sourcemod/scripting/include',
|
||||
'addons/sourcemod/gamedata'
|
||||
]
|
||||
def CreateFolders(folders):
|
||||
dict = {}
|
||||
for folder in folders:
|
||||
path = os.path.normpath(folder)
|
||||
dict[folder] = builder.AddFolder(path)
|
||||
return dict
|
||||
|
||||
if 'x86_64' in SM.target_archs:
|
||||
folder_list.extend([
|
||||
'addons/sourcemod/extensions/x64',
|
||||
])
|
||||
def CopyFiles(src, dest, filter_ext=None):
|
||||
source_path = os.path.join(builder.sourcePath, src)
|
||||
if os.path.isfile(source_path):
|
||||
builder.AddCopy(source_path, dest)
|
||||
return
|
||||
for entry in os.listdir(source_path):
|
||||
entry_path = os.path.join(source_path, entry)
|
||||
if not os.path.isfile(entry_path):
|
||||
continue
|
||||
if filter_ext:
|
||||
_, ext = os.path.splitext(entry)
|
||||
if filter_ext != ext:
|
||||
continue
|
||||
builder.AddCopy(entry_path, dest)
|
||||
|
||||
# Create the distribution folder hierarchy.
|
||||
folder_map = {}
|
||||
for folder in folder_list:
|
||||
norm_folder = os.path.normpath(folder)
|
||||
folder_map[folder] = builder.AddFolder(norm_folder)
|
||||
|
||||
# Copy binaries.
|
||||
for cxx_task in SM.extensions:
|
||||
folders = CreateFolders(['addons/sourcemod/extensions', 'addons/sourcemod/extensions/x64', 'addons/sourcemod/gamedata', 'addons/sourcemod/scripting', 'addons/sourcemod/scripting/include'])
|
||||
|
||||
pdblog = open(os.path.join(builder.buildPath, 'pdblog.txt'), 'wt')
|
||||
for cxx_task in Extension.extensions:
|
||||
if cxx_task.target.arch == 'x86_64':
|
||||
builder.AddCopy(cxx_task.binary, folder_map['addons/sourcemod/extensions/x64'])
|
||||
builder.AddCopy(cxx_task.binary, folders['addons/sourcemod/extensions/x64'])
|
||||
else:
|
||||
builder.AddCopy(cxx_task.binary, folder_map['addons/sourcemod/extensions'])
|
||||
builder.AddCopy(cxx_task.binary, folders['addons/sourcemod/extensions'])
|
||||
pdblog.write(cxx_task.debug.path + '\n')
|
||||
pdblog.close()
|
||||
|
||||
# Do all straight-up file copies from the source tree.
|
||||
def CopyFiles(src, dest, files):
|
||||
if not dest:
|
||||
dest = src
|
||||
dest_entry = folder_map[dest]
|
||||
for source_file in files:
|
||||
source_path = os.path.join(builder.sourcePath, src, source_file)
|
||||
dest_path = os.path.join(dest_entry.path, source_file)
|
||||
if not os.path.isfile(str(dest_path)):
|
||||
builder.AddCopy(source_path, dest_entry)
|
||||
CopyFiles('addons/sourcemod/gamedata/a2sqcache.games.txt', folders['addons/sourcemod/gamedata'])
|
||||
CopyFiles('addons/sourcemod/scripting/include/a2sqcache.inc', folders['addons/sourcemod/scripting/include'])
|
||||
CopyFiles('addons/sourcemod/extensions/a2sqcache.autoload', folders['addons/sourcemod/extensions'])
|
||||
|
||||
# Gamedata (custom so updater doesn't replace it)
|
||||
CopyFiles('addons/sourcemod/gamedata', 'addons/sourcemod/gamedata',
|
||||
[ 'a2sqcache.games.txt' ]
|
||||
)
|
||||
|
||||
# Include file
|
||||
CopyFiles('addons/sourcemod/scripting/include', 'addons/sourcemod/scripting/include',
|
||||
[ 'a2sqcache.inc' ]
|
||||
)
|
||||
|
||||
# Autoload extension
|
||||
CopyFiles('addons/sourcemod/extensions', 'addons/sourcemod/extensions',
|
||||
[ 'a2sqcache.autoload' ]
|
||||
)
|
||||
debug_info = []
|
||||
Reference in New Issue
Block a user