forked from NathanKell/RealSolarSystem
-
Notifications
You must be signed in to change notification settings - Fork 92
/
makeMeta.py
59 lines (52 loc) · 1.6 KB
/
makeMeta.py
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
import os, argparse, sys, json, glob
class DefaultHelpParser(argparse.ArgumentParser):
def error(self, message):
sys.stderr.write('error: %s\n' % message)
self.print_help()
sys.exit(2)
HELP_DESC = "Creates neccesary metadata files"
parser = DefaultHelpParser(description=HELP_DESC)
parser.add_argument('tag', metavar='tag', type=str, nargs=1,
help='tag of release (e.g. 0.4.6.0')
args = parser.parse_args()
if not args.tag or len(args.tag) < 1:
print("ERROR: git tag must be specified and must be in the format major.minor.patch.build-configuration.e.g. 0.4.6.0")
sys.exit(2)
version = args.tag[0]
if version.startswith('v'):
version = version.split('v')[1]
major = int(version.split(".")[0])
minor = int(version.split(".")[1])
patch = int(version.split(".")[2])
build = int(version.split(".")[3])
# create AVC .version file
avc = {
"NAME" : "RealSolarSystem",
"URL" : "https://github.com/KSP-RO/RealSolarSystem/raw/master/GameData/RealSolarSystem/RealSolarSystem.version",
"DOWNLOAD" : "https://github.com/KSP-RO/RealSolarSystem/releases/download/{}/RealSolarSystem_{}.zip".format(args.tag[0],args.tag[0]),
"HOMEPAGE" : "https://github.com/KSP-RO/RealSolarSystem/",
"VERSION" :
{
"MAJOR" : major,
"MINOR" : minor,
"PATCH" : patch,
"BUILD" : build
},
"KSP_VERSION" : {
"MAJOR": "1",
"MINOR": "12",
"PATCH": "3"
},
"KSP_VERSION_MIN": {
"MAJOR": "1",
"MINOR": "12",
"PATCH": "0"
},
"KSP_VERSION_MAX": {
"MAJOR": "1",
"MINOR": "12",
"PATCH": "99"
}
}
with open("RealSolarSystem.version", "w") as f:
f.write(json.dumps(avc, indent=4))