def install_workspace(self, profile, workspace, remote_name, build_modes, update): loader = self.get_loader(profile) references = [ ConanFileReference(v, "root", "project", "develop") for v in workspace.root ] conanfile = loader.load_virtual(references) remote_proxy = self.get_proxy(remote_name=remote_name) graph_builder = self._get_graph_builder(loader, remote_proxy) graph_builder._workspace = workspace deps_graph = graph_builder.load_graph(conanfile, False, update) output = ScopedOutput(str("Workspace"), self._user_io.out) output.highlight("Installing...") print_graph(deps_graph, self._user_io.out) build_mode = BuildMode(build_modes, self._user_io.out) build_requires = BuildRequires(loader, graph_builder, self._registry) installer = ConanInstaller(self._client_cache, output, remote_proxy, build_mode, build_requires, recorder=self._recorder) installer._workspace = workspace installer.install(deps_graph, profile.build_requires, keep_build=False, update=update) build_mode.report_matches() workspace.generate()