cocoapods-whitelist 0.2.1 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8db09e9db31c86562ece1491930f2adccc7ed6db5297f63bfbfdfa59ec0eccbb
4
- data.tar.gz: 5df5e48ef9a8a3ed4e5bb870639cd91ed6e26d2c45409eb5ae83e47bfbdcb3a4
3
+ metadata.gz: ffc625c9e77a33e388bb3ab6aefa68a411c867566c5ce36b5940968379158392
4
+ data.tar.gz: cc94531be7b38d3083602ed904b1db8b5ff2a10fd754a2a231ee2a2cecbbbc3a
5
5
  SHA512:
6
- metadata.gz: caa0386ed5f8cfd44e1fadbce177bcdd941eb144b62a9bf4f772a38895e18c98fe6443b8bf116ae007fc97263313521000849256852c5d2ff902d7fc7be71443
7
- data.tar.gz: 4547337346ebf721b9814d740772a0a12ba3a86fb75fd461c43293c77a1f29cd103909e66d446fc99412c24e1b854b7c80d07eecfc4b235adc20574923574b03
6
+ metadata.gz: e0584e160d8a3d3882df0e6160ad4e6bd2618dda858b6bbe0bf29895dd65cfc664beff4984bf02dc8e5af66c5da53a37611bc23425575e57d4ef371154a6383b
7
+ data.tar.gz: f138505fea9899de8b1e5a91391071dc5b114f2520ffb4fa1f5a59ae2b01eed614db6320228ac72a967febfff5fae6beea0c0cb620b0188ac7306bcbbabba2cf
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 3.1.4
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 0.4.0
2
+ ### Changed
3
+ - Add "allows_granular_projects" flag to whitelist for support the projects specified
4
+
1
5
  ## 0.2.1
2
6
  ### Changed
3
7
  - Improve dependency injection message to inform the local source is being used.
data/Gemfile CHANGED
@@ -9,4 +9,5 @@ group :development do
9
9
  gem 'bacon'
10
10
  gem 'mocha-on-bacon'
11
11
  gem 'prettybacon'
12
+ gem 'json'
12
13
  end
