cocoapods 1.12.1 → 1.14.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 +4 -4
- data/CHANGELOG.md +45 -2
- data/bin/sandbox-pod +1 -1
- data/lib/cocoapods/command/spec/create.rb +1 -0
- data/lib/cocoapods/config.rb +2 -1
- data/lib/cocoapods/gem_version.rb +1 -1
- data/lib/cocoapods/generator/copy_resources_script.rb +1 -0
- data/lib/cocoapods/generator/embed_frameworks_script.rb +1 -1
- data/lib/cocoapods/installer/base_install_hooks_context.rb +1 -1
- data/lib/cocoapods/installer/project_cache/project_cache_analyzer.rb +3 -3
- data/lib/cocoapods/installer/project_cache/target_cache_key.rb +40 -2
- data/lib/cocoapods/installer/user_project_integrator/target_integrator.rb +1 -0
- data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb +1 -0
- data/lib/cocoapods/installer/xcode/pods_project_generator/project_generator.rb +2 -0
- data/lib/cocoapods/target/build_settings.rb +2 -2
- data/lib/cocoapods/validator.rb +5 -0
- data/lib/cocoapods.rb +2 -0
- metadata +7 -13
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 333d0f9558f023f5d2b821566ff350ee4efea1fef6e04f603da115ea87169ad8
|
4
|
+
data.tar.gz: e6f6e935c5f2fd24f14ef244e421db883d3eb955d9eb6792116eba617d74d68e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6608a00869def16526d88ec06498de4c958261c9f77586967e10a5281f5f96aa78e2424c6a8cbce9cac78873e8199cdd90243d6fba4062e8320c0b03e1b0760a
|
7
|
+
data.tar.gz: f1c7a08c14ba8b7dd98ce1a1ca43fa0849e5f2ce272498d9288fcac77e53756472c9cf1057b89ac81bdd902fe27aaaad1b93546ff850f0f094ad51896610f0a9
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,49 @@ To install or update CocoaPods see this [guide](https://guides.cocoapods.org/usi
|
|
4
4
|
|
5
5
|
To install release candidates run `[sudo] gem install cocoapods --pre`
|
6
6
|
|
7
|
+
## 1.14.0 (2023-10-26)
|
8
|
+
|
9
|
+
##### Enhancements
|
10
|
+
|
11
|
+
* None.
|
12
|
+
|
13
|
+
##### Bug Fixes
|
14
|
+
|
15
|
+
* Fix a crash when running with activesupport 7.1.0.
|
16
|
+
[MCanhisares](https://github.com/MCanhisares)
|
17
|
+
[#12081](https://github.com/CocoaPods/CocoaPods/issues/12081)
|
18
|
+
|
19
|
+
* Fix another crash when running with activesupport 7.1.0.
|
20
|
+
[movila](https://github.com/movila)
|
21
|
+
[#12089](https://github.com/CocoaPods/CocoaPods/issues/12089)
|
22
|
+
|
23
|
+
##### Other
|
24
|
+
|
25
|
+
* Drop support for `bazaar` SCM
|
26
|
+
|
27
|
+
|
28
|
+
## 1.13.0 (2023-09-22)
|
29
|
+
|
30
|
+
##### Enhancements
|
31
|
+
|
32
|
+
* Add `visionOS` as a new platform.
|
33
|
+
[Gabriel Donadel](https://github.com/gabrieldonadel)
|
34
|
+
[#11965](https://github.com/CocoaPods/CocoaPods/pull/11965)
|
35
|
+
|
36
|
+
* Extend `script_phase` DSL to support `always_out_of_date` attribute.
|
37
|
+
[Alvar Hansen](https://github.com/alvarhansen)
|
38
|
+
[#12055](https://github.com/CocoaPods/CocoaPods/pull/12055)
|
39
|
+
|
40
|
+
##### Bug Fixes
|
41
|
+
|
42
|
+
* Use `safe_load` during custom YAML config loading.
|
43
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
44
|
+
[#11974](https://github.com/CocoaPods/CocoaPods/pull/11974)
|
45
|
+
|
46
|
+
* Xcode 15 fix: Replace `DT_TOOLCHAIN_DIR` with `TOOLCHAIN_DIR` when generating script.
|
47
|
+
[Marcus Wu](https://github.com/marcuswu0814)
|
48
|
+
[#12009](https://github.com/CocoaPods/CocoaPods/pull/12009)
|
49
|
+
|
7
50
|
## 1.12.1 (2023-04-18)
|
8
51
|
|
9
52
|
##### Enhancements
|
@@ -21,9 +64,9 @@ To install release candidates run `[sudo] gem install cocoapods --pre`
|
|
21
64
|
[Austin Evans](https://github.com/ajevans99)
|
22
65
|
[#11857](https://github.com/CocoaPods/CocoaPods/issues/11857)
|
23
66
|
|
24
|
-
|
67
|
+
* Xcode 14.3 fix: `pod lib lint` warning generation from main.m.
|
25
68
|
[Paul Beusterien](https://github.com/paulb777)
|
26
|
-
[#11846](https://github.com/CocoaPods/CocoaPods/
|
69
|
+
[#11846](https://github.com/CocoaPods/CocoaPods/issues/11846)
|
27
70
|
|
28
71
|
## 1.12.0 (2023-02-27)
|
29
72
|
|
data/bin/sandbox-pod
CHANGED
@@ -61,7 +61,7 @@ PROFILE_ERB_TEMPLATE = <<-EOS
|
|
61
61
|
|
62
62
|
(allow file-read-metadata)
|
63
63
|
(allow file-read*
|
64
|
-
; This is
|
64
|
+
; This is currently only added because using `xcodebuild` to build a resource
|
65
65
|
; bundle target starts a FSEvents stream on `/`. No idea why that would be
|
66
66
|
; needed, but for now it doesn’t seem like a real problem.
|
67
67
|
(literal "/")
|
@@ -181,6 +181,7 @@ Pod::Spec.new do |spec|
|
|
181
181
|
# spec.osx.deployment_target = "10.7"
|
182
182
|
# spec.watchos.deployment_target = "2.0"
|
183
183
|
# spec.tvos.deployment_target = "9.0"
|
184
|
+
# spec.visionos.deployment_target = "1.0"
|
184
185
|
|
185
186
|
|
186
187
|
# ――― Source Location ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――― #
|
data/lib/cocoapods/config.rb
CHANGED
@@ -111,7 +111,8 @@ module Pod
|
|
111
111
|
|
112
112
|
if use_user_settings && user_settings_file.exist?
|
113
113
|
require 'yaml'
|
114
|
-
|
114
|
+
user_settings_contents = File.read(user_settings_file)
|
115
|
+
user_settings = YAML.safe_load(user_settings_contents)
|
115
116
|
configure_with(user_settings)
|
116
117
|
end
|
117
118
|
|
@@ -63,7 +63,7 @@ echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
|
63
63
|
mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
|
64
64
|
|
65
65
|
COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}"
|
66
|
-
SWIFT_STDLIB_PATH="${
|
66
|
+
SWIFT_STDLIB_PATH="${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}"
|
67
67
|
BCSYMBOLMAP_DIR="BCSymbolMaps"
|
68
68
|
|
69
69
|
|
@@ -97,7 +97,7 @@ module Pod
|
|
97
97
|
#
|
98
98
|
attr_reader :specs
|
99
99
|
|
100
|
-
# @return [Symbol] The platform (either `:ios`, `:watchos`, `:tvos`, or `:osx`).
|
100
|
+
# @return [Symbol] The platform (either `:ios`, `:watchos`, `:tvos`, `:visionos`, or `:osx`).
|
101
101
|
#
|
102
102
|
attr_reader :platform_name
|
103
103
|
|
@@ -139,10 +139,10 @@ module Pod
|
|
139
139
|
when PodTarget
|
140
140
|
local = sandbox.local?(target.pod_name)
|
141
141
|
checkout_options = sandbox.checkout_sources[target.pod_name]
|
142
|
-
[label, TargetCacheKey.from_pod_target(sandbox,
|
143
|
-
|
142
|
+
[label, TargetCacheKey.from_pod_target(sandbox, target_by_label, target,
|
143
|
+
:is_local_pod => local, :checkout_options => checkout_options)]
|
144
144
|
when AggregateTarget
|
145
|
-
[label, TargetCacheKey.from_aggregate_target(sandbox, target)]
|
145
|
+
[label, TargetCacheKey.from_aggregate_target(sandbox, target_by_label, target)]
|
146
146
|
else
|
147
147
|
raise "[BUG] Unknown target type #{target}"
|
148
148
|
end
|
@@ -58,6 +58,10 @@ module Pod
|
|
58
58
|
other_files = other.key_hash['FILES']
|
59
59
|
return :project if this_files != other_files
|
60
60
|
|
61
|
+
this_resources = key_hash['RESOURCES']
|
62
|
+
other_resources = other.key_hash['RESOURCES']
|
63
|
+
return :project if this_resources != other_resources
|
64
|
+
|
61
65
|
this_build_settings = key_hash['BUILD_SETTINGS_CHECKSUM']
|
62
66
|
other_build_settings = other.key_hash['BUILD_SETTINGS_CHECKSUM']
|
63
67
|
return :project if this_build_settings != other_build_settings
|
@@ -98,6 +102,9 @@ module Pod
|
|
98
102
|
if specs = cache_hash['SPECS']
|
99
103
|
cache_hash['SPECS'] = specs.sort_by(&:downcase)
|
100
104
|
end
|
105
|
+
if resources = cache_hash['RESOURCES']
|
106
|
+
cache_hash['RESOURCES'] = resources.sort_by(&:downcase)
|
107
|
+
end
|
101
108
|
type = cache_hash['CHECKSUM'] ? :pod_target : :aggregate
|
102
109
|
TargetCacheKey.new(sandbox, type, cache_hash)
|
103
110
|
end
|
@@ -106,6 +113,9 @@ module Pod
|
|
106
113
|
#
|
107
114
|
# @param [Sandbox] sandbox The sandbox to use to construct a TargetCacheKey object.
|
108
115
|
#
|
116
|
+
# @param [Hash] target_by_label
|
117
|
+
# Maps target names to PodTarget objects.
|
118
|
+
#
|
109
119
|
# @param [PodTarget] pod_target
|
110
120
|
# The pod target used to construct a TargetCacheKey object.
|
111
121
|
#
|
@@ -117,7 +127,7 @@ module Pod
|
|
117
127
|
#
|
118
128
|
# @return [TargetCacheKey]
|
119
129
|
#
|
120
|
-
def self.from_pod_target(sandbox, pod_target, is_local_pod: false, checkout_options: nil)
|
130
|
+
def self.from_pod_target(sandbox, target_by_label, pod_target, is_local_pod: false, checkout_options: nil)
|
121
131
|
build_settings = {}
|
122
132
|
build_settings[pod_target.label.to_s] = Hash[pod_target.build_settings.map do |k, v|
|
123
133
|
[k, Digest::MD5.hexdigest(v.xcconfig.to_s)]
|
@@ -129,6 +139,20 @@ module Pod
|
|
129
139
|
build_settings[name] = Hash[settings_by_config.map { |k, v| [k, Digest::MD5.hexdigest(v.xcconfig.to_s)] }]
|
130
140
|
end
|
131
141
|
|
142
|
+
# find resources from upstream dependencies that will be named in the `{name}-resources.sh` script
|
143
|
+
resource_dependencies = []
|
144
|
+
pod_target.dependencies.each do |name|
|
145
|
+
next unless target_by_label[name]
|
146
|
+
|
147
|
+
upstream = target_by_label[name]
|
148
|
+
|
149
|
+
# pod target
|
150
|
+
resource_dependencies.append(upstream.resource_paths.values.flatten) if upstream.respond_to?(:resource_paths)
|
151
|
+
|
152
|
+
# aggregate target
|
153
|
+
resource_dependencies.append(upstream.resource_paths_by_config.values.flatten) if upstream.respond_to?(:resource_paths_by_config)
|
154
|
+
end
|
155
|
+
|
132
156
|
contents = {
|
133
157
|
'CHECKSUM' => pod_target.root_spec.checksum,
|
134
158
|
'SPECS' => pod_target.specs.map(&:to_s).sort_by(&:downcase),
|
@@ -140,6 +164,7 @@ module Pod
|
|
140
164
|
contents['FILES'] = relative_file_paths.sort_by(&:downcase)
|
141
165
|
end
|
142
166
|
contents['CHECKOUT_OPTIONS'] = checkout_options if checkout_options
|
167
|
+
contents['RESOURCES'] = resource_dependencies.flatten.uniq.sort_by(&:downcase) if resource_dependencies.any?
|
143
168
|
TargetCacheKey.new(sandbox, :pod_target, contents)
|
144
169
|
end
|
145
170
|
|
@@ -152,12 +177,24 @@ module Pod
|
|
152
177
|
#
|
153
178
|
# @return [TargetCacheKey]
|
154
179
|
#
|
155
|
-
def self.from_aggregate_target(sandbox, aggregate_target)
|
180
|
+
def self.from_aggregate_target(sandbox, target_by_label, aggregate_target)
|
156
181
|
build_settings = {}
|
157
182
|
aggregate_target.user_build_configurations.keys.each do |configuration|
|
158
183
|
build_settings[configuration] = Digest::MD5.hexdigest(aggregate_target.build_settings(configuration).xcconfig.to_s)
|
159
184
|
end
|
160
185
|
|
186
|
+
# find resources from upstream dependencies that will be named in the `{name}-resources.sh` script
|
187
|
+
resource_dependencies = []
|
188
|
+
aggregate_target.pod_targets.each do |name|
|
189
|
+
upstream = target_by_label[name]
|
190
|
+
|
191
|
+
# pod target
|
192
|
+
resource_dependencies.append(upstream.resource_paths.values.flatten) if upstream.respond_to?(:resource_paths)
|
193
|
+
|
194
|
+
# aggregate target
|
195
|
+
resource_dependencies.append(upstream.resource_paths_by_config.values.flatten) if upstream.respond_to?(:resource_paths_by_config)
|
196
|
+
end
|
197
|
+
|
161
198
|
contents = {
|
162
199
|
'BUILD_SETTINGS_CHECKSUM' => build_settings,
|
163
200
|
}
|
@@ -167,6 +204,7 @@ module Pod
|
|
167
204
|
res.relative_path_from(sandbox.project_path.dirname).to_s
|
168
205
|
end
|
169
206
|
contents['FILES'] = (relative_resource_file_paths + relative_on_demand_resource_file_paths).sort_by(&:downcase)
|
207
|
+
contents['RESOURCES'] = resource_dependencies.flatten.uniq.sort_by(&:downcase) if resource_dependencies.any?
|
170
208
|
end
|
171
209
|
TargetCacheKey.new(sandbox, :aggregate, contents)
|
172
210
|
end
|
@@ -314,6 +314,7 @@ module Pod
|
|
314
314
|
phase.input_file_list_paths = script_phase[:input_file_lists]
|
315
315
|
phase.output_file_list_paths = script_phase[:output_file_lists]
|
316
316
|
phase.dependency_file = script_phase[:dependency_file]
|
317
|
+
phase.always_out_of_date = script_phase[:always_out_of_date]
|
317
318
|
# At least with Xcode 10 `showEnvVarsInLog` is *NOT* set to any value even if it's checked and it only
|
318
319
|
# gets set to '0' if the user has explicitly disabled this.
|
319
320
|
if (show_env_vars_in_log = script_phase.fetch(:show_env_vars_in_log, '1')) == '0'
|
@@ -103,11 +103,13 @@ module Pod
|
|
103
103
|
ios_deployment_target = platforms.select { |p| p.name == :ios }.map(&:deployment_target).min
|
104
104
|
watchos_deployment_target = platforms.select { |p| p.name == :watchos }.map(&:deployment_target).min
|
105
105
|
tvos_deployment_target = platforms.select { |p| p.name == :tvos }.map(&:deployment_target).min
|
106
|
+
visionos_deployment_target = platforms.select { |p| p.name == :visionos }.map(&:deployment_target).min
|
106
107
|
project.build_configurations.each do |build_configuration|
|
107
108
|
build_configuration.build_settings['MACOSX_DEPLOYMENT_TARGET'] = osx_deployment_target.to_s if osx_deployment_target
|
108
109
|
build_configuration.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = ios_deployment_target.to_s if ios_deployment_target
|
109
110
|
build_configuration.build_settings['WATCHOS_DEPLOYMENT_TARGET'] = watchos_deployment_target.to_s if watchos_deployment_target
|
110
111
|
build_configuration.build_settings['TVOS_DEPLOYMENT_TARGET'] = tvos_deployment_target.to_s if tvos_deployment_target
|
112
|
+
build_configuration.build_settings['XROS_DEPLOYMENT_TARGET'] = visionos_deployment_target.to_s if visionos_deployment_target
|
111
113
|
build_configuration.build_settings['STRIP_INSTALLED_PRODUCT'] = 'NO'
|
112
114
|
build_configuration.build_settings['CLANG_ENABLE_OBJC_ARC'] = 'YES'
|
113
115
|
build_configuration.build_settings['CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED'] = 'YES'
|
@@ -359,7 +359,7 @@ module Pod
|
|
359
359
|
else
|
360
360
|
"'@loader_path/Frameworks'"
|
361
361
|
end
|
362
|
-
paths << '${
|
362
|
+
paths << '${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}' if uses_swift
|
363
363
|
else
|
364
364
|
paths << "'@executable_path/Frameworks'"
|
365
365
|
paths << "'@loader_path/Frameworks'"
|
@@ -866,7 +866,7 @@ module Pod
|
|
866
866
|
search_paths = vendored_static_library_search_paths + vendored_dynamic_library_search_paths
|
867
867
|
if target.uses_swift? || other_swift_flags_without_swift?
|
868
868
|
search_paths << '/usr/lib/swift'
|
869
|
-
search_paths << '${
|
869
|
+
search_paths << '${TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}'
|
870
870
|
search_paths << '$(PLATFORM_DIR)/Developer/Library/Frameworks' if test_xcconfig?
|
871
871
|
end
|
872
872
|
return search_paths if target.build_as_framework? || !target.should_build?
|
data/lib/cocoapods/validator.rb
CHANGED
@@ -152,6 +152,8 @@ module Pod
|
|
152
152
|
platform_message = '[watchOS] '
|
153
153
|
elsif result.platforms == [:tvos]
|
154
154
|
platform_message = '[tvOS] '
|
155
|
+
elsif result.platforms == [:visionos]
|
156
|
+
platform_message = '[visionOS] '
|
155
157
|
end
|
156
158
|
|
157
159
|
subspecs_message = ''
|
@@ -1104,6 +1106,9 @@ module Pod
|
|
1104
1106
|
when :tvos
|
1105
1107
|
command += %w(CODE_SIGN_IDENTITY=- -sdk appletvsimulator)
|
1106
1108
|
command += Fourflusher::SimControl.new.destination(:oldest, 'tvOS', deployment_target)
|
1109
|
+
when :visionos
|
1110
|
+
command += %w(CODE_SIGN_IDENTITY=- -sdk xrsimulator)
|
1111
|
+
command += Fourflusher::SimControl.new.destination(:oldest, 'visionOS', deployment_target)
|
1107
1112
|
end
|
1108
1113
|
|
1109
1114
|
if analyze
|
data/lib/cocoapods.rb
CHANGED
@@ -4,6 +4,8 @@ require 'xcodeproj'
|
|
4
4
|
# It is very likely that we'll need these and as some of those paths will atm
|
5
5
|
# result in a I18n deprecation warning, we load those here now so that we can
|
6
6
|
# get rid of that warning.
|
7
|
+
require 'active_support'
|
8
|
+
require 'active_support/core_ext'
|
7
9
|
require 'active_support/core_ext/string/strip'
|
8
10
|
require 'active_support/core_ext/string/inflections'
|
9
11
|
require 'active_support/core_ext/array/conversions'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocoapods
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.14.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eloy Duran
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2023-
|
14
|
+
date: 2023-10-25 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: cocoapods-core
|
@@ -19,14 +19,14 @@ dependencies:
|
|
19
19
|
requirements:
|
20
20
|
- - '='
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 1.
|
22
|
+
version: 1.14.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - '='
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 1.
|
29
|
+
version: 1.14.0
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: claide
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -72,9 +72,6 @@ dependencies:
|
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
74
|
- - ">="
|
75
|
-
- !ruby/object:Gem::Version
|
76
|
-
version: 1.6.0
|
77
|
-
- - "<"
|
78
75
|
- !ruby/object:Gem::Version
|
79
76
|
version: '2.0'
|
80
77
|
type: :runtime
|
@@ -82,9 +79,6 @@ dependencies:
|
|
82
79
|
version_requirements: !ruby/object:Gem::Requirement
|
83
80
|
requirements:
|
84
81
|
- - ">="
|
85
|
-
- !ruby/object:Gem::Version
|
86
|
-
version: 1.6.0
|
87
|
-
- - "<"
|
88
82
|
- !ruby/object:Gem::Version
|
89
83
|
version: '2.0'
|
90
84
|
- !ruby/object:Gem::Dependency
|
@@ -187,7 +181,7 @@ dependencies:
|
|
187
181
|
requirements:
|
188
182
|
- - ">="
|
189
183
|
- !ruby/object:Gem::Version
|
190
|
-
version: 1.
|
184
|
+
version: 1.23.0
|
191
185
|
- - "<"
|
192
186
|
- !ruby/object:Gem::Version
|
193
187
|
version: '2.0'
|
@@ -197,7 +191,7 @@ dependencies:
|
|
197
191
|
requirements:
|
198
192
|
- - ">="
|
199
193
|
- !ruby/object:Gem::Version
|
200
|
-
version: 1.
|
194
|
+
version: 1.23.0
|
201
195
|
- - "<"
|
202
196
|
- !ruby/object:Gem::Version
|
203
197
|
version: '2.0'
|
@@ -539,7 +533,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
539
533
|
requirements:
|
540
534
|
- - ">="
|
541
535
|
- !ruby/object:Gem::Version
|
542
|
-
version: '2.
|
536
|
+
version: '2.7'
|
543
537
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
544
538
|
requirements:
|
545
539
|
- - ">="
|