Пример #1
0
 def test_dependency_resolution(self):
     package_config = PackageConfig.from_dict({
         'packages': [
             {
                 'package': 'fishtown-analytics-test/a',
                 'version': '>0.1.2'
             },
             {
                 'package': 'fishtown-analytics-test/b',
                 'version': '0.2.1'
             },
         ],
     })
     resolved = resolve_packages(package_config.packages, None)
     self.assertEqual(len(resolved), 2)
     self.assertEqual(resolved[0].name, 'fishtown-analytics-test/a')
     self.assertEqual(resolved[0].version, '0.1.3')
     self.assertEqual(resolved[1].name, 'fishtown-analytics-test/b')
     self.assertEqual(resolved[1].version, '0.2.1')
Пример #2
0
    def run(self):
        system.make_directory(self.config.modules_path)
        packages = self.config.packages.packages
        if not packages:
            logger.info('Warning: No packages were found in packages.yml')
            return

        with downloads_directory():
            final_deps = resolve_packages(packages, self.config)

            for package in final_deps:
                logger.info('Installing {}', package)
                package.install(self.config)
                logger.info('  Installed from {}\n',
                            package.nice_version_name())

                self.track_package_install(package_name=package.name,
                                           source_type=package.source_type(),
                                           version=package.get_version())
Пример #3
0
    def run(self):
        system.make_directory(self.config.modules_path)
        packages = self.config.packages.packages
        if not packages:
            logger.info('Warning: No packages were found in packages.yml')
            return

        with downloads_directory():
            final_deps = resolve_packages(packages, self.config)

            renderer = DbtProjectYamlRenderer(
                generate_target_context(self.config, self.config.cli_vars))

            for package in final_deps:
                logger.info('Installing {}', package)
                package.install(self.config, renderer)
                logger.info('  Installed from {}', package.nice_version_name())
                if package.get_subdirectory():
                    logger.info('   and subdirectory {}\n',
                                package.get_subdirectory())

                self.track_package_install(package_name=package.name,
                                           source_type=package.source_type(),
                                           version=package.get_version())