aboutsummaryrefslogtreecommitdiffstats
path: root/jython-tosca-parser/src/main/resources/Lib/site-packages/pip/commands/bundle.py
blob: 52b4f194127540eb903db647f1153b0e6cdc483f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
from pip.locations import build_prefix, src_prefix
from pip.util import display_path, backup_dir
from pip.log import logger
from pip.exceptions import InstallationError
from pip.commands.install import InstallCommand


class BundleCommand(InstallCommand):
    """Create pybundles (archives containing multiple packages)."""
    name = 'bundle'
    usage = """
      %prog [options] <bundle name>.pybundle <package>..."""
    summary = 'DEPRECATED. Create pybundles.'
    bundle = True

    def __init__(self, *args, **kw):
        super(BundleCommand, self).__init__(*args, **kw)
        # bundle uses different default source and build dirs
        build_opt = self.parser.get_option("--build")
        build_opt.default = backup_dir(build_prefix, '-bundle')
        src_opt = self.parser.get_option("--src")
        src_opt.default = backup_dir(src_prefix, '-bundle')
        self.parser.set_defaults(**{
            src_opt.dest: src_opt.default,
            build_opt.dest: build_opt.default,
        })

    def run(self, options, args):

        logger.deprecated(
            '1.6',
            "DEPRECATION: 'pip bundle' and support for installing from "
            "*.pybundle files is deprecated. "
            "See https://github.com/pypa/pip/pull/1046"
        )

        if not args:
            raise InstallationError('You must give a bundle filename')
        # We have to get everything when creating a bundle:
        options.ignore_installed = True
        logger.notify(
            'Putting temporary build files in %s and source/develop files in '
            '%s' % (
                display_path(options.build_dir),
                display_path(options.src_dir)
            )
        )
        self.bundle_filename = args.pop(0)
        requirement_set = super(BundleCommand, self).run(options, args)
        return requirement_set