data/Gemfile.lock CHANGED
@@ -1,112 +1,119 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cocoapods-whitelist (0.2.0)
4
+ cocoapods-whitelist (0.4.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
- CFPropertyList (3.0.3)
10
- activesupport (5.2.4.5)
9
+ CFPropertyList (3.0.6)
10
+ rexml
11
+ activesupport (6.1.7.6)
11
12
  concurrent-ruby (~> 1.0, >= 1.0.2)
12
- i18n (>= 0.7, < 2)
13
- minitest (~> 5.1)
14
- tzinfo (~> 1.1)
15
- addressable (2.7.0)
16
- public_suffix (>= 2.0.2, < 5.0)
13
+ i18n (>= 1.6, < 2)
14
+ minitest (>= 5.1)
15
+ tzinfo (~> 2.0)
16
+ zeitwerk (~> 2.3)
17
+ addressable (2.8.5)
18
+ public_suffix (>= 2.0.2, < 6.0)
17
19
  algoliasearch (1.27.5)
18
20
  httpclient (~> 2.8, >= 2.8.3)
19
21
  json (>= 1.5.1)
20
22
  atomos (0.1.3)
21
23
  bacon (1.2.0)
22
- claide (1.0.3)
23
- cocoapods (1.10.1)
24
- addressable (~> 2.6)
24
+ claide (1.1.0)
25
+ cocoapods (1.13.0)
26
+ addressable (~> 2.8)
25
27
  claide (>= 1.0.2, < 2.0)
26
- cocoapods-core (= 1.10.1)
28
+ cocoapods-core (= 1.13.0)
27
29
  cocoapods-deintegrate (>= 1.0.3, < 2.0)
28
- cocoapods-downloader (>= 1.4.0, < 2.0)
30
+ cocoapods-downloader (>= 1.6.0, < 2.0)
29
31
  cocoapods-plugins (>= 1.0.0, < 2.0)
30
32
  cocoapods-search (>= 1.0.0, < 2.0)
31
- cocoapods-trunk (>= 1.4.0, < 2.0)
33
+ cocoapods-trunk (>= 1.6.0, < 2.0)
32
34
  cocoapods-try (>= 1.1.0, < 2.0)
33
35
  colored2 (~> 3.1)
34
36
  escape (~> 0.0.4)
35
37
  fourflusher (>= 2.3.0, < 3.0)
36
38
  gh_inspector (~> 1.0)
37
- molinillo (~> 0.6.6)
39
+ molinillo (~> 0.8.0)
38
40
  nap (~> 1.0)
39
- ruby-macho (~> 1.4)
40
- xcodeproj (>= 1.19.0, < 2.0)
41
- cocoapods-core (1.10.1)
42
- activesupport (> 5.0, < 6)
43
- addressable (~> 2.6)
41
+ ruby-macho (>= 2.3.0, < 3.0)
42
+ xcodeproj (>= 1.23.0, < 2.0)
43
+ cocoapods-core (1.13.0)
44
+ activesupport (>= 5.0, < 8)
45
+ addressable (~> 2.8)
44
46
  algoliasearch (~> 1.0)
45
47
  concurrent-ruby (~> 1.1)
46
48
  fuzzy_match (~> 2.0.4)
47
49
  nap (~> 1.0)
48
50
  netrc (~> 0.11)
49
- public_suffix
51
+ public_suffix (~> 4.0)
50
52
  typhoeus (~> 1.0)
51
- cocoapods-deintegrate (1.0.4)
52
- cocoapods-downloader (1.4.0)
53
+ cocoapods-deintegrate (1.0.5)
54
+ cocoapods-downloader (1.6.3)
53
55
  cocoapods-plugins (1.0.0)
54
56
  nap
55
- cocoapods-search (1.0.0)
56
- cocoapods-trunk (1.5.0)
57
+ cocoapods-search (1.0.1)
58
+ cocoapods-trunk (1.6.0)
57
59
  nap (>= 0.8, < 2.0)
58
60
  netrc (~> 0.11)
59
61
  cocoapods-try (1.2.0)
60
62
  colored2 (3.1.2)
61
- concurrent-ruby (1.1.8)
63
+ concurrent-ruby (1.2.2)
62
64
  escape (0.0.4)
63
- ethon (0.12.0)
64
- ffi (>= 1.3.0)
65
- ffi (1.14.2)
65
+ ethon (0.16.0)
66
+ ffi (>= 1.15.0)
67
+ ffi (1.16.3)
66
68
  fourflusher (2.3.1)
67
69
  fuzzy_match (2.0.4)
68
70
  gh_inspector (1.1.3)
69
71
  httpclient (2.8.3)
70
- i18n (1.8.9)
72
+ i18n (1.14.1)
71
73
  concurrent-ruby (~> 1.0)
72
- json (2.5.1)
73
- minitest (5.14.4)
74
- mocha (1.12.0)
74
+ json (2.6.3)
75
+ minitest (5.20.0)
76
+ mocha (2.1.0)
77
+ ruby2_keywords (>= 0.0.5)
75
78
  mocha-on-bacon (0.2.3)
76
79
  mocha (>= 0.13.0)
77
- molinillo (0.6.6)
80
+ molinillo (0.8.0)
78
81
  nanaimo (0.3.0)
79
82
  nap (1.1.0)
80
83
  netrc (0.11.0)
81
84
  prettybacon (0.0.2)
82
85
  bacon (~> 1.2)
83
- public_suffix (4.0.6)
86
+ public_suffix (4.0.7)
84
87
  rake (12.3.3)
85
- ruby-macho (1.4.0)
86
- thread_safe (0.3.6)
88
+ rexml (3.2.6)
89
+ ruby-macho (2.5.1)
90
+ ruby2_keywords (0.0.5)
87
91
  typhoeus (1.4.0)
88
92
  ethon (>= 0.9.0)
89
- tzinfo (1.2.9)
90
- thread_safe (~> 0.1)
91
- xcodeproj (1.19.0)
93
+ tzinfo (2.0.6)
94
+ concurrent-ruby (~> 1.0)
95
+ xcodeproj (1.23.0)
92
96
  CFPropertyList (>= 2.3.3, < 4.0)
93
97
  atomos (~> 0.1.3)
94
98
  claide (>= 1.0.2, < 2.0)
95
99
  colored2 (~> 3.1)
96
100
  nanaimo (~> 0.3.0)
101
+ rexml (~> 3.2.4)
102
+ zeitwerk (2.6.12)
97
103
 
98
104
  PLATFORMS
99
- ruby
105
+ universal-darwin-22
100
106
 
101
107
  DEPENDENCIES
102
108
  bacon
103
109
  bundler (~> 2.0)
104
110
  cocoapods
105
111
  cocoapods-whitelist!
112
+ json
106
113
  mocha
107
114
  mocha-on-bacon
108
115
  prettybacon
109
116
  rake (~> 12.0)
110
117
 
111
118
  BUNDLED WITH
112
- 2.1.4
119
+ 2.4.22
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
10
10
  spec.email = ['mobile@mercadolibre.com']
11
11
  spec.description = %q{A short description of cocoapods-whitelist.}
12
12
  spec.summary = %q{A longer description of cocoapods-whitelist.}
13
- spec.homepage = 'https://github.com/mercadolibre/mobile-cocoapods_whitelist'
13
+ spec.homepage = 'https://github.com/melisource/mobile-cocoapods_whitelist'
14
14
  spec.license = 'MIT'
15
15
 
16
16
  spec.files = `git ls-files`.split($/)
@@ -1,4 +1,5 @@
1
1
  require 'singleton'
2
+ require 'open-uri'
2
3
  require 'cocoapods-whitelist/model/allowed_dependency'
3
4
 
4
5
  class WhitelistResolver
@@ -26,7 +27,7 @@ class WhitelistResolver
26
27
 
27
28
  def load_whitelist
28
29
  begin
29
- open(@whitelist_url) { |io|
30
+ URI.open(@whitelist_url) { |io|
30
31
  buffer = io.read
31
32
  @whitelist = parse_whitelist(buffer)
32
33
  @whitelist_loaded = true
@@ -40,7 +41,14 @@ class WhitelistResolver
40
41
  def parse_whitelist(raw_whitelist)
41
42
  json = JSON.parse(raw_whitelist)
42
43
  return json["whitelist"].map { |dependencyJson|
43
- AllowedDependency.new(dependencyJson["name"], dependencyJson["version"], dependencyJson["expire"], dependencyJson["source"], dependencyJson["target"])
44
+ AllowedDependency.new(
45
+ dependencyJson["name"],
46
+ dependencyJson["version"],
47
+ dependencyJson["expire"],
48
+ dependencyJson["source"],
49
+ dependencyJson["target"],
50
+ dependencyJson["allows_granular_projects"]
51
+ )
44
52
  }
45
53
  end
46
54
  end
@@ -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
- validate_dependencies(JSON.parse(specification.to_json), whitelist)
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
@@ -87,13 +93,27 @@ module Pod
87
93
  name.start_with?(item.name.match(POD_NAME_REGEX).captures[POD_BASE_REGEX_POSITION]) && (!item.version || versions.grep(/#{item.version}/).any?) && (item.target == 'production')
88
94
  }
89
95
 
90
- # Checks if any of the allowed dependencies are expired, if so, fail with error
91
96
  allowedDependency.each { |dependency|
97
+
98
+ # Checks the granularity
99
+ if dependency.allows_granular_projects != nil
100
+ granular_projects = dependency.allows_granular_projects.select { |granular_project|
101
+ granular_project == pod_name
102
+ }
103
+
104
+ if granular_projects.empty?
105
+ not_allowed.push("#{name} Reason: Granular dependency not allowed for this project.")
106
+ next
107
+ end
108
+ end
109
+
110
+ # Checks if any of the allowed dependencies are expired, if so, fail with error
92
111
  if dependency.expire?
93
112
  not_allowed.push("#{name} Reason: Expired version. Please check the whitelist.")
94
113
  end
95
- }
96
114
 
115
+ }
116
+
97
117
  if allowedDependency.empty?
98
118
  not_allowed.push("#{name} (#{versions.join(", ")}) Reason: Specified version hasn't match any whitelisted version or Pod name is not valid")
99
119
  next
@@ -158,6 +178,23 @@ module Pod
158
178
  end
159
179
  end
160
180
 
181
+ ## Load a list of pods excluded from the validations, wrapped in ValidationExcluded.
182
+ def load_excluded
183
+ path = File.expand_path("../../exclude/excluded.json", __FILE__)
184
+ Pod::UI.notice "Path for excluded list is @:#{path}"
185
+ file = File.read(path)
186
+ @excluded_list = parse_excluded(file)
187
+ @excluded_list_loaded = true
188
+ end
189
+
190
+ ## Aux function to populate the ValidationExcluded models from the JSON data.
191
+ def parse_excluded(list)
192
+ json = JSON.parse(list)
193
+ return json.map { |excluded|
194
+ ValidationExcluded.new(excluded['name'], excluded['rules'])
195
+ }
196
+ end
197
+
161
198
  end
162
199
  end
163
200
  end
@@ -0,0 +1,5 @@
1
+ [
2
+ { "name": "EverestLibs",
3
+ "rules": []
4
+ }
5
+ ]
@@ -1,3 +1,3 @@
1
1
  module CocoapodsWhitelist
2
- VERSION = "0.2.1"
2
+ VERSION = "0.4.0"
3
3
  end
@@ -4,13 +4,15 @@ class AllowedDependency
4
4
  attr_accessor :expire
5
5
  attr_accessor :source
6
6
  attr_accessor :target
7
+ attr_accessor :allows_granular_projects
7
8
 
8
- def initialize(name, version, expire, source, target)
9
+ def initialize(name, version, expire, source, target, allows_granular_projects)
9
10
  @name = name
10
11
  @version = version
11
12
  @expire = expire
12
13
  @source = source
13
14
  @target = target
15
+ @allows_granular_projects = allows_granular_projects
14
16
  end
15
17
 
16
18
  def expire?
@@ -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
@@ -0,0 +1,13 @@
1
+ Pod::Spec.new do |s|
2
+ s.name = "MLSearch"
3
+ s.version = "3.17.0"
4
+ s.summary = "Componente de search"
5
+ s.homepage = "http://www.mercadolibre.com.ar"
6
+ s.license = "none"
7
+ s.author = { "Mobile team" => "mobile@mercadolibre.com" }
8
+ s.platform = :ios, "7.0"
9
+ s.source = { :git => "git@github.com:mercadolibre/search-ios.git", :tag => s.version.to_s }
10
+ s.requires_arc = true
11
+ s.dependency 'Analytics', '~>5.1'
12
+
13
+ end
@@ -0,0 +1,13 @@
1
+ Pod::Spec.new do |s|
2
+ s.name = "MeliSDK"
3
+ s.version = "3.17.0"
4
+ s.summary = "Componente de search"
5
+ s.homepage = "http://www.mercadolibre.com.ar"
6
+ s.license = "none"
7
+ s.author = { "Mobile team" => "mobile@mercadolibre.com" }
8
+ s.platform = :ios, "7.0"
9
+ s.source = { :git => "git@github.com:mercadolibre/search-ios.git", :tag => s.version.to_s }
10
+ s.requires_arc = true
11
+ s.dependency 'Analytics', '~>5.1'
12
+
13
+ end
@@ -33,6 +33,14 @@
33
33
  "name": "MLMyDependency",
34
34
  "version": "1.0.0|2.0.0",
35
35
  "target": "production"
36
+ },
37
+ {
38
+ "name": "Analytics",
39
+ "version": "^~>5.[0-9]+$",
40
+ "target": "production",
41
+ "allows_granular_projects": [
42
+ "MLSearch"
43
+ ]
36
44
  }
37
45
  ]
38
46
  }
