def _resolve_version(self): self._check_in_index() range_ = dbt.semver.reduce_versions(*self.version) available = registry.get_available_versions(self.package) # for now, pick a version and then recurse. later on, # we'll probably want to traverse multiple options # so we can match packages. not going to make a difference # right now. target = dbt.semver.resolve_to_specific_version(range_, available) if not target: dbt.exceptions.package_version_not_found(self.package, range_, available) self.version = target
def resolved(self) -> RegistryPinnedPackage: self._check_in_index() try: range_ = semver.reduce_versions(*self.versions) except VersionsNotCompatibleException as e: new_msg = ('Version error for package {}: {}'.format(self.name, e)) raise DependencyException(new_msg) from e available = registry.get_available_versions(self.package) # for now, pick a version and then recurse. later on, # we'll probably want to traverse multiple options # so we can match packages. not going to make a difference # right now. target = semver.resolve_to_specific_version(range_, available) if not target: package_version_not_found(self.package, range_, available) return RegistryPinnedPackage(package=self.package, version=target)