Esempio n. 1
0
    def main(self, *, context: CommandContext):  # noqa: D102
        print('Bundling workspace...')
        upgrade_deps_graph = context.args.upgrade
        install_base = os.path.abspath(context.args.install_base)
        merge_install = context.args.merge_install
        bundle_base = os.path.abspath(context.args.bundle_base)
        bundle_version = context.args.bundle_version

        if not os.path.exists(install_base):
            raise RuntimeError(
                'You must build your workspace before bundling it.')

        check_and_mark_install_layout(
            install_base,
            merge_install=merge_install)

        self._path_contex = PathContext(install_base,
                                        bundle_base,
                                        bundle_version)
        self._installer_manager = InstallerManager(self._path_contex)

        dependencies_changed = self._manage_dependencies(
            context,
            self._path_contex,
            upgrade_deps_graph)

        if context.args.bundle_version == 2:
            generate_archive_v2(self._path_contex,
                                [self._path_contex.installer_metadata_path()],
                                dependencies_changed)
        else:
            generate_archive_v1(self._path_contex)

        return 0
Esempio n. 2
0
    def main(self, *, context):  # noqa: D102
        print('Bundling workspace...')
        use_cached_deps = context.args.use_cached_dependencies
        install_base = os.path.abspath(context.args.install_base)
        bundle_base = os.path.abspath(context.args.bundle_base)
        installer_metadata_path = os.path.join(
            bundle_base, 'installer_metadata.json')

        if not os.path.exists(install_base):
            raise RuntimeError(
                'You must build your workspace before bundling it.')

        if use_cached_deps \
           and not os.path.exists(bundle_base) \
           and not os.path.exists(installer_metadata_path):
            raise RuntimeError(
                'You must bundle your workspace once before using the '
                '--use-cached-dependencies flag.')

        dependencies_changed = False

        staging_path = os.path.join(bundle_base, 'bundle_staging')
        if not use_cached_deps:
            dependencies_changed = self._manage_dependencies(
                context, install_base, bundle_base,
                staging_path, installer_metadata_path)

        if context.args.bundle_version == 2:
            generate_archive_v2(install_base, staging_path, bundle_base,
                                [installer_metadata_path],
                                dependencies_changed)
        else:
            generate_archive_v1(install_base, staging_path, bundle_base)

        return 0
Esempio n. 3
0
    def main(self, *, context):  # noqa: D102
        print('Bundling workspace...')
        upgrade_deps_graph = context.args.upgrade
        install_base = os.path.abspath(context.args.install_base)
        bundle_base = os.path.abspath(context.args.bundle_base)

        if not os.path.exists(install_base):
            raise RuntimeError(
                'You must build your workspace before bundling it.')
        path_context = PathContext(bundle_base, install_base)

        dependencies_changed = self._manage_dependencies(
            context, path_context, upgrade_deps_graph)

        if context.args.bundle_version == 2:
            generate_archive_v2(path_context,
                                [path_context.installer_metadata_path()],
                                dependencies_changed)
        else:
            generate_archive_v1(path_context)

        return 0