@@ -6,11 +6,11 @@ describe SourceHelper do
6
6
 
7
7
  SourceHelper.instance.specs = [] # Avoid a non-empty SourceHelper
8
8
 
9
- private_sources = [ "git@github.com:mercadolibre/mobile-ios_specs.git", "git@github.com:testable/testable_specs.git" ]
9
+ private_sources = [ "git@github.com:melisource/mobile-ios_specs.git", "git@github.com:testable/testable_specs.git" ]
10
10
 
11
11
  private_meli_specs = ["MyMELIPod1", "MyMELIPod2", "MyMELIPod3"]
12
12
  meli_mock = mock()
13
- meli_mock.stubs(:url).returns("git@github.com:mercadolibre/mobile-ios_specs.git")
13
+ meli_mock.stubs(:url).returns("git@github.com:melisource/mobile-ios_specs.git")
14
14
  meli_mock.stubs(:pods).returns(private_meli_specs)
15
15
 
16
16
  private_cocoapods_cdn_specs = ["MyPublicPod1", "MyPublicPod2", "MyPublicPod2"]
@@ -38,11 +38,11 @@ describe SourceHelper do
38
38
 
39
39
  SourceHelper.instance.specs = [] # Avoid a non-empty SourceHelper
40
40
 
41
- private_sources = [ "git@github.com:mercadolibre/mobile-ios_specs.git", "git@github.com:testable/testable_specs.git" ]
41
+ private_sources = [ "git@github.com:melisource/mobile-ios_specs.git", "git@github.com:testable/testable_specs.git" ]
42
42
 
