mirror of
https://github.com/asherkin/accelerator.git
synced 2025-12-06 18:08:30 +00:00
* Squashed commit of the following:
commit c7efce2d6722b08e2ea719ce1a39f80747502f77
Author: caxanga334 <10157643+caxanga334@users.noreply.github.com>
Date: Sat Nov 22 22:35:24 2025 -0300
Fix Error
commit e8acf9f505aa26b007c5837d4075f649099f43c3
Author: caxanga334 <10157643+caxanga334@users.noreply.github.com>
Date: Sat Nov 22 22:23:57 2025 -0300
Fix Possible Memory Leak
commit 51e718922726c074c0e7a45f9d13c6a51e4b97eb
Author: caxanga334 <10157643+caxanga334@users.noreply.github.com>
Date: Sat Nov 22 22:13:55 2025 -0300
Add Upload Forward
* Update accelerator.inc
* Fix: Missing forwards.cpp in AMBuilder
* Refactor API
Forward notifies plugins when the extension is done uploading.
Plugins can fetch data from uploaded crashes via natives.
Added example plugin.
* Implement Requested Changes
* Fix Error
* Update Example Plugin
Removed timer example.
Added example of how to handle plugin late loads.
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') |