in builder/main.py [0:0]
def main():
args, spec = parse_args()
if args.build_dir != '.':
if not os.path.isdir(args.build_dir):
os.makedirs(args.build_dir)
os.chdir(args.build_dir)
print('Working in {}'.format(os.getcwd()))
if spec.target == current_os() and spec.arch == current_arch():
inspect_host(spec)
if args.command == 'inspect':
sys.exit(0)
# set up environment
env = Env({
'dryrun': args.dry_run,
'args': args,
'project': args.project,
'branch': args.branch,
'spec': spec,
'variant': args.variant,
})
Scripts.load()
if not env.project and args.command != 'mirror':
print('No project specified and no project found in current directory')
sys.exit(1)
print('Using Spec:')
print(' Host: {} {}'.format(spec.host, current_arch()))
print(' Target: {} {}'.format(spec.target, spec.arch))
print(' Compiler: {} {}'.format(spec.compiler, spec.compiler_version))
if not env.config.get('enabled', True):
raise Exception("The project is disabled in this configuration")
if env.config.get('needs_compiler', True):
env.toolchain = Toolchain(spec=env.spec)
if args.dump_config:
from pprint import pprint
print('Spec: ', end='')
pprint(env.spec)
print('Config:')
pprint(env.config)
# Run a build with a specific spec/toolchain
if args.command == 'build':
run_build(env)
# run a single action, usually local to a project
else:
run_action(args.command, env)