-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
PackageScript
92 lines (80 loc) · 2.18 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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# 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/scripting',
'addons/sourcemod/scripting/include',
'addons/sourcemod/gamedata',
#'addons/sourcemod/configs',
'addons/sourcemod/plugins',
'addons/sourcemod/translations',
'cfg',
'cfg/nyxtools',
'cfg/nyxtools/prop',
]
# 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)
# Plugin files
CopyFiles('scripting', 'addons/sourcemod/scripting',
[
'nyxtools.sp',
'nyxtools_cheats.sp',
'nyxtools_ent.sp',
'nyxtools_event.sp',
'nyxtools_l4d2.sp',
'nyxtools_tf2.sp'
]
)
# Include files
CopyFiles('scripting/include', 'addons/sourcemod/scripting/include',
[
'nyxtools.inc',
'nyxtools_cheats.inc',
'nyxtools_l4d2.inc',
'nyxtools_tf2.inc',
'nyxtools_version.inc'
]
)
# GameData files
CopyFiles('gamedata', 'addons/sourcemod/gamedata',
[
'nyxtools.l4d2.txt',
'nyxtools.tf2.txt'
]
)
# Translation files
CopyFiles('translations', 'addons/sourcemod/translations',
[
'nyxtools.phrases.txt',
]
)
# Config Files
#CopyFiles('configs', 'addons/sourcemod/configs',
# [ 'configfile.cfg',
# 'otherconfig.cfg,
# ]
#)
# Copy binaries.
for cxx_task in Extension.extensions:
builder.AddCopy(cxx_task.binary, folder_map['addons/sourcemod/extensions'])
for smx_file in Extension.smx_files:
smx_entry = Extension.smx_files[smx_file]
builder.AddCopy(smx_entry, folder_map['addons/sourcemod/plugins'])
for header in Extension.generated_headers:
if 'nyxtools_version_auto.inc' in header.path:
builder.AddCopy(header, folder_map['addons/sourcemod/scripting/include'])