#!/usr/bin/env python3
# This script is used in the docker containers to preinstall
# all platformio libraries in the global storage

import configparser
import re
import subprocess
import sys

config = configparser.ConfigParser()
config.read(sys.argv[1])
libs = []
for line in config['common']['lib_deps'].splitlines():
    # Format: '1655@1.0.2  ; TinyGPSPlus (has name conflict)' (includes comment)
    m = re.search(r'([a-zA-Z0-9-_/]+@[0-9\.]+)', line)
    if m is None:
        continue
    libs.append(m.group(1))

subprocess.check_call(['platformio', 'lib', '-g', 'install', *libs])