43
43
  private_meli_specs = []
44
44
  meli_mock = mock()
45
- meli_mock.stubs(:url).returns("git@github.com:mercadolibre/mobile-ios_specs.git")
45
+ meli_mock.stubs(:url).returns("git@github.com:melisource/mobile-ios_specs.git")
46
46
  meli_mock.stubs(:pods).returns(private_meli_specs)
47
47
 
48
48
  private_cocoapods_cdn_specs = []
@@ -4,7 +4,7 @@ describe SourceValidator do
4
4
  describe 'functionality' do
5
5
  it 'external dependency that comes from a public source should be valid' do
6
6
 
7
- private_sources = [ "git@github.com:mercadolibre/mobile-ios_specs.git" ]
7
+ private_sources = [ "git@github.com:melisource/mobile-ios_specs.git" ]
8
8
  private_specs = ["MyPod1", "MyPod1", "MyPod3"]
9
9
 
10
10
  stub_url = stub(:url => 'https://cdn.cocoapods.org/')
@@ -20,7 +20,7 @@ describe SourceValidator do
20
20
  end
21
21
 
22
22
  it 'internal dependency that comes from a public source should not be valid' do
23
- private_sources = [ "git@github.com:mercadolibre/mobile-ios_specs.git" ]
23
+ private_sources = [ "git@github.com:melisource/mobile-ios_specs.git" ]
24
24
  private_specs = ["MyPod1", "MyPod1", "MyPod3", "MyInternalPod"]
