-
Notifications
You must be signed in to change notification settings - Fork 26
/
PackageScript
118 lines (107 loc) · 2.99 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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# 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/gamedata/sigsegv',
# 'addons/sourcemod/configs',
'custom/sigsegv/resource',
'custom/sigsegv/scripts',
]
# 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)
# Include files
#CopyFiles('include', 'addons/sourcemod/scripting/include',
# [
# 'sample.inc',
# ]
#)
# GameData files
CopyFiles('gamedata/sigsegv', 'addons/sourcemod/gamedata/sigsegv',
[
'datamaps.txt',
'globals.txt',
'NextBotKnownEntity.txt',
'NextBotContextualQueryInterface.txt',
'NextBotEventResponderInterface.txt',
'NextBotInterface.txt',
'NextBotBodyInterface.txt',
'NextBotLocomotionInterface.txt',
'NextBotVisionInterface.txt',
'NextBotIntentionInterface.txt',
'NextBotBehavior.txt',
'NextBotPlayer.txt',
'NextBotPlayerBody.txt',
'NextBotPlayerLocomotion.txt',
'NextBotPath.txt',
'NextBotPathFollow.txt',
'NextBotChasePath.txt',
'NextBotManager.txt',
'population.txt',
'nav.txt',
'tfplayer.txt',
'tfbot.txt',
'tfbot_body.txt',
'tfbot_locomotion.txt',
'tfbot_vision.txt',
'tfbot_behavior.txt',
'misc.txt',
'debugoverlay.txt',
'client.txt',
'convars.txt',
]
)
# Config files
#CopyFiles('configs', 'addons/sourcemod/configs',
# [
# 'configfile.cfg',
# ]
#)
# Resource files
CopyFiles('resource', 'custom/sigsegv/resource',
[
'sigsegv_events.res',
]
)
# Script files
CopyFiles('scripts', 'custom/sigsegv/scripts',
[
'sigsegv_sound_overrides.txt',
]
)
# Copy binaries.
for cxx_task in Extension.extensions:
src = os.path.join('..', cxx_task.binary.path)
dst = os.path.join('addons', 'sourcemod', 'extensions', os.path.basename(cxx_task.binary.path))
builder.AddCommand(
inputs = [ cxx_task.binary ],
argv = [ 'cp', '--remove-destination', src, dst ],
outputs = [ dst ],
)
# builder.AddCopy(cxx_task.binary, folder_map['addons/sourcemod/extensions'])
# Copy libstrcompat (Linux only)
if builder.target.platform == 'linux':
src = os.path.join(builder.sourcePath, 'libs', 'strcompat', 'libstrcompat.so')
dst = os.path.join('addons', 'sourcemod', 'extensions', 'libstrcompat.so')
builder.AddCommand(
inputs = [ src ],
argv = [ 'cp', '--remove-destination', src, dst ],
outputs = [ dst ],
)