示例#1
0
    def run(self, args):
        opts = setup_build_options(args)

        manifest = load_project(opts, args.project)

        ctx = context_from_host_tuple(facebook_internal=args.facebook_internal)
        projects = manifests_in_dependency_order(opts, manifest, ctx)
        manifests_by_name = {m.name: m for m in projects}

        # Accumulate the install directories so that the build steps
        # can find their dep installation
        install_dirs = []

        for m in projects:
            ctx = dict(ctx)
            if args.enable_tests and m.name == manifest.name:
                ctx["test"] = "on"
            else:
                ctx["test"] = "off"
            fetcher = m.create_fetcher(opts, ctx)

            dirs = opts.compute_dirs(m, fetcher, manifests_by_name, ctx)
            inst_dir = dirs["inst_dir"]

            install_dirs.append(inst_dir)

            if m == manifest:
                dep_munger = create_dyn_dep_munger(opts, install_dirs)
                dep_munger.process_deps(args.destdir,
                                        args.final_install_prefix)
示例#2
0
    def run_project_cmd(self, args, loader, manifest):
        projects = loader.manifests_in_dependency_order()

        # Accumulate the install directories so that the build steps
        # can find their dep installation
        install_dirs = []

        for m in projects:
            inst_dir = loader.get_project_install_dir(m)
            install_dirs.append(inst_dir)

            if m == manifest:
                dep_munger = create_dyn_dep_munger(loader.build_opts, install_dirs)
                dep_munger.process_deps(args.destdir, args.final_install_prefix)
示例#3
0
    def run_project_cmd(self, args, loader, manifest):
        projects = loader.manifests_in_dependency_order()

        # Accumulate the install directories so that the build steps
        # can find their dep installation
        install_dirs = []

        for m in projects:
            inst_dir = loader.get_project_install_dir_respecting_install_prefix(m)
            install_dirs.append(inst_dir)

            if m == manifest:
                dep_munger = create_dyn_dep_munger(
                    loader.build_opts, install_dirs, args.strip
                )
                if dep_munger is None:
                    print(f"dynamic dependency fixups not supported on {sys.platform}")
                else:
                    dep_munger.process_deps(args.destdir, args.final_install_prefix)
示例#4
0
    def run(self, args):
        opts = setup_build_options(args)
        ctx_gen = opts.get_context_generator(facebook_internal=args.facebook_internal)
        if args.enable_tests:
            ctx_gen.set_value_for_project(args.project, "test", "on")

        loader = ManifestLoader(opts, ctx_gen)
        manifest = loader.load_manifest(args.project)

        projects = loader.manifests_in_dependency_order()

        # Accumulate the install directories so that the build steps
        # can find their dep installation
        install_dirs = []

        for m in projects:
            inst_dir = loader.get_project_install_dir(m)
            install_dirs.append(inst_dir)

            if m == manifest:
                dep_munger = create_dyn_dep_munger(opts, install_dirs)
                dep_munger.process_deps(args.destdir, args.final_install_prefix)