25
25
 
26
26
  stub_url = stub(:url => 'https://cdn.cocoapods.org/')
@@ -37,10 +37,10 @@ describe SourceValidator do
37
37
 
38
38
  it 'internal dependency that comes from private source should be valid' do
39
39
 
40
- private_sources = [ "git@github.com:mercadolibre/mobile-ios_specs.git" ]
40
+ private_sources = [ "git@github.com:melisource/mobile-ios_specs.git" ]
41
41
  private_specs = ["MyPod1", "MyPod1", "MyPod3", "MyInternalPod"]
42
42
 
43
- stub_url = stub(:url => 'git@github.com:mercadolibre/mobile-ios_specs.git')
43
+ stub_url = stub(:url => 'git@github.com:melisource/mobile-ios_specs.git')
44
44
  spec_mock = mock()
45
45
  spec_mock.stubs(:spec_source).returns(stub_url)
46
46
  spec_mock.stubs(:defined_in_file).returns(nil?)
@@ -54,7 +54,7 @@ describe SourceValidator do
54
54
 
55
55
  it 'development pods should be valid' do
56
56
 
57
- private_sources = [ "git@github.com:mercadolibre/mobile-ios_specs.git" ]
57
+ private_sources = [ "git@github.com:melisource/mobile-ios_specs.git" ]
58
58
  private_specs = ["MyPod1", "MyPod1", "MyPod3", "MyInternalPod"]
59
59
 
60
60
  stub_url = stub(:url => '')
@@ -6,7 +6,7 @@ describe WhitelistResolver do
6
6
  describe 'functionality' do
7
7
  it 'whitelist should be loaded from an specific url' do
8
8
  whitelist = WhitelistResolver.instance.get_whitelist(WHITELIST_PATH)
9
- whitelist.size.should.equal 6
9
+ whitelist.size.should.equal 7
10
10
  end
11
11
 
12
12
  it 'if not URL is specified, whitelist comes from default URL' do
@@ -171,6 +171,21 @@ module Pod
171
171
  command = Command.parse(['whitelist', "--config=#{WHITELIST_FILE}"])
172
172
  lambda { command.run }.should.not.raise
173
173
  end
