dependabot-vcpkg 0.321.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 38707063662244331a728d6c97e056a2023c50320ab12effc358dadd9e08c60c
4
+ data.tar.gz: 3eb780be16ca540a85c21671f0d606e065c25ab123e4e2142c4448da8133895d
5
+ SHA512:
6
+ metadata.gz: 06dad0ca7ee38a208a615193689009df102d24a840fe69b46e313d73ec819271a3817ceea6af21957fbc2bb71533289b33ca9f7285150da04f3c3396e8938cc4
7
+ data.tar.gz: 6c9b880041357bd2094b6a0dbbe44533281a6c356546dd840b4a0c6a9186a56c0cd90aa61cedb1d7b4b5d3a5e4d98311c2f099f709092257d71fefba13affee2
@@ -0,0 +1,52 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ require "sorbet-runtime"
5
+
6
+ require "dependabot/file_fetchers"
7
+ require "dependabot/file_fetchers/base"
8
+
9
+ require "dependabot/vcpkg"
10
+
11
+ module Dependabot
12
+ module Vcpkg
13
+ class FileFetcher < Dependabot::FileFetchers::Base
14
+ extend T::Sig
15
+
16
+ sig { override.params(filenames: T::Array[String]).returns(T::Boolean) }
17
+ def self.required_files_in?(filenames)
18
+ filenames.include?(VCPKG_JSON_FILENAME)
19
+ end
20
+
21
+ sig { override.returns(String) }
22
+ def self.required_files_message
23
+ "Repo must contain a vcpkg.json file."
24
+ end
25
+
26
+ sig { override.returns(T::Array[Dependabot::DependencyFile]) }
27
+ def fetch_files
28
+ [vcpkg_manifest, vcpkg_configuration].compact
29
+ end
30
+
31
+ private
32
+
33
+ sig { returns(T.nilable(Dependabot::DependencyFile)) }
34
+ def vcpkg_manifest
35
+ @vcpkg_manifest ||= T.let(
36
+ fetch_file_if_present(VCPKG_JSON_FILENAME),
37
+ T.nilable(Dependabot::DependencyFile)
38
+ )
39
+ end
40
+
41
+ sig { returns(T.nilable(Dependabot::DependencyFile)) }
42
+ def vcpkg_configuration
43
+ @vcpkg_configuration ||= T.let(
44
+ fetch_file_if_present(VCPKG_CONFIGURATION_JSON_FILENAME),
45
+ T.nilable(Dependabot::DependencyFile)
46
+ )
47
+ end
48
+ end
49
+ end
50
+ end
51
+
52
+ Dependabot::FileFetchers.register("vcpkg", Dependabot::Vcpkg::FileFetcher)
@@ -0,0 +1,107 @@
1
+ # typed: strict
2
+ # frozen_string_literal: true
3
+
4
+ require "sorbet-runtime"
5
+
6
+ require "dependabot/dependency"
7
+ require "dependabot/file_parsers"
8
+ require "dependabot/file_parsers/base"
9
+
10
+ require "dependabot/vcpkg"
11
+ require "dependabot/vcpkg/language"
12
+ require "dependabot/vcpkg/package_manager"
13
+
14
+ module Dependabot
15
+ module Vcpkg
16
+ class FileParser < Dependabot::FileParsers::Base
17
+ extend T::Sig
18
+
19
+ require "dependabot/file_parsers/base/dependency_set"
20
+
21
+ sig { override.returns(T::Array[Dependabot::Dependency]) }
22
+ def parse
23
+ dependency_set = DependencySet.new
24
+
25
+ dependency_files.filter_map { |file| parse_dependency_file(file) }
26
+ .each { |dependency| dependency_set << dependency }
27
+
28
+ dependency_set.dependencies
29
+ end
30
+
31
+ sig { override.returns(Ecosystem) }
32
+ def ecosystem
33
+ @ecosystem ||= T.let(
34
+ Ecosystem.new(
35
+ name: ECOSYSTEM,
36
+ package_manager: package_manager,
37
+ language: language
38
+ ),
39
+ T.nilable(Ecosystem)
40
+ )
41
+ end
42
+
43
+ private
44
+
45
+ sig { override.void }
46
+ def check_required_files
47
+ return if dependency_files.any? { |f| f.name == VCPKG_JSON_FILENAME }
48
+
49
+ raise Dependabot::DependencyFileNotFound, VCPKG_JSON_FILENAME
50
+ end
51
+
52
+ sig { params(dependency_file: Dependabot::DependencyFile).returns(T.nilable(Dependabot::Dependency)) }
53
+ def parse_dependency_file(dependency_file)
54
+ return unless dependency_file.content
55
+
56
+ case dependency_file.name
57
+ when VCPKG_JSON_FILENAME then parse_vcpkg_json(dependency_file)
58
+ when VCPKG_CONFIGURATION_JSON_FILENAME then nil # TODO
59
+ end
60
+ end
61
+
62
+ sig { params(dependency_file: Dependabot::DependencyFile).returns(T.nilable(Dependabot::Dependency)) }
63
+ def parse_vcpkg_json(dependency_file)
64
+ contents = T.must(dependency_file.content)
65
+
66
+ parsed_json = JSON.parse(contents)
67
+ baseline = parsed_json["builtin-baseline"]
68
+ return unless baseline
69
+
70
+ build_baseline_dependency(baseline: baseline, file: dependency_file)
71
+ rescue JSON::ParserError
72
+ raise Dependabot::DependencyFileNotParseable, T.must(dependency_files.first).path
73
+ end
74
+
75
+ sig { params(baseline: String, file: Dependabot::DependencyFile).returns(Dependabot::Dependency) }
76
+ def build_baseline_dependency(baseline:, file:)
77
+ Dependabot::Dependency.new(
78
+ name: VCPKG_DEFAULT_BASELINE_DEPENDENCY_NAME,
79
+ version: baseline,
80
+ package_manager: "vcpkg",
81
+ requirements: [{
82
+ requirement: nil,
83
+ groups: [],
84
+ source: {
85
+ type: "git",
86
+ url: VCPKG_DEFAULT_BASELINE_URL,
87
+ ref: VCPKG_DEFAULT_BASELINE_DEFAULT_BRANCH
88
+ },
89
+ file: file.name
90
+ }]
91
+ )
92
+ end
93
+
94
+ sig { returns(Ecosystem::VersionManager) }
95
+ def package_manager
96
+ @package_manager ||= T.let(PackageManager.new, T.nilable(Dependabot::Vcpkg::PackageManager))
97
+ end
98
+
99
+ sig { returns(Ecosystem::VersionManager) }
100
+ def language
101
+ @language ||= T.let(Language.new, T.nilable(Dependabot::Vcpkg::Language))
102
+ end
103
+ end
104
+ end
105
+ end
106
+
107
+ Dependabot::FileParsers.register("vcpkg", Dependabot::Vcpkg::FileParser)
@@ -0,0 +1,79 @@
1
+ # typed: strict
2
+ # frozen_string_literal: true
3
+
4
+ require "json"
5
+ require "sorbet-runtime"
6
+
7
+ require "dependabot/file_updaters"
8
+ require "dependabot/file_updaters/base"
9
+ require "dependabot/vcpkg"
10
+
11
+ module Dependabot
12
+ module Vcpkg
13
+ class FileUpdater < Dependabot::FileUpdaters::Base
14
+ extend T::Sig
15
+
16
+ sig { override.returns(T::Array[Regexp]) }
17
+ def self.updated_files_regex
18
+ [
19
+ /#{VCPKG_JSON_FILENAME}$/o
20
+ ]
21
+ end
22
+
23
+ sig { override.returns(T::Array[Dependabot::DependencyFile]) }
24
+ def updated_dependency_files
25
+ vcpkg_json_file = get_original_file(VCPKG_JSON_FILENAME)
26
+ return [] unless vcpkg_json_file
27
+
28
+ return [] unless file_changed?(vcpkg_json_file)
29
+
30
+ [updated_file(
31
+ file: vcpkg_json_file,
32
+ content: updated_vcpkg_json_content(vcpkg_json_file)
33
+ )]
34
+ end
35
+
36
+ private
37
+
38
+ sig { override.void }
39
+ def check_required_files
40
+ return if get_original_file(VCPKG_JSON_FILENAME)
41
+
42
+ raise Dependabot::DependencyFileNotFound, VCPKG_JSON_FILENAME
43
+ end
44
+
45
+ sig { params(file: Dependabot::DependencyFile).returns(String) }
46
+ def updated_vcpkg_json_content(file)
47
+ content = T.must(file.content)
48
+
49
+ parsed_content = JSON.parse(content)
50
+
51
+ # Find the baseline dependency and update it
52
+ dependencies
53
+ .find { |dep| dep.name == VCPKG_DEFAULT_BASELINE_DEPENDENCY_NAME }
54
+ &.then { |dep| update_baseline_in_content(parsed_content, dep, file.name) }
55
+
56
+ JSON.pretty_generate(parsed_content)
57
+ rescue JSON::ParserError
58
+ raise Dependabot::DependencyFileNotParseable, file.path
59
+ end
60
+
61
+ sig { params(content: T::Hash[String, T.untyped], dependency: Dependabot::Dependency, filename: String).void }
62
+ def update_baseline_in_content(content, dependency, filename)
63
+ # Find the requirement for this specific file
64
+ requirement = dependency.requirements.find { |r| r[:file] == filename }
65
+ return unless requirement
66
+
67
+ # Extract and validate the new baseline
68
+ case requirement[:source]
69
+ in { ref: String => new_baseline }
70
+ content["builtin-baseline"] = new_baseline
71
+ else
72
+ # Skip if source doesn't have the expected structure
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
78
+
79
+ Dependabot::FileUpdaters.register("vcpkg", Dependabot::Vcpkg::FileUpdater)
@@ -0,0 +1,29 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ require "sorbet-runtime"
5
+
6
+ require "dependabot/ecosystem"
7
+
8
+ module Dependabot
9
+ module Vcpkg
10
+ class Language < Dependabot::Ecosystem::VersionManager
11
+ extend T::Sig
12
+
13
+ sig { void }
14
+ def initialize
15
+ super(name: LANGUAGE)
16
+ end
17
+
18
+ sig { override.returns(T::Boolean) }
19
+ def deprecated?
20
+ false
21
+ end
22
+
23
+ sig { override.returns(T::Boolean) }
24
+ def unsupported?
25
+ false
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,54 @@
1
+ # typed: strict
2
+ # frozen_string_literal: true
3
+
4
+ require "dependabot/metadata_finders"
5
+ require "dependabot/metadata_finders/base"
6
+
7
+ module Dependabot
8
+ module Vcpkg
9
+ class MetadataFinder < Dependabot::MetadataFinders::Base
10
+ extend T::Sig
11
+
12
+ sig { override.returns(T.nilable(String)) }
13
+ def homepage_url
14
+ # For individual VCPKG packages, try to find their specific homepage
15
+ # If the dependency has a specific source URL, use that
16
+ return source_url if source&.url != VCPKG_DEFAULT_BASELINE_URL.chomp(".git")
17
+
18
+ # For the main VCPKG baseline dependency, return the VCPKG homepage
19
+ if dependency.name == VCPKG_DEFAULT_BASELINE_DEPENDENCY_NAME
20
+ "https://vcpkg.io"
21
+ else
22
+ # For individual packages, try to construct their VCPKG page URL
23
+ "https://vcpkg.io/en/package/#{dependency.name}"
24
+ end
25
+ end
26
+
27
+ private
28
+
29
+ sig { override.returns(T.nilable(Dependabot::Source)) }
30
+ def look_up_source
31
+ # Check if this is a Git dependency with a specific source
32
+ info = dependency.requirements.filter_map { |r| r[:source] }.first
33
+
34
+ url =
35
+ if info.nil?
36
+ VCPKG_DEFAULT_BASELINE_URL
37
+ else
38
+ info[:url] || info.fetch("url", VCPKG_DEFAULT_BASELINE_URL)
39
+ end
40
+ Source.from_url(url)
41
+ end
42
+
43
+ sig { override.returns(T.nilable(String)) }
44
+ def suggested_changelog_url
45
+ # For the main VCPKG baseline dependency, point to releases
46
+ return unless dependency.name == VCPKG_DEFAULT_BASELINE_DEPENDENCY_NAME
47
+
48
+ "#{VCPKG_DEFAULT_BASELINE_URL}/releases"
49
+ end
50
+ end
51
+ end
52
+ end
53
+
54
+ Dependabot::MetadataFinders.register("vcpkg", Dependabot::Vcpkg::MetadataFinder)
@@ -0,0 +1,96 @@
1
+ # typed: strict
2
+ # frozen_string_literal: true
3
+
4
+ require "sorbet-runtime"
5
+ require "uri"
6
+
7
+ require "dependabot/git_commit_checker"
8
+ require "dependabot/package/package_details"
9
+ require "dependabot/registry_client"
10
+ require "dependabot/update_checkers/base"
11
+
12
+ require "dependabot/vcpkg/version"
13
+
14
+ module Dependabot
15
+ module Vcpkg
16
+ module Package
17
+ class PackageDetailsFetcher
18
+ extend T::Sig
19
+
20
+ sig do
21
+ params(
22
+ dependency: Dependabot::Dependency
23
+ ).void
24
+ end
25
+ def initialize(dependency:)
26
+ @dependency = dependency
27
+ end
28
+
29
+ sig { returns(Dependabot::Dependency) }
30
+ attr_reader :dependency
31
+
32
+ sig { returns(T.nilable(Dependabot::Package::PackageDetails)) }
33
+ def fetch
34
+ return unless git_dependency?
35
+
36
+ Dependabot::GitCommitChecker.new(
37
+ dependency: dependency,
38
+ credentials: []
39
+ ).local_tags_for_allowed_versions
40
+ .map { |tag_info| create_package_release(tag_info) }
41
+ .reverse
42
+ .uniq(&:version)
43
+ .then do |releases|
44
+ Dependabot::Package::PackageDetails.new(
45
+ dependency: dependency,
46
+ releases: releases
47
+ )
48
+ end
49
+ rescue Dependabot::GitDependenciesNotReachable
50
+ # Fallback to empty releases if git repo is not reachable
51
+ Dependabot::Package::PackageDetails.new(
52
+ dependency: dependency,
53
+ releases: []
54
+ )
55
+ end
56
+
57
+ private
58
+
59
+ sig { returns(T::Boolean) }
60
+ def git_dependency?
61
+ dependency.source_details(allowed_types: ["git"]) in { type: "git" }
62
+ end
63
+
64
+ sig { params(tag_info: T::Hash[Symbol, T.untyped]).returns(Dependabot::Package::PackageRelease) }
65
+ def create_package_release(tag_info)
66
+ Dependabot::Package::PackageRelease.new(
67
+ version: Version.new(tag_info.fetch(:tag)),
68
+ tag: tag_info.fetch(:tag),
69
+ url: dependency.source_details&.dig(:url),
70
+ released_at: extract_release_date(tag_info.fetch(:tag)),
71
+ details: {
72
+ "commit_sha" => tag_info.fetch(:commit_sha),
73
+ "tag_sha" => tag_info.fetch(:tag_sha)
74
+ }
75
+ )
76
+ end
77
+
78
+ sig { params(tag_name: String).returns(T.nilable(Time)) }
79
+ def extract_release_date(tag_name)
80
+ # Extract date from vcpkg tag format like "2025.06.13"
81
+ # Use pattern matching for cleaner validation and extraction
82
+ case tag_name.gsub(/^v?/, "")
83
+ in /^(?<year>\d{4})\.(?<month>\d{2})\.(?<day>\d{2})$/
84
+ begin
85
+ Time.new($~[:year].to_i, $~[:month].to_i, $~[:day].to_i)
86
+ rescue ArgumentError
87
+ nil
88
+ end
89
+ else
90
+ nil
91
+ end
92
+ end
93
+ end
94
+ end
95
+ end
96
+ end
@@ -0,0 +1,29 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ require "sorbet-runtime"
5
+
6
+ require "dependabot/ecosystem"
7
+
8
+ module Dependabot
9
+ module Vcpkg
10
+ class PackageManager < Dependabot::Ecosystem::VersionManager
11
+ extend T::Sig
12
+
13
+ sig { void }
14
+ def initialize
15
+ super(name: PACKAGE_MANAGER)
16
+ end
17
+
18
+ sig { override.returns(T::Boolean) }
19
+ def deprecated?
20
+ false
21
+ end
22
+
23
+ sig { override.returns(T::Boolean) }
24
+ def unsupported?
25
+ false
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,24 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ require "sorbet-runtime"
5
+
6
+ require "dependabot/requirement"
7
+ require "dependabot/utils"
8
+
9
+ module Dependabot
10
+ module Vcpkg
11
+ class Requirement < Dependabot::Requirement
12
+ extend T::Sig
13
+
14
+ # Vcpkg requirements are simple strings, so we can just return a single
15
+ # requirement object for the given string.
16
+ sig { override.params(requirement_string: T.nilable(String)).returns(T::Array[Dependabot::Requirement]) }
17
+ def self.requirements_array(requirement_string)
18
+ [new(requirement_string)]
19
+ end
20
+ end
21
+ end
22
+ end
23
+
24
+ Dependabot::Utils.register_requirement_class("vcpkg", Dependabot::Vcpkg::Requirement)
@@ -0,0 +1,43 @@
1
+ # typed: strict
2
+ # frozen_string_literal: true
3
+
4
+ require "sorbet-runtime"
5
+
6
+ require "dependabot/update_checkers/base"
7
+ require "dependabot/package/package_latest_version_finder"
8
+
9
+ require "dependabot/vcpkg/package/package_details_fetcher"
10
+ require "dependabot/vcpkg/requirement"
11
+ require "dependabot/vcpkg/version"
12
+
13
+ module Dependabot
14
+ module Vcpkg
15
+ class UpdateChecker < Dependabot::UpdateCheckers::Base
16
+ class LatestVersionFinder < Dependabot::Package::PackageLatestVersionFinder
17
+ extend T::Sig
18
+
19
+ sig { override.returns(T.nilable(Dependabot::Package::PackageDetails)) }
20
+ def package_details
21
+ @package_details ||= T.let(
22
+ Package::PackageDetailsFetcher.new(dependency: dependency).fetch,
23
+ T.nilable(Dependabot::Package::PackageDetails)
24
+ )
25
+ end
26
+
27
+ sig { returns(T.nilable(String)) }
28
+ def latest_tag
29
+ available_versions
30
+ &.then { |releases| filter_by_cooldown(releases) }
31
+ &.max_by(&:version)
32
+ &.details
33
+ &.[]("tag_sha")
34
+ end
35
+
36
+ private
37
+
38
+ sig { override.returns(T::Boolean) }
39
+ def cooldown_enabled? = Dependabot::Experiments.enabled?(:enable_cooldown_for_vcpkg)
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,79 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ require "sorbet-runtime"
5
+
6
+ require "dependabot/errors"
7
+ require "dependabot/update_checkers"
8
+ require "dependabot/update_checkers/base"
9
+
10
+ module Dependabot
11
+ module Vcpkg
12
+ class UpdateChecker < Dependabot::UpdateCheckers::Base
13
+ extend T::Sig
14
+
15
+ require_relative "update_checker/latest_version_finder"
16
+
17
+ sig { override.returns(T.nilable(T.any(String, Dependabot::Version))) }
18
+ def latest_version
19
+ @latest_version ||= T.let(
20
+ latest_version_finder.latest_tag,
21
+ T.nilable(T.any(String, Dependabot::Version))
22
+ )
23
+ end
24
+
25
+ # Vcpkg baselines don't have resolvability issues since we're dealing with
26
+ # git tags from the official repository, so these methods delegate to latest_version
27
+ sig { override.returns(T.nilable(T.any(String, Dependabot::Version))) }
28
+ def latest_resolvable_version = latest_version
29
+
30
+ sig { override.returns(T.nilable(T.any(String, Dependabot::Version))) }
31
+ def latest_resolvable_version_with_no_unlock = latest_version
32
+
33
+ sig { override.returns(T::Array[T::Hash[Symbol, T.untyped]]) }
34
+ def updated_requirements
35
+ return dependency.requirements unless latest_version
36
+
37
+ dependency.requirements.filter_map do |requirement|
38
+ source = T.cast(requirement[:source], T.nilable(T::Hash[Symbol, T.untyped]))
39
+
40
+ if source
41
+ requirement.merge(source: source.merge(ref: latest_version.to_s))
42
+ else
43
+ requirement
44
+ end
45
+ end
46
+ end
47
+
48
+ private
49
+
50
+ # Vcpkg doesn't support full unlocking since dependencies are tracked via baselines
51
+ sig { override.returns(T::Boolean) }
52
+ def latest_version_resolvable_with_full_unlock? = false
53
+
54
+ sig { override.returns(T::Array[Dependabot::Dependency]) }
55
+ def updated_dependencies_after_full_unlock
56
+ raise NotImplementedError, "Vcpkg doesn't support full unlock operations"
57
+ end
58
+
59
+ sig { returns(LatestVersionFinder) }
60
+ def latest_version_finder
61
+ @latest_version_finder ||= T.let(
62
+ LatestVersionFinder.new(
63
+ dependency: dependency,
64
+ dependency_files: dependency_files,
65
+ credentials: credentials,
66
+ ignored_versions: ignored_versions,
67
+ security_advisories: security_advisories,
68
+ cooldown_options: update_cooldown,
69
+ raise_on_ignored: raise_on_ignored,
70
+ options: options
71
+ ),
72
+ T.nilable(LatestVersionFinder)
73
+ )
74
+ end
75
+ end
76
+ end
77
+ end
78
+
79
+ Dependabot::UpdateCheckers.register("vcpkg", Dependabot::Vcpkg::UpdateChecker)
@@ -0,0 +1,16 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ require "sorbet-runtime"
5
+
6
+ require "dependabot/utils"
7
+ require "dependabot/version"
8
+
9
+ module Dependabot
10
+ module Vcpkg
11
+ class Version < Dependabot::Version
12
+ end
13
+ end
14
+ end
15
+
16
+ Dependabot::Utils.register_version_class("vcpkg", Dependabot::Vcpkg::Version)
@@ -0,0 +1,43 @@
1
+ # typed: strong
2
+ # frozen_string_literal: true
3
+
4
+ # These all need to be required so the various classes can be registered in a
5
+ # lookup table of package manager names to concrete classes.
6
+ require "dependabot/vcpkg/language"
7
+ require "dependabot/vcpkg/package_manager"
8
+ require "dependabot/vcpkg/file_fetcher"
9
+ require "dependabot/vcpkg/file_parser"
10
+ require "dependabot/vcpkg/update_checker"
11
+ require "dependabot/vcpkg/file_updater"
12
+ require "dependabot/vcpkg/metadata_finder"
13
+ require "dependabot/vcpkg/requirement"
14
+ require "dependabot/vcpkg/version"
15
+
16
+ require "dependabot/pull_request_creator/labeler"
17
+ Dependabot::PullRequestCreator::Labeler
18
+ .register_label_details("vcpkg", name: "vcpkg_package_manager", colour: "512BD4")
19
+
20
+ require "dependabot/dependency"
21
+ Dependabot::Dependency.register_production_check("vcpkg", ->(_) { true })
22
+
23
+ module Dependabot
24
+ module Vcpkg
25
+ ECOSYSTEM = "vcpkg"
26
+
27
+ PACKAGE_MANAGER = "vcpkg"
28
+
29
+ LANGUAGE = "cpp"
30
+
31
+ # See: https://learn.microsoft.com/vcpkg/reference/vcpkg-json
32
+ VCPKG_JSON_FILENAME = "vcpkg.json"
33
+
34
+ # See: https://learn.microsoft.com/vcpkg/reference/vcpkg-configuration-json
35
+ VCPKG_CONFIGURATION_JSON_FILENAME = "vcpkg-configuration.json"
36
+
37
+ VCPKG_DEFAULT_BASELINE_DEPENDENCY_NAME = "github.com/microsoft/vcpkg"
38
+
39
+ VCPKG_DEFAULT_BASELINE_URL = "https://github.com/microsoft/vcpkg.git"
40
+
41
+ VCPKG_DEFAULT_BASELINE_DEFAULT_BRANCH = "master"
42
+ end
43
+ end
metadata ADDED
@@ -0,0 +1,277 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dependabot-vcpkg
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.321.2
5
+ platform: ruby
6
+ authors:
7
+ - Dependabot
8
+ bindir: bin
9
+ cert_chain: []
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: dependabot-common
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - '='
17
+ - !ruby/object:Gem::Version
18
+ version: 0.321.2
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - '='
24
+ - !ruby/object:Gem::Version
25
+ version: 0.321.2
26
+ - !ruby/object:Gem::Dependency
27
+ name: debug
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '1.9'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '1.9'
40
+ - !ruby/object:Gem::Dependency
41
+ name: gpgme
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '2.0'
47
+ type: :development
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '2.0'
54
+ - !ruby/object:Gem::Dependency
55
+ name: rake
56
+ requirement: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '13.2'
61
+ type: :development
62
+ prerelease: false
63
+ version_requirements: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '13.2'
68
+ - !ruby/object:Gem::Dependency
69
+ name: rspec
70
+ requirement: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '3.12'
75
+ type: :development
76
+ prerelease: false
77
+ version_requirements: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '3.12'
82
+ - !ruby/object:Gem::Dependency
83
+ name: rspec-its
84
+ requirement: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '1.3'
89
+ type: :development
90
+ prerelease: false
91
+ version_requirements: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '1.3'
96
+ - !ruby/object:Gem::Dependency
97
+ name: rspec-sorbet
98
+ requirement: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '1.9'
103
+ type: :development
104
+ prerelease: false
105
+ version_requirements: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '1.9'
110
+ - !ruby/object:Gem::Dependency
111
+ name: rubocop
112
+ requirement: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '1.67'
117
+ type: :development
118
+ prerelease: false
119
+ version_requirements: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '1.67'
124
+ - !ruby/object:Gem::Dependency
125
+ name: rubocop-performance
126
+ requirement: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '1.22'
131
+ type: :development
132
+ prerelease: false
133
+ version_requirements: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '1.22'
138
+ - !ruby/object:Gem::Dependency
139
+ name: rubocop-rspec
140
+ requirement: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '2.29'
145
+ type: :development
146
+ prerelease: false
147
+ version_requirements: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: '2.29'
152
+ - !ruby/object:Gem::Dependency
153
+ name: rubocop-sorbet
154
+ requirement: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: '0.8'
159
+ type: :development
160
+ prerelease: false
161
+ version_requirements: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - "~>"
164
+ - !ruby/object:Gem::Version
165
+ version: '0.8'
166
+ - !ruby/object:Gem::Dependency
167
+ name: simplecov
168
+ requirement: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - "~>"
171
+ - !ruby/object:Gem::Version
172
+ version: '0.22'
173
+ type: :development
174
+ prerelease: false
175
+ version_requirements: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - "~>"
178
+ - !ruby/object:Gem::Version
179
+ version: '0.22'
180
+ - !ruby/object:Gem::Dependency
181
+ name: turbo_tests
182
+ requirement: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - "~>"
185
+ - !ruby/object:Gem::Version
186
+ version: '2.2'
187
+ type: :development
188
+ prerelease: false
189
+ version_requirements: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - "~>"
192
+ - !ruby/object:Gem::Version
193
+ version: '2.2'
194
+ - !ruby/object:Gem::Dependency
195
+ name: vcr
196
+ requirement: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - "~>"
199
+ - !ruby/object:Gem::Version
200
+ version: '6.1'
201
+ type: :development
202
+ prerelease: false
203
+ version_requirements: !ruby/object:Gem::Requirement
204
+ requirements:
205
+ - - "~>"
206
+ - !ruby/object:Gem::Version
207
+ version: '6.1'
208
+ - !ruby/object:Gem::Dependency
209
+ name: webmock
210
+ requirement: !ruby/object:Gem::Requirement
211
+ requirements:
212
+ - - "~>"
213
+ - !ruby/object:Gem::Version
214
+ version: '3.18'
215
+ type: :development
216
+ prerelease: false
217
+ version_requirements: !ruby/object:Gem::Requirement
218
+ requirements:
219
+ - - "~>"
220
+ - !ruby/object:Gem::Version
221
+ version: '3.18'
222
+ - !ruby/object:Gem::Dependency
223
+ name: webrick
224
+ requirement: !ruby/object:Gem::Requirement
225
+ requirements:
226
+ - - "~>"
227
+ - !ruby/object:Gem::Version
228
+ version: '1.9'
229
+ type: :development
230
+ prerelease: false
231
+ version_requirements: !ruby/object:Gem::Requirement
232
+ requirements:
233
+ - - "~>"
234
+ - !ruby/object:Gem::Version
235
+ version: '1.9'
236
+ description: dependabot-vcpkg provides support for managing VCPKG projects via Dependabot.
237
+ email: opensource@github.com
238
+ executables: []
239
+ extensions: []
240
+ extra_rdoc_files: []
241
+ files:
242
+ - lib/dependabot/vcpkg.rb
243
+ - lib/dependabot/vcpkg/file_fetcher.rb
244
+ - lib/dependabot/vcpkg/file_parser.rb
245
+ - lib/dependabot/vcpkg/file_updater.rb
246
+ - lib/dependabot/vcpkg/language.rb
247
+ - lib/dependabot/vcpkg/metadata_finder.rb
248
+ - lib/dependabot/vcpkg/package/package_details_fetcher.rb
249
+ - lib/dependabot/vcpkg/package_manager.rb
250
+ - lib/dependabot/vcpkg/requirement.rb
251
+ - lib/dependabot/vcpkg/update_checker.rb
252
+ - lib/dependabot/vcpkg/update_checker/latest_version_finder.rb
253
+ - lib/dependabot/vcpkg/version.rb
254
+ homepage: https://github.com/dependabot/dependabot-core
255
+ licenses:
256
+ - MIT
257
+ metadata:
258
+ bug_tracker_uri: https://github.com/dependabot/dependabot-core/issues
259
+ changelog_uri: https://github.com/dependabot/dependabot-core/releases/tag/v0.321.2
260
+ rdoc_options: []
261
+ require_paths:
262
+ - lib
263
+ required_ruby_version: !ruby/object:Gem::Requirement
264
+ requirements:
265
+ - - ">="
266
+ - !ruby/object:Gem::Version
267
+ version: 3.3.0
268
+ required_rubygems_version: !ruby/object:Gem::Requirement
269
+ requirements:
270
+ - - ">="
271
+ - !ruby/object:Gem::Version
272
+ version: 3.3.0
273
+ requirements: []
274
+ rubygems_version: 3.6.9
275
+ specification_version: 4
276
+ summary: Provides Dependabot support for the VCPKG package manager.
277
+ test_files: []