summaryrefslogtreecommitdiff
path: root/branding/scripts/generate-vendor-make
blob: 60dc180e2b636ef12de1c96eb5268ead507b19ca (plain)
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
#!/usr/bin/env python3

# Generates a simplified file with variables that
# can be imported from the main vendorized Makefile.

import os
import sys

import configparser

from provider import getDefaultProvider
from provider import getProviderData


VERSION = os.environ.get('VERSION', 'unknown')

TEMPLATE = """
# Variables for the build of {applicationName}.
# Generated automatically. Do not edit.
APPNAME := {applicationName}
BINNAME := {binaryName}
VERSION := {version}
"""


def writeOutput(data, outfile):

    configString = TEMPLATE.format(
        binaryName=data['binaryName'],
        applicationName=data['applicationName'],
        version=data['version'],
    )

    with open(outfile, 'w') as outf:
        outf.write(configString)


if __name__ == "__main__":
    VENDOR_PATH = os.environ.get('VENDOR_PATH')
    configFile = os.path.join(VENDOR_PATH, 'vendor.conf')
    config = configparser.ConfigParser()
    config.read(configFile)
    provider = getDefaultProvider(config)
    data = getProviderData(provider, config)

    if len(sys.argv) != 2:
        print('Usage: generate-vendor-make <output_file>')
        sys.exit(1)

    outputf = sys.argv[1]
    data['version'] = VERSION

    writeOutput(data, outputf)