def __init__()

in ftl/common/builder.py [0:0]


    def __init__(self, ctx, cache_namespace, args, descriptor_files):
        super(RuntimeBase, self).__init__(ctx)
        self._cache_namespace = cache_namespace
        if args.entrypoint:
            args.entrypoint = args.entrypoint.split(" ")
            if args.sh_c_prefix:
                args.entrypoint = ['bash', '-c', " ".join(args.entrypoint)]
        if args.exposed_ports:
            args.exposed_ports = args.exposed_ports.split(",")
        args.cache_key_version = "%s %s" % (args.cache_key_version,
                                            args.cache_salt)
        self._args = args
        self._base_name = docker_name.Tag(self._args.base, strict=False)
        self._base_creds = docker_creds.DefaultKeychain.Resolve(
            self._base_name)
        self._target_image = docker_name.Tag(self._args.name, strict=False)
        self._target_creds = docker_creds.DefaultKeychain.Resolve(
            self._target_image)
        self._transport = transport_pool.Http(
            httplib2.Http, size=constants.THREADS)
        if args.tar_base_image_path:
            self._base_image = docker_image.FromTarball(
                args.tar_base_image_path)
        else:
            self._base_image = docker_image.FromRegistry(
                self._base_name, self._base_creds, self._transport)
        self._base_image.__enter__()
        cache_repo = args.cache_repository
        if not cache_repo:
            cache_repo = self._target_image.as_repository()
        if args.ttl:
            ttl = args.ttl
        else:
            ttl = ftl_util.get_ttl(descriptor_files, ctx)
        self._cache = cache.Registry(
            repo=cache_repo,
            namespace=self._cache_namespace,
            creds=self._target_creds,
            transport=self._transport,
            ttl=ttl,
            threads=constants.THREADS,
            mount=[self._base_name],
            use_global=args.global_cache,
            export_stats=args.export_cache_stats,
            export_location=args.builder_output_path,
            should_cache=args.cache,
            should_upload=args.upload)
        self._descriptor_files = descriptor_files