#!/usr/bin/env python3
import sys
import os

bindir = os.path.dirname(os.path.abspath(__file__))
igroot = os.path.dirname(bindir)
sitedir = os.path.join(igroot, 'site')
sys.path.insert(0, sitedir)

import argparse
from config_loader import ConfigLoader_register_parser
from metadata_parser import Metadata_register_parser
from layer_manager import LayerManager_register_parser
from env_resolver import EnvResolver_register_parser
from env_init import EnvInit_register_parser
from pipeline import Pipeline_register_parser

def main():
    parser = argparse.ArgumentParser(description="rpi-image-gen core engine helper")
    subparsers = parser.add_subparsers(title="subcommands", dest="command")
    subparsers.required = True

    # Register subcommands
    ConfigLoader_register_parser(subparsers)
    Metadata_register_parser(subparsers)
    LayerManager_register_parser(subparsers,root=igroot)
    EnvResolver_register_parser(subparsers)
    EnvInit_register_parser(subparsers,root=igroot)
    Pipeline_register_parser(subparsers,root=igroot)

    args, unknown = parser.parse_known_args()
    args._unknown = unknown
    args.func(args)


if __name__ == "__main__":
    main()
