mirror of
https://github.com/asherkin/accelerator.git
synced 2025-12-06 18:08:30 +00:00
Forward notifies plugins when the extension is done uploading. Plugins can fetch data from uploaded crashes via natives. Added example plugin.
69 lines
2.0 KiB
Python
69 lines
2.0 KiB
Python
# vim: set ts=8 sts=2 sw=2 tw=99 et ft=python:
|
|
import os
|
|
|
|
# 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/gamedata',
|
|
'addons/sourcemod/configs',
|
|
'addons/sourcemod/scripting',
|
|
'addons/sourcemod/scripting/include',
|
|
]
|
|
|
|
# Are we build a x86_64 extension ?
|
|
for task in Accelerator.extension:
|
|
if task.target.arch == 'x86_64':
|
|
folder_list += ['addons/sourcemod/extensions/x64']
|
|
break
|
|
|
|
# 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)
|
|
|
|
# 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)
|
|
builder.AddCopy(source_path, dest_entry)
|
|
def CopyFile(src, dest):
|
|
dest_entry = folder_map[dest]
|
|
source_path = os.path.join(builder.sourcePath, src)
|
|
builder.AddCopy(source_path, dest_entry)
|
|
def CopyDirContent(src, dest):
|
|
dest_entry = folder_map[dest]
|
|
for item in os.scandir(os.path.join(builder.sourcePath, src)):
|
|
if item.is_file():
|
|
builder.AddCopy(item.path, dest_entry)
|
|
|
|
# Include files
|
|
CopyFiles('scripting/include', 'addons/sourcemod/scripting/include',
|
|
[
|
|
'accelerator.inc',
|
|
]
|
|
)
|
|
|
|
# Example files
|
|
CopyFiles('scripting', 'addons/sourcemod/scripting',
|
|
[
|
|
'accelerator_example.sp',
|
|
]
|
|
)
|
|
|
|
# Copy binaries.
|
|
for task in Accelerator.extension:
|
|
if task.target.arch == 'x86_64':
|
|
builder.AddCopy(task.binary, folder_map['addons/sourcemod/extensions/x64'])
|
|
else:
|
|
builder.AddCopy(task.binary, folder_map['addons/sourcemod/extensions'])
|
|
|
|
CopyDirContent('gamedata', 'addons/sourcemod/gamedata')
|
|
CopyFile('extension/accelerator.autoload', 'addons/sourcemod/extensions') |