cocoapods-whitelist 0.2.1 → 0.3.0
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6da1231f35d7f1c52238b04c2768d659be74cd24d77e47dbfc01d412b78fdb96
|
4
|
+
data.tar.gz: b26d0408060bc95c389c13cca463ba0ae53c40c0fe2cf406e064018cc2640ee6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cdeea15ed4860699ba65725fb5088c7c9072e0cf1fb1c9719855ebc0c6bfe9451aad0069422a886788f5bf35e6d12d4837eefd2d4d86d823d42db644fc80dcac
|
7
|
+
data.tar.gz: 5ea2bdfc77748180a2e0dc4fb0053d932edcaec433ce821a2abd39e269f451119ac4f94682257c2d214e814f0b4d6767adea628230987c3fec398d34f3546574
|
data/Gemfile
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
require 'open-uri'
|
2
|
+
require 'json'
|
2
3
|
require_relative '../client/whitelist_resolver'
|
4
|
+
require_relative '../model/validation_excluded'
|
3
5
|
|
4
6
|
POD_NAME_REGEX = /^([^\/]+)(?:\/.*)*$/
|
5
7
|
POD_BASE_REGEX_POSITION = 0
|
@@ -42,6 +44,7 @@ module Pod
|
|
42
44
|
def run
|
43
45
|
prepare_outfile
|
44
46
|
whitelist = WhitelistResolver.instance.get_whitelist(@whitelist_url)
|
47
|
+
load_excluded()
|
45
48
|
specifications = get_podspec_specifications
|
46
49
|
|
47
50
|
if specifications.empty?
|
@@ -50,7 +53,10 @@ module Pod
|
|
50
53
|
end
|
51
54
|
|
52
55
|
specifications.map do |specification|
|
53
|
-
|
56
|
+
unless @excluded_list.one? {|excluded| excluded.name == specification.name }
|
57
|
+
Pod::UI.notice "#{specification.name} validating"
|
58
|
+
validate_dependencies(JSON.parse(specification.to_json), whitelist)
|
59
|
+
end
|
54
60
|
end
|
55
61
|
|
56
62
|
show_result_message
|
@@ -157,6 +163,21 @@ module Pod
|
|
157
163
|
FileUtils.mkdir_p(File.dirname(@outfile))
|
158
164
|
end
|
159
165
|
end
|
166
|
+
## Load a list of pods excluded from the validations, wrapped in ValidationExcluded.
|
167
|
+
def load_excluded
|
168
|
+
path = File.expand_path("../../exclude/excluded.json", __FILE__)
|
169
|
+
Pod::UI.notice "Path for excluded list is @:#{path}"
|
170
|
+
file = File.read(path)
|
171
|
+
@excluded_list = parse_excluded(file)
|
172
|
+
@excluded_list_loaded = true
|
173
|
+
end
|
174
|
+
## Aux function to populate the ValidationExcluded models from the JSON data.
|
175
|
+
def parse_excluded(list)
|
176
|
+
json = JSON.parse(list)
|
177
|
+
return json.map { |excluded|
|
178
|
+
ValidationExcluded.new(excluded['name'], excluded['rules'])
|
179
|
+
}
|
180
|
+
end
|
160
181
|
|
161
182
|
end
|
162
183
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
## Defines the structure for a pod excluding validations.
|
2
|
+
# @name matches the name of the pod name/ the specification filename excluding the extension.
|
3
|
+
class ValidationExcluded
|
4
|
+
attr_accessor :name
|
5
|
+
attr_accessor :excluded_rules
|
6
|
+
|
7
|
+
def initialize(name, excluding)
|
8
|
+
@name = name
|
9
|
+
@excluded_rules = excluding
|
10
|
+
end
|
11
|
+
|
12
|
+
def excludes(rule)
|
13
|
+
return true
|
14
|
+
end
|
15
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocoapods-whitelist
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mobile Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-03-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -58,12 +58,14 @@ files:
|
|
58
58
|
- lib/cocoapods-whitelist/client/whitelist_resolver.rb
|
59
59
|
- lib/cocoapods-whitelist/command.rb
|
60
60
|
- lib/cocoapods-whitelist/command/whitelist.rb
|
61
|
+
- lib/cocoapods-whitelist/exclude/excluded.json
|
61
62
|
- lib/cocoapods-whitelist/gem_version.rb
|
62
63
|
- lib/cocoapods-whitelist/helpers/source_helper.rb
|
63
64
|
- lib/cocoapods-whitelist/hook.rb
|
64
65
|
- lib/cocoapods-whitelist/hook/resolver.rb
|
65
66
|
- lib/cocoapods-whitelist/model/allowed_dependency.rb
|
66
67
|
- lib/cocoapods-whitelist/model/sources.rb
|
68
|
+
- lib/cocoapods-whitelist/model/validation_excluded.rb
|
67
69
|
- lib/cocoapods-whitelist/validator/source_validator.rb
|
68
70
|
- lib/cocoapods_plugin.rb
|
69
71
|
- spec/mocks/bad_name.podspec
|
@@ -112,7 +114,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
112
114
|
- !ruby/object:Gem::Version
|
113
115
|
version: '0'
|
114
116
|
requirements: []
|
115
|
-
rubygems_version: 3.
|
117
|
+
rubygems_version: 3.2.3
|
116
118
|
signing_key:
|
117
119
|
specification_version: 4
|
118
120
|
summary: A longer description of cocoapods-whitelist.
|