def main_build(dir_path, output_dir='.', platform=cc_platform, verbose=True):
    print('platform: %s' % platform)
    try:
        osname, unused_arch = platform.split('-')
    except ValueError:
        sys.exit("Error: invalid platform string '%s'" % platform)

    if osname in ('linux', 'osx'):
        if sys.platform == 'win32':
            sys.exit("Error: Cannot create .sh installer on Windows platform.")
        from constructor.shar import create
    elif osname == 'win':
        if sys.platform != 'win32':
            sys.exit("Error: Cannot create Windows .exe installer on "
                     "non-Windows platform.")
        from constructor.winexe import create
    else:
        sys.exit("Error: invalid OS name '%s'" % osname)

    construct_path = join(dir_path, 'construct.yaml')
    info = construct.parse(construct_path, platform)
    construct.verify(info)
    info['_platform'] = platform
    info['_download_dir'] = join(expanduser('~'), '.conda', 'constructor',
                                 platform)
    if verbose:
        print('conda packages download: %s' % info['_download_dir'])

    for key in ('license_file', 'welcome_image', 'header_image', 'icon_image',
                'pre_install', 'post_install'):
        if key in info:
            info[key] = abspath(join(dir_path, info[key]))

    for key in 'specs', 'packages':
        if key not in info:
            continue
        if isinstance(info[key], str):
            info[key] = list(yield_lines(join(dir_path, info[key])))

    for key in 'channels', 'specs', 'exclude', 'packages':
        if info in key:
            # ensure strings in those lists are stripped
            info[key] = [line.strip() for line in info[key]]

    fcp.main(info, verbose=verbose)

    info['_outpath'] = join(output_dir, get_output_filename(info))
    create(info)
    print("Succussfully created '%(_outpath)s'." % info)
dataset/ETHPy150Open conda/constructor/constructor/main.py/main_build/swapped operands of `in`