mirror of
https://github.com/truenas/scale-build.git
synced 2025-12-20 02:49:28 +00:00
43 lines
1.3 KiB
Python
43 lines
1.3 KiB
Python
import argparse
|
|
import logging
|
|
import sys
|
|
|
|
from scale_build.checkout import checkout_sources
|
|
from scale_build.epoch import check_epoch
|
|
from scale_build.package import build_packages
|
|
from scale_build.preflight import preflight_check
|
|
from scale_build.update_image import build_update_image
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
def setup_logging():
|
|
logging.basicConfig(level=logging.DEBUG, format='[%(asctime)s] %(message)s')
|
|
handler = logging.StreamHandler(sys.stderr)
|
|
handler.setLevel(logging.DEBUG)
|
|
handler.setFormatter(logging.Formatter('[%(asctime)s] %(message)s'))
|
|
logger.addHandler(handler)
|
|
|
|
|
|
def main():
|
|
setup_logging()
|
|
preflight_check()
|
|
parser = argparse.ArgumentParser(prog='scale-build')
|
|
subparsers = parser.add_subparsers(help='sub-command help', dest='action')
|
|
|
|
subparsers.add_parser('checkout', help='Checkout TrueNAS Scale repositories')
|
|
subparsers.add_parser('packages', help='Build TrueNAS Scale packages')
|
|
subparsers.add_parser('update', help='Create TrueNAS Scale update image')
|
|
|
|
args = parser.parse_args()
|
|
if args.action == 'checkout':
|
|
check_epoch()
|
|
checkout_sources()
|
|
elif args.action == 'packages':
|
|
check_epoch()
|
|
build_packages()
|
|
elif args.action == 'update':
|
|
build_update_image()
|
|
else:
|
|
parser.print_help()
|