dependency_checker 1.0.1 → 1.0.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 +4 -4
- data/README.md +3 -0
- data/bin/dependency-checker +20 -8
- data/lib/dependency_checker/metadata_checker.rb +14 -0
- data/lib/dependency_checker/runner.rb +6 -2
- data/lib/dependency_checker/version.rb +1 -1
- metadata +10 -9
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 79a4284f0fa84b9fbae522c47bc63b806b4806ded5f5d3d4d2d273504fbadf94
|
|
4
|
+
data.tar.gz: 3235d404eb2c14c0d05e56611c7f7dd8525623989b05501952c8b8ca708d64ef
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 355d20059ecdad7f41134505fe4785758ef35e0c1610865c48c48a908fdca0dae49fe4e0a6fd4fdcdbd87b7c7d589306dc270985cc4a4284e6d003243d480765
|
|
7
|
+
data.tar.gz: 786cf7645ac33bede20ab1f158fd2a354d96e7eb2450daf5163c717d4b62872f7a5ce20f918848308bdf3aec1555f470e6078d9c70b76e747f1aea91df9ee179
|
data/README.md
CHANGED
data/bin/dependency-checker
CHANGED
|
@@ -7,19 +7,23 @@ require 'json'
|
|
|
7
7
|
|
|
8
8
|
options = {}
|
|
9
9
|
OptionParser.new do |opts|
|
|
10
|
-
opts.on('-o module,version', '--override module,version', Array,
|
|
10
|
+
opts.on('-o module,version', '--override module,version', Array,
|
|
11
|
+
'Forge name of module and semantic version to override') do |override|
|
|
11
12
|
options[:override] = override
|
|
12
13
|
end
|
|
13
14
|
|
|
14
|
-
opts.on('-c', '--current',
|
|
15
|
+
opts.on('-c', '--current',
|
|
16
|
+
'Extract override version from metadata.json inside current working directory') do |current_override|
|
|
15
17
|
options[:current_override] = current_override
|
|
16
18
|
end
|
|
17
19
|
|
|
18
|
-
opts.on('-n', '--namespace namespace',
|
|
20
|
+
opts.on('-n', '--namespace namespace',
|
|
21
|
+
'Check all modules in a given namespace (filter with endorsements).') do |namespace|
|
|
19
22
|
options[:namespace] = namespace
|
|
20
23
|
end
|
|
21
24
|
|
|
22
|
-
opts.on('--endorsement endorsement',
|
|
25
|
+
opts.on('--endorsement endorsement',
|
|
26
|
+
'Filter a namespace search by endorsement (supported/approved/partner).') do |endorsement|
|
|
23
27
|
raise 'You may only filter by one endorsement at a time' if options[:endorsement]
|
|
24
28
|
|
|
25
29
|
options[:endorsement] = endorsement
|
|
@@ -43,11 +47,13 @@ OptionParser.new do |opts|
|
|
|
43
47
|
options[:endorsement] = 'partner'
|
|
44
48
|
end
|
|
45
49
|
|
|
46
|
-
opts.on('--ft forge_token', '--forge-token forge_token',
|
|
50
|
+
opts.on('--ft forge_token', '--forge-token forge_token',
|
|
51
|
+
'The API token to authenticate the Forge connection with') do |forge_token|
|
|
47
52
|
options[:forge_token] = forge_token
|
|
48
53
|
end
|
|
49
54
|
|
|
50
|
-
opts.on('--fh forge_hostname', '--forge-hostname forge_hostname',
|
|
55
|
+
opts.on('--fh forge_hostname', '--forge-hostname forge_hostname',
|
|
56
|
+
'Specify a specific Forge hostname to overwrite the default of https://forgeapi.puppet.com') do |forge_hostname|
|
|
51
57
|
raise 'Forge host must be specified in the format https://your-own-api.url/' unless forge_hostname.start_with? 'http'
|
|
52
58
|
|
|
53
59
|
options[:forge_hostname] = forge_hostname
|
|
@@ -64,7 +70,10 @@ OptionParser.new do |opts|
|
|
|
64
70
|
end.parse!
|
|
65
71
|
|
|
66
72
|
# Raise error if both :override and :current_override are specified
|
|
67
|
-
|
|
73
|
+
if options[:override] && options[:current_override]
|
|
74
|
+
raise OptionParser::InvalidOption,
|
|
75
|
+
'You can not select both override and current override options'
|
|
76
|
+
end
|
|
68
77
|
|
|
69
78
|
# If :current_override is specified, retrieve name and version of module in current working directory
|
|
70
79
|
if options[:current_override]
|
|
@@ -74,7 +83,10 @@ if options[:current_override]
|
|
|
74
83
|
|
|
75
84
|
override_check = metadata_json.is_a?(Hash) && !metadata_json.empty?
|
|
76
85
|
options[:override] = [module_name, module_version] if override_check
|
|
77
|
-
|
|
86
|
+
unless override_check
|
|
87
|
+
raise OptionParser::InvalidOption,
|
|
88
|
+
'Unable to find local metadata.json in current working directory'
|
|
89
|
+
end
|
|
78
90
|
end
|
|
79
91
|
|
|
80
92
|
# Default :verbose to false
|
|
@@ -4,6 +4,20 @@ require 'semantic_puppet'
|
|
|
4
4
|
|
|
5
5
|
# Checks dependencies of passed in metadata and performs checks to verify constraints
|
|
6
6
|
module DependencyChecker
|
|
7
|
+
# Class for checking metadata in the dependency checker.
|
|
8
|
+
#
|
|
9
|
+
# The MetadataChecker class is responsible for performing checks on metadata
|
|
10
|
+
# files in the context of the dependency checker. It includes methods for
|
|
11
|
+
# verifying metadata information such as module name, version, and dependencies.
|
|
12
|
+
#
|
|
13
|
+
# Example usage:
|
|
14
|
+
#
|
|
15
|
+
# checker = DependencyChecker::MetadataChecker.new
|
|
16
|
+
# result = checker.check_metadata(metadata_hash)
|
|
17
|
+
# puts result.message if result.failed?
|
|
18
|
+
#
|
|
19
|
+
# @author Ewoud Kohl van Wijngaarden <ewoud@kohlvanwijngaarden.nl>
|
|
20
|
+
# @since 1.0.0
|
|
7
21
|
class MetadataChecker
|
|
8
22
|
def initialize(metadata, forge, updated_module, updated_module_version)
|
|
9
23
|
@metadata = metadata
|
|
@@ -35,13 +35,17 @@ module DependencyChecker
|
|
|
35
35
|
@updated_module, @updated_module_version = override
|
|
36
36
|
|
|
37
37
|
raise '*Error:* Pass an override in the form `--override module,version`' unless override.size == 2
|
|
38
|
-
|
|
38
|
+
unless check_module_exists(@updated_module)
|
|
39
|
+
raise "*Error:* Could not find *#{@updated_module}* on Puppet Forge! Ensure updated_module argument is valid."
|
|
40
|
+
end
|
|
39
41
|
unless SemanticPuppet::Version.valid?(@updated_module_version)
|
|
40
42
|
raise "*Error:* Verify semantic versioning syntax *#{@updated_module_version}* of updated_module_version argument."
|
|
41
43
|
end
|
|
42
44
|
|
|
43
45
|
puts "Overriding *#{@updated_module}* version with *#{@updated_module_version}*\n\n"
|
|
44
|
-
|
|
46
|
+
return unless @forge.check_module_deprecated(@updated_module)
|
|
47
|
+
|
|
48
|
+
puts "The module you are comparing against *#{@updated_module}* is *deprecated*.\n\n"
|
|
45
49
|
end
|
|
46
50
|
|
|
47
51
|
def run
|
metadata
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dependency_checker
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ewoud Kohl van Wijngaarden
|
|
8
8
|
- Puppet
|
|
9
|
-
autorequire:
|
|
9
|
+
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2026-05-07 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: parallel
|
|
@@ -34,7 +34,7 @@ dependencies:
|
|
|
34
34
|
version: '2.2'
|
|
35
35
|
- - "<"
|
|
36
36
|
- !ruby/object:Gem::Version
|
|
37
|
-
version: '
|
|
37
|
+
version: '7.0'
|
|
38
38
|
type: :runtime
|
|
39
39
|
prerelease: false
|
|
40
40
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -44,7 +44,7 @@ dependencies:
|
|
|
44
44
|
version: '2.2'
|
|
45
45
|
- - "<"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
47
|
+
version: '7.0'
|
|
48
48
|
- !ruby/object:Gem::Dependency
|
|
49
49
|
name: rake
|
|
50
50
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -96,7 +96,8 @@ licenses:
|
|
|
96
96
|
- MIT
|
|
97
97
|
metadata:
|
|
98
98
|
source_code_uri: https://github.com/puppetlabs/dependency_checker
|
|
99
|
-
|
|
99
|
+
rubygems_mfa_required: 'true'
|
|
100
|
+
post_install_message:
|
|
100
101
|
rdoc_options: []
|
|
101
102
|
require_paths:
|
|
102
103
|
- lib
|
|
@@ -104,15 +105,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
104
105
|
requirements:
|
|
105
106
|
- - ">="
|
|
106
107
|
- !ruby/object:Gem::Version
|
|
107
|
-
version:
|
|
108
|
+
version: 3.1.0
|
|
108
109
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
109
110
|
requirements:
|
|
110
111
|
- - ">="
|
|
111
112
|
- !ruby/object:Gem::Version
|
|
112
113
|
version: '0'
|
|
113
114
|
requirements: []
|
|
114
|
-
rubygems_version: 3.
|
|
115
|
-
signing_key:
|
|
115
|
+
rubygems_version: 3.4.19
|
|
116
|
+
signing_key:
|
|
116
117
|
specification_version: 4
|
|
117
118
|
summary: Check your Puppet metadata dependencies
|
|
118
119
|
test_files: []
|