-
Notifications
You must be signed in to change notification settings - Fork 32
/
makeMeta.py
56 lines (49 loc) · 1.5 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
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" : "TestFlight",
"URL" : "http://ksp-avc.cybutek.net/version.php?id=118",
"DOWNLOAD" : "https://github.com/KSP-RO/TestFlight/releases/download/{}/TestFlight-{}.zip".format(args.tag[0],args.tag[0]),
"CHANGE_LOG_URL" : "https://raw.githubusercontent.com/KSP-RO/TestFlight/master/RELEASE_NOTES_RAW.txt",
"VERSION" :
{
"MAJOR" : major,
"MINOR" : minor,
"PATCH" : patch,
"BUILD" : build
},
"KSP_VERSION_MIN" :
{
"MAJOR" : 1,
"MINOR" : 12,
"PATCH" : 0
},
"KSP_VERSION_MAX" :
{
"MAJOR" : 1,
"MINOR" : 12,
"PATCH" : 99
}
}
with open("TestFlight.version", "w") as f:
f.write(json.dumps(avc, indent=4))