class Dependabot::Gradle::UpdateChecker::MultiDependencyUpdater
Attributes
credentials[R]
dependency[R]
dependency_files[R]
ignored_versions[R]
source_url[R]
target_version[R]
Public Class Methods
new(dependency:, dependency_files:, credentials:, target_version_details:, ignored_versions:, raise_on_ignored: false)
click to toggle source
# File lib/dependabot/gradle/update_checker/multi_dependency_updater.rb, line 13 def initialize(dependency:, dependency_files:, credentials:, target_version_details:, ignored_versions:, raise_on_ignored: false) @dependency = dependency @dependency_files = dependency_files @credentials = credentials @target_version = target_version_details&.fetch(:version) @source_url = target_version_details&.fetch(:source_url) @ignored_versions = ignored_versions @raise_on_ignored = raise_on_ignored end
Public Instance Methods
update_possible?()
click to toggle source
# File lib/dependabot/gradle/update_checker/multi_dependency_updater.rb, line 25 def update_possible? return false unless target_version @update_possible ||= dependencies_to_update.all? do |dep| VersionFinder.new( dependency: dep, dependency_files: dependency_files, credentials: credentials, ignored_versions: ignored_versions, raise_on_ignored: @raise_on_ignored, security_advisories: [] ).versions. map { |v| v.fetch(:version) }. include?(target_version) end end
updated_dependencies()
click to toggle source
# File lib/dependabot/gradle/update_checker/multi_dependency_updater.rb, line 43 def updated_dependencies raise "Update not possible!" unless update_possible? @updated_dependencies ||= dependencies_to_update.map do |dep| Dependency.new( name: dep.name, version: target_version.to_s, requirements: updated_requirements(dep), previous_version: dep.version, previous_requirements: dep.requirements, package_manager: dep.package_manager ) end end
Private Instance Methods
dependencies_to_update()
click to toggle source
# File lib/dependabot/gradle/update_checker/multi_dependency_updater.rb, line 64 def dependencies_to_update @dependencies_to_update ||= Gradle::FileParser.new( dependency_files: dependency_files, source: nil ).parse.select do |dep| dep.requirements.any? do |r| tmp_p_name = r.dig(:metadata, :property_name) tmp_dep_set = r.dig(:metadata, :dependency_set) next true if property_name && tmp_p_name == property_name dependency_set && tmp_dep_set == dependency_set end end end
dependency_set()
click to toggle source
# File lib/dependabot/gradle/update_checker/multi_dependency_updater.rb, line 86 def dependency_set @dependency_set ||= dependency.requirements. find { |r| r.dig(:metadata, :dependency_set) }&. dig(:metadata, :dependency_set) end
property_name()
click to toggle source
# File lib/dependabot/gradle/update_checker/multi_dependency_updater.rb, line 80 def property_name @property_name ||= dependency.requirements. find { |r| r.dig(:metadata, :property_name) }&. dig(:metadata, :property_name) end
updated_requirements(dep)
click to toggle source
# File lib/dependabot/gradle/update_checker/multi_dependency_updater.rb, line 92 def updated_requirements(dep) @updated_requirements ||= {} @updated_requirements[dep.name] ||= RequirementsUpdater.new( requirements: dep.requirements, latest_version: target_version.to_s, source_url: source_url, properties_to_update: [property_name].compact ).updated_requirements end