174
+
175
+ it 'allowed granular dependency should be valid' do
176
+ command = Command.parse(['whitelist', "--config=#{WHITELIST_FILE}", "--fail-on-error"])
177
+ specification = Pod::Specification.from_file('./spec/mocks/allowed_with_granular.podspec')
178
+ command.expects(:get_podspec_specifications).returns([specification])
179
+ lambda { command.run }.should.not.raise Informative
180
+ end
181
+
182
+ it 'not allowed granular dependency should not be valid' do
183
+ command = Command.parse(['whitelist', "--config=#{WHITELIST_FILE}", "--fail-on-error"])
184
+ specification = Pod::Specification.from_file('./spec/mocks/not_allowed_with_granular.podspec')
185
+ command.expects(:get_podspec_specifications).returns([specification])
186
+ lambda { command.run }.should.raise Informative
187
+ end
188
+
174
189
  end
175
190
  end
176
191
  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.2.1
4
+ version: 0.4.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: 2021-10-28 00:00:00.000000000 Z
11
+ date: 2023-12-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -47,6 +47,7 @@ extra_rdoc_files: []
47
47
  files:
48
48
  - ".circleci/config.yml"
49
49
  - ".gitignore"
50
+ - ".ruby-version"
50
51
  - CHANGELOG.md
51
52
  - Gemfile
52
53
  - Gemfile.lock
@@ -58,18 +59,22 @@ files:
58
59
  - lib/cocoapods-whitelist/client/whitelist_resolver.rb
59
60
  - lib/cocoapods-whitelist/command.rb
60
61
  - lib/cocoapods-whitelist/command/whitelist.rb
62
+ - lib/cocoapods-whitelist/exclude/excluded.json
61
63
  - lib/cocoapods-whitelist/gem_version.rb
62
64
  - lib/cocoapods-whitelist/helpers/source_helper.rb
63
65
  - lib/cocoapods-whitelist/hook.rb
64
66
  - lib/cocoapods-whitelist/hook/resolver.rb
65
67
  - lib/cocoapods-whitelist/model/allowed_dependency.rb
66
68
  - lib/cocoapods-whitelist/model/sources.rb
69
+ - lib/cocoapods-whitelist/model/validation_excluded.rb
67
70
  - lib/cocoapods-whitelist/validator/source_validator.rb
68
71
  - lib/cocoapods_plugin.rb
72
+ - spec/mocks/allowed_with_granular.podspec
69
73
  - spec/mocks/bad_name.podspec
70
74
  - spec/mocks/free_version.podspec
71
75
  - spec/mocks/major_version_fixed.podspec
72
76
  - spec/mocks/not_allowed.podspec
77
+ - spec/mocks/not_allowed_with_granular.podspec
73
78
  - spec/mocks/whitelist.json
74
79
  - spec/mocks/whitelist_with_expired_dependencies.json
75
80
  - spec/mocks/whitelisted_podname.podspec
@@ -93,7 +98,7 @@ files:
93
98
  - spec/spec_helper.rb
94
99
  - spec/whitelist_resolver_spec.rb
95
100
  - spec/whitelist_spec.rb
96
- homepage: https://github.com/mercadolibre/mobile-cocoapods_whitelist
101
+ homepage: https://github.com/melisource/mobile-cocoapods_whitelist
97
102
  licenses:
98
103
  - MIT
99
104
  metadata: {}
@@ -112,15 +117,17 @@ required_rubygems_version: !ruby/object:Gem::Requirement
112
117
  - !ruby/object:Gem::Version
113
118
  version: '0'
114
119
  requirements: []
115
- rubygems_version: 3.0.8
120
+ rubygems_version: 3.3.26
116
121
  signing_key:
117
122
  specification_version: 4
118
123
  summary: A longer description of cocoapods-whitelist.
119
124
  test_files:
125
+ - spec/mocks/allowed_with_granular.podspec
120
126
  - spec/mocks/bad_name.podspec
121
127
  - spec/mocks/free_version.podspec
122
128
  - spec/mocks/major_version_fixed.podspec
123
129
  - spec/mocks/not_allowed.podspec
130
+ - spec/mocks/not_allowed_with_granular.podspec
124
131
  - spec/mocks/whitelist.json
125
132
  - spec/mocks/whitelist_with_expired_dependencies.json
126
133
  - spec/mocks/whitelisted_podname.podspec