forked from accelerator74/Cleaner
-
Notifications
You must be signed in to change notification settings - Fork 0
/
PackageScript
46 lines (34 loc) · 1.21 KB
/
PackageScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import os.path
import typing
if typing.TYPE_CHECKING:
from ambuild2.frontend.v2_2.context import BuildContext
builder: BuildContext
# This is where the files will be output to
# package is the default
# noinspection PyUnboundLocalVariable
builder.SetBuildFolder('package')
# Add any folders you need to this list
folder_list = [
'addons',
'addons/sourcemod/extensions',
'addons/sourcemod/configs',
]
# 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)
# Copy extension
for cxx_task in build_info.extensions:
builder.AddCopy(cxx_task.binary, folder_map['addons/sourcemod/extensions'])
CopyFiles('sourcemod/extensions', 'addons/sourcemod/extensions', ['cleaner.autoload'])
# Config file
CopyFiles('sourcemod/configs', 'addons/sourcemod/configs', ['cleaner.cfg'])