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')
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())
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())