#!/usr/bin/python3
import argparse
import os
import subprocess
import sys

parser = argparse.ArgumentParser(description='Bumps versions for a new Cinnamon release.')
parser.add_argument('-c', '--codename', required=True, help='a Mint codename')
parser.add_argument('-v', '--version', required=True, help='a version number')
args = parser.parse_args()


with open('build-order') as build_order_file:
    projects = [line.strip() for line in build_order_file if not '#' in line]

for project in projects:
    os.chdir(project)
    print("")
    print("    ", project)
    print("----------------")

    for filename in ["setup.py", "meson.build"]:
        if os.path.exists(filename):
            subprocess.call("sed -i '/version/ {/dependency/! s/[0-9].[0-9].[0-9]/%s/}' %s" % (args.version, filename), shell=True)

    for filename in ["PKG-INFO"]:
        if os.path.exists(filename):
            subprocess.call(["sed", "-i", "/Version:/s/[0-9].[0-9].[0-9]/%s/" % args.version, filename])

    subprocess.call(["dch", "--distribution", args.codename, "-v", args.version,  args.version], stdout=None, stderr=None)
    os.chdir("..")
    print("----------------")
