xcodeproj 1.5.1 → 1.5.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9084e7a80a61cbf7fe8fef7da730e4d3c9ff90b1
4
- data.tar.gz: 3dbcdcd622aa7c288d92c570e0a882ac24fd28cb
3
+ metadata.gz: d69e019d682b09834105316249157ff2f8e8ce16
4
+ data.tar.gz: 070eebafd685abfdcc50312ef3276c8e37e4aa95
5
5
  SHA512:
6
- metadata.gz: 56453fae972dbbc49bda896460fd976a9028e0a5fab6e801195435eea2aa85e834ef12f113651c2ee9e41045dc6c2944b43e6bfe9709a746bfc821f0cdfd5267
7
- data.tar.gz: b5b0a96286a6364d1061c8e1838bc66c8c979594cd50c3059d04ef5ac269b10b6f91dcbe2a288cf42e8a1e6a1c70a4bf0c1e03eef54dd1b9793a25ba1870ab2b
6
+ metadata.gz: 99515f622edb41f755d5a0212c656393c4e7bd7cbf6c6fc732cccc847ade8d8ce342cb0b47ff34be1be44625ebc43c5f77f489fd652bdea9df3d7998ce9d0ae3
7
+ data.tar.gz: 7a686f38cd6f43a1c0ab58037785e9e953444a728c40115b5df3ebae58eed82892c7742f085118ba50355094fae3090f96e7021739c6077153f214b90fdd5278
@@ -20,6 +20,10 @@ module Xcodeproj
20
20
  #
21
21
  LAST_KNOWN_ARCHIVE_VERSION = 1
22
22
 
23
+ # @return [String] The last known Swift version (stable).
24
+ #
25
+ LAST_KNOWN_SWIFT_VERSION = '3.0'
26
+
23
27
  # @return [String] The default object version for Xcodeproj.
24
28
  DEFAULT_OBJECT_VERSION = 46
25
29
 
@@ -160,23 +164,24 @@ module Xcodeproj
160
164
  #
161
165
  COMMON_BUILD_SETTINGS = {
162
166
  :all => {
163
- 'ENABLE_STRICT_OBJC_MSGSEND' => 'YES',
164
- 'GCC_NO_COMMON_BLOCKS' => 'YES',
165
- 'PRODUCT_NAME' => '$(TARGET_NAME)',
167
+ # empty?
168
+ # come from the project settings
166
169
  }.freeze,
167
170
  [:debug] => {
168
- 'DEBUG_INFORMATION_FORMAT' => 'dwarf',
169
- 'MTL_ENABLE_DEBUG_INFO' => 'YES',
171
+ # empty?
172
+ # come from the project settings
170
173
  }.freeze,
171
174
  [:release] => {
172
- 'DEBUG_INFORMATION_FORMAT' => 'dwarf-with-dsym',
173
- 'MTL_ENABLE_DEBUG_INFO' => 'NO',
175
+ # empty?
176
+ # come from the project settings
174
177
  }.freeze,
175
178
  [:ios] => {
176
179
  'SDKROOT' => 'iphoneos',
180
+ 'CODE_SIGN_IDENTITY' => 'iPhone Developer',
177
181
  }.freeze,
178
182
  [:osx] => {
179
183
  'SDKROOT' => 'macosx',
184
+ 'CODE_SIGN_IDENTITY' => '-',
180
185
  }.freeze,
181
186
  [:tvos] => {
182
187
  'SDKROOT' => 'appletvos',
@@ -193,8 +198,25 @@ module Xcodeproj
193
198
  [:debug, :ios] => {
194
199
  # Empty?
195
200
  }.freeze,
201
+ [:release, :ios] => {
202
+ 'VALIDATE_PRODUCT' => 'YES',
203
+ }.freeze,
204
+ [:debug, :tvos] => {
205
+ # Empty?
206
+ }.freeze,
207
+ [:release, :tvos] => {
208
+ 'VALIDATE_PRODUCT' => 'YES',
209
+ }.freeze,
210
+ [:debug, :watchos] => {
211
+ # Empty?
212
+ }.freeze,
213
+ [:release, :watchos] => {
214
+ 'VALIDATE_PRODUCT' => 'YES',
215
+ }.freeze,
196
216
  [:swift] => {
197
- 'SWIFT_VERSION' => '3.0',
217
+ # Empty?
218
+ # The swift version, like deployment target, is set in
219
+ # ProjectHelper#common_build_settings
198
220
  }.freeze,
199
221
  [:debug, :application, :swift] => {
200
222
  'SWIFT_OPTIMIZATION_LEVEL' => '-Onone',
@@ -209,61 +231,58 @@ module Xcodeproj
209
231
  [:debug, :static_library, :swift] => {
210
232
  }.freeze,
211
233
  [:framework] => {
212
- 'VERSION_INFO_PREFIX' => '',
213
- 'DYLIB_COMPATIBILITY_VERSION' => '1',
214
- 'DEFINES_MODULE' => 'YES',
215
- 'DYLIB_INSTALL_NAME_BASE' => '@rpath',
234
+ 'CODE_SIGN_IDENTITY' => '',
216
235
  'CURRENT_PROJECT_VERSION' => '1',
217
- 'VERSIONING_SYSTEM' => 'apple-generic',
236
+ 'DEFINES_MODULE' => 'YES',
237
+ 'DYLIB_COMPATIBILITY_VERSION' => '1',
218
238
  'DYLIB_CURRENT_VERSION' => '1',
219
- 'SKIP_INSTALL' => 'YES',
239
+ 'DYLIB_INSTALL_NAME_BASE' => '@rpath',
220
240
  'INSTALL_PATH' => '$(LOCAL_LIBRARY_DIR)/Frameworks',
241
+ 'PRODUCT_NAME' => '$(TARGET_NAME:c99extidentifier)',
242
+ 'SKIP_INSTALL' => 'YES',
243
+ 'VERSION_INFO_PREFIX' => '',
244
+ 'VERSIONING_SYSTEM' => 'apple-generic',
221
245
  }.freeze,
222
246
  [:ios, :framework] => {
223
- 'LD_RUNPATH_SEARCH_PATHS' => ['$(inherited)', '@executable_path/Frameworks', '@loader_path/Frameworks'],
224
- 'CODE_SIGN_IDENTITY[sdk=iphoneos*]' => 'iPhone Developer',
247
+ 'LD_RUNPATH_SEARCH_PATHS' => '$(inherited) @executable_path/Frameworks @loader_path/Frameworks',
225
248
  'TARGETED_DEVICE_FAMILY' => '1,2',
226
- 'CODE_SIGN_IDENTITY' => '',
227
249
  }.freeze,
228
250
  [:osx, :framework] => {
229
- 'LD_RUNPATH_SEARCH_PATHS' => ['$(inherited)', '@executable_path/../Frameworks', '@loader_path/Frameworks'],
230
- 'FRAMEWORK_VERSION' => 'A',
231
- 'CODE_SIGN_IDENTITY' => '-',
232
251
  'COMBINE_HIDPI_IMAGES' => 'YES',
252
+ 'FRAMEWORK_VERSION' => 'A',
253
+ 'LD_RUNPATH_SEARCH_PATHS' => '$(inherited) @executable_path/../Frameworks @loader_path/Frameworks',
233
254
  }.freeze,
234
255
  [:watchos, :framework] => {
235
256
  'APPLICATION_EXTENSION_API_ONLY' => 'YES',
236
- 'LD_RUNPATH_SEARCH_PATHS' => ['$(inherited)', '@executable_path/Frameworks', '@loader_path/Frameworks'],
257
+ 'LD_RUNPATH_SEARCH_PATHS' => '$(inherited) @executable_path/Frameworks @loader_path/Frameworks',
237
258
  'TARGETED_DEVICE_FAMILY' => '4',
238
- 'CODE_SIGN_IDENTITY' => '',
239
259
  }.freeze,
240
260
  [:tvos, :framework] => {
241
- 'LD_RUNPATH_SEARCH_PATHS' => ['$(inherited)', '@executable_path/Frameworks', '@loader_path/Frameworks'],
261
+ 'LD_RUNPATH_SEARCH_PATHS' => '$(inherited) @executable_path/Frameworks @loader_path/Frameworks',
242
262
  'TARGETED_DEVICE_FAMILY' => '3',
243
- 'CODE_SIGN_IDENTITY' => '',
244
263
  }.freeze,
245
264
  [:framework, :swift] => {
246
265
  'DEFINES_MODULE' => 'YES',
247
266
  }.freeze,
248
267
  [:osx, :static_library] => {
249
- 'CODE_SIGN_IDENTITY' => '-',
250
268
  'EXECUTABLE_PREFIX' => 'lib',
251
269
  }.freeze,
252
270
  [:ios, :static_library] => {
253
- 'CODE_SIGN_IDENTITY[sdk=iphoneos*]' => 'iPhone Developer',
254
271
  'OTHER_LDFLAGS' => '-ObjC',
255
272
  'SKIP_INSTALL' => 'YES',
273
+ 'TARGETED_DEVICE_FAMILY' => '1,2',
256
274
  }.freeze,
257
275
  [:watchos, :static_library] => {
258
276
  'OTHER_LDFLAGS' => '-ObjC',
259
277
  'SKIP_INSTALL' => 'YES',
278
+ 'TARGETED_DEVICE_FAMILY' => '4',
260
279
  }.freeze,
261
280
  [:tvos, :static_library] => {
262
281
  'OTHER_LDFLAGS' => '-ObjC',
263
282
  'SKIP_INSTALL' => 'YES',
283
+ 'TARGETED_DEVICE_FAMILY' => '3',
264
284
  }.freeze,
265
285
  [:osx, :dynamic_library] => {
266
- 'CODE_SIGN_IDENTITY' => '-',
267
286
  'DYLIB_COMPATIBILITY_VERSION' => '1',
268
287
  'DYLIB_CURRENT_VERSION' => '1',
269
288
  'EXECUTABLE_PREFIX' => 'lib',
@@ -272,14 +291,12 @@ module Xcodeproj
272
291
  'ASSETCATALOG_COMPILER_APPICON_NAME' => 'AppIcon',
273
292
  }.freeze,
274
293
  [:ios, :application] => {
275
- 'CODE_SIGN_IDENTITY[sdk=iphoneos*]' => 'iPhone Developer',
276
- 'LD_RUNPATH_SEARCH_PATHS' => ['$(inherited)', '@executable_path/Frameworks'],
294
+ 'LD_RUNPATH_SEARCH_PATHS' => '$(inherited) @executable_path/Frameworks',
277
295
  'TARGETED_DEVICE_FAMILY' => '1,2',
278
296
  }.freeze,
279
297
  [:osx, :application] => {
280
298
  'COMBINE_HIDPI_IMAGES' => 'YES',
281
- 'CODE_SIGN_IDENTITY' => '-',
282
- 'LD_RUNPATH_SEARCH_PATHS' => ['$(inherited)', '@executable_path/../Frameworks'],
299
+ 'LD_RUNPATH_SEARCH_PATHS' => '$(inherited) @executable_path/../Frameworks',
283
300
  }.freeze,
284
301
  [:watchos, :application] => {
285
302
  'SKIP_INSTALL' => 'YES',
@@ -288,14 +305,13 @@ module Xcodeproj
288
305
  [:tvos, :application] => {
289
306
  'ASSETCATALOG_COMPILER_APPICON_NAME' => 'App Icon & Top Shelf Image',
290
307
  'ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME' => 'LaunchImage',
308
+ 'LD_RUNPATH_SEARCH_PATHS' => '$(inherited) @executable_path/Frameworks',
291
309
  'TARGETED_DEVICE_FAMILY' => '3',
292
- 'LD_RUNPATH_SEARCH_PATHS' => ['$(inherited)', '@executable_path/Frameworks'],
293
310
  }.freeze,
294
311
  [:watchos, :application, :swift] => {
295
312
  'ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES' => 'YES',
296
313
  }.freeze,
297
314
  [:bundle] => {
298
- 'PRODUCT_NAME' => '$(TARGET_NAME)',
299
315
  'WRAPPER_EXTENSION' => 'bundle',
300
316
  'SKIP_INSTALL' => 'YES',
301
317
  }.freeze,
@@ -303,7 +319,6 @@ module Xcodeproj
303
319
  'SDKROOT' => 'iphoneos',
304
320
  }.freeze,
305
321
  [:osx, :bundle] => {
306
- 'CODE_SIGN_IDENTITY' => '-',
307
322
  'COMBINE_HIDPI_IMAGES' => 'YES',
308
323
  'INSTALL_PATH' => '$(LOCAL_LIBRARY_DIR)/Bundles',
309
324
  'SDKROOT' => 'macosx',
@@ -316,43 +331,54 @@ module Xcodeproj
316
331
  :all => {
317
332
  'ALWAYS_SEARCH_USER_PATHS' => 'NO',
318
333
  'CLANG_ANALYZER_NONNULL' => 'YES',
319
- 'CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION' => 'YES',
320
- 'CLANG_CXX_LANGUAGE_STANDARD' => 'gnu++0x',
334
+ 'CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION' => 'YES_AGGRESSIVE',
335
+ 'CLANG_CXX_LANGUAGE_STANDARD' => 'gnu++14',
321
336
  'CLANG_CXX_LIBRARY' => 'libc++',
322
337
  'CLANG_ENABLE_MODULES' => 'YES',
323
338
  'CLANG_ENABLE_OBJC_ARC' => 'YES',
324
339
  'CLANG_WARN__DUPLICATE_METHOD_MATCH' => 'YES',
340
+ 'CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING' => 'YES',
325
341
  'CLANG_WARN_BOOL_CONVERSION' => 'YES',
342
+ 'CLANG_WARN_COMMA' => 'YES',
326
343
  'CLANG_WARN_CONSTANT_CONVERSION' => 'YES',
327
- 'CLANG_WARN_DIRECT_OBJC_ISA_USAGE' => 'YES',
344
+ 'CLANG_WARN_DIRECT_OBJC_ISA_USAGE' => 'YES_ERROR',
345
+ 'CLANG_WARN_DOCUMENTATION_COMMENTS' => 'YES',
328
346
  'CLANG_WARN_EMPTY_BODY' => 'YES',
329
347
  'CLANG_WARN_ENUM_CONVERSION' => 'YES',
330
- 'CLANG_WARN_INT_CONVERSION' => 'YES',
331
- 'CLANG_WARN_OBJC_ROOT_CLASS' => 'YES',
332
- 'CLANG_WARN_UNREACHABLE_CODE' => 'YES',
333
- 'CLANG_WARN_DOCUMENTATION_COMMENTS' => 'YES',
334
348
  'CLANG_WARN_INFINITE_RECURSION' => 'YES',
349
+ 'CLANG_WARN_INT_CONVERSION' => 'YES',
350
+ 'CLANG_WARN_NON_LITERAL_NULL_CONVERSION' => 'YES',
351
+ 'CLANG_WARN_OBJC_LITERAL_CONVERSION' => 'YES',
352
+ 'CLANG_WARN_OBJC_ROOT_CLASS' => 'YES_ERROR',
353
+ 'CLANG_WARN_RANGE_LOOP_ANALYSIS' => 'YES',
354
+ 'CLANG_WARN_STRICT_PROTOTYPES' => 'YES',
335
355
  'CLANG_WARN_SUSPICIOUS_MOVE' => 'YES',
336
- 'GCC_C_LANGUAGE_STANDARD' => 'gnu99',
356
+ 'CLANG_WARN_UNGUARDED_AVAILABILITY' => 'YES_AGGRESSIVE',
357
+ 'CLANG_WARN_UNREACHABLE_CODE' => 'YES',
358
+ 'COPY_PHASE_STRIP' => 'NO',
359
+ 'ENABLE_STRICT_OBJC_MSGSEND' => 'YES',
360
+ 'GCC_C_LANGUAGE_STANDARD' => 'gnu11',
361
+ 'GCC_NO_COMMON_BLOCKS' => 'YES',
337
362
  'GCC_WARN_64_TO_32_BIT_CONVERSION' => 'YES',
338
- 'GCC_WARN_ABOUT_RETURN_TYPE' => 'YES',
363
+ 'GCC_WARN_ABOUT_RETURN_TYPE' => 'YES_ERROR',
339
364
  'GCC_WARN_UNDECLARED_SELECTOR' => 'YES',
340
- 'GCC_WARN_UNINITIALIZED_AUTOS' => 'YES',
365
+ 'GCC_WARN_UNINITIALIZED_AUTOS' => 'YES_AGGRESSIVE',
341
366
  'GCC_WARN_UNUSED_FUNCTION' => 'YES',
342
367
  'GCC_WARN_UNUSED_VARIABLE' => 'YES',
368
+ 'PRODUCT_NAME' => '$(TARGET_NAME)',
343
369
  },
344
370
  :release => {
345
- 'COPY_PHASE_STRIP' => 'YES',
371
+ 'DEBUG_INFORMATION_FORMAT' => 'dwarf-with-dsym',
346
372
  'ENABLE_NS_ASSERTIONS' => 'NO',
347
- 'VALIDATE_PRODUCT' => 'YES',
373
+ 'MTL_ENABLE_DEBUG_INFO' => 'NO',
348
374
  }.freeze,
349
375
  :debug => {
350
- 'COPY_PHASE_STRIP' => 'NO',
376
+ 'DEBUG_INFORMATION_FORMAT' => 'dwarf',
351
377
  'ENABLE_TESTABILITY' => 'YES',
352
378
  'GCC_DYNAMIC_NO_PIC' => 'NO',
353
379
  'GCC_OPTIMIZATION_LEVEL' => '0',
354
380
  'GCC_PREPROCESSOR_DEFINITIONS' => ['DEBUG=1', '$(inherited)'],
355
- 'GCC_SYMBOLS_PRIVATE_EXTERN' => 'NO',
381
+ 'MTL_ENABLE_DEBUG_INFO' => 'YES',
356
382
  'ONLY_ACTIVE_ARCH' => 'YES',
357
383
  }.freeze,
358
384
  }.freeze
@@ -1,5 +1,5 @@
1
1
  module Xcodeproj
2
2
  # The version of the xcodeproj gem.
3
3
  #
4
- VERSION = '1.5.1'.freeze unless defined? Xcodeproj::VERSION
4
+ VERSION = '1.5.2'.freeze unless defined? Xcodeproj::VERSION
5
5
  end
@@ -77,15 +77,20 @@ module Xcodeproj
77
77
  # @param [String] key
78
78
  # the key of the build setting.
79
79
  #
80
+ # @param [PBXNativeTarget] root_target
81
+ # use this to resolve complete recursion between project and targets
82
+ #
80
83
  # @return [String] The value of the build setting
81
84
  #
82
- def resolve_build_setting(key)
85
+ def resolve_build_setting(key, root_target = nil)
83
86
  setting = build_settings[key]
87
+ setting = resolve_variable_substitution(setting, root_target) if setting.is_a?(String)
84
88
  config_setting = base_configuration_reference && config[key]
89
+ config_setting = resolve_variable_substitution(config_setting, root_target) if config_setting.is_a?(String)
85
90
 
86
91
  project_setting = project.build_configuration_list[name]
87
92
  project_setting = nil if project_setting == self
88
- project_setting &&= project_setting.resolve_build_setting(key)
93
+ project_setting &&= project_setting.resolve_build_setting(key, root_target)
89
94
 
90
95
  [project_setting, config_setting, setting].compact.reduce do |inherited, value|
91
96
  expand_build_setting(value, inherited)
@@ -96,6 +101,16 @@ module Xcodeproj
96
101
 
97
102
  private
98
103
 
104
+ CAPTURE_VARIABLE_IN_BUILD_CONFIG = /
105
+ \$ # matches dollar sign literally
106
+ [{(] # matches a single caracter on this list
107
+ ( # capture block
108
+ [^inherited] # ignore if match characters in this list
109
+ [$(){}_a-zA-Z0-9]*? # non-greedy lookup for everything that contains this list
110
+ )
111
+ [})] # matches a single caracter on this list
112
+ /x
113
+
99
114
  def expand_build_setting(build_setting_value, config_value)
100
115
  default = build_setting_value.is_a?(String) ? '' : []
101
116
  inherited = config_value || default
@@ -103,6 +118,25 @@ module Xcodeproj
103
118
  build_setting_value.map { |value| Constants::INHERITED_KEYWORDS.include?(value) ? inherited : value }.flatten
104
119
  end
105
120
 
121
+ def resolve_variable_substitution(config_setting, root_target)
122
+ variable = match_variable(config_setting)
123
+ if variable.nil?
124
+ return name if config_setting.eql?('CONFIGURATION')
125
+ if root_target
126
+ return root_target.build_configuration_list[name].resolve_build_setting(config_setting, root_target) || config_setting
127
+ else
128
+ return resolve_build_setting(config_setting, root_target) || config_setting
129
+ end
130
+ end
131
+ resolve_variable_substitution(config_setting.sub(CAPTURE_VARIABLE_IN_BUILD_CONFIG, resolve_variable_substitution(variable, root_target)), root_target)
132
+ end
133
+
134
+ def match_variable(config_setting)
135
+ match_data = config_setting.match(CAPTURE_VARIABLE_IN_BUILD_CONFIG)
136
+ return match_data.captures.first unless match_data.nil?
137
+ match_data
138
+ end
139
+
106
140
  def sorted_build_settings
107
141
  sorted = {}
108
142
  build_settings.keys.sort.each do |key|
@@ -66,13 +66,16 @@ module Xcodeproj
66
66
  # wether the retrieved setting should take in consideration any
67
67
  # configuration file present.
68
68
  #
69
+ # @param [PBXNativeTarget] root_target
70
+ # use this to resolve complete recursion between project and targets
71
+ #
69
72
  # @return [Hash{String => String}] The value of the build setting
70
73
  # grouped by the name of the build configuration.
71
74
  #
72
- def get_setting(key, resolve_against_xcconfig = false)
75
+ def get_setting(key, resolve_against_xcconfig = false, root_target = nil)
73
76
  result = {}
74
77
  build_configurations.each do |bc|
75
- result[bc.name] = resolve_against_xcconfig ? bc.resolve_build_setting(key) : bc.build_settings[key]
78
+ result[bc.name] = resolve_against_xcconfig ? bc.resolve_build_setting(key, root_target) : bc.build_settings[key]
76
79
  end
77
80
  result
78
81
  end
@@ -52,7 +52,7 @@ module Xcodeproj
52
52
  # the default values for the platform.
53
53
  #
54
54
  def resolved_build_setting(key, resolve_against_xcconfig = false)
55
- target_settings = build_configuration_list.get_setting(key, resolve_against_xcconfig)
55
+ target_settings = build_configuration_list.get_setting(key, resolve_against_xcconfig, self)
56
56
  project_settings = project.build_configuration_list.get_setting(key, resolve_against_xcconfig)
57
57
  target_settings.merge(project_settings) do |_key, target_val, proj_val|
58
58
  target_includes_inherited = Constants::INHERITED_KEYWORDS.any? { |keyword| target_val.include?(keyword) } if target_val
@@ -95,18 +95,16 @@ module Xcodeproj
95
95
  target.product_name = name
96
96
  target.product_type = Constants::PRODUCT_TYPE_UTI[:bundle]
97
97
 
98
- build_settings = common_build_settings(nil, platform, nil, target.product_type)
99
-
100
98
  # Configuration List
101
99
  cl = project.new(XCConfigurationList)
102
100
  cl.default_configuration_is_visible = '0'
103
101
  cl.default_configuration_name = 'Release'
104
102
  release_conf = project.new(XCBuildConfiguration)
105
103
  release_conf.name = 'Release'
106
- release_conf.build_settings = build_settings
104
+ release_conf.build_settings = common_build_settings(nil, platform, nil, target.product_type)
107
105
  debug_conf = project.new(XCBuildConfiguration)
108
106
  debug_conf.name = 'Debug'
109
- debug_conf.build_settings = build_settings
107
+ debug_conf.build_settings = common_build_settings(nil, platform, nil, target.product_type)
110
108
  cl.build_configurations << release_conf
111
109
  cl.build_configurations << debug_conf
112
110
  target.build_configuration_list = cl
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: xcodeproj
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.1
4
+ version: 1.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eloy Duran
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-19 00:00:00.000000000 Z
11
+ date: 2017-09-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: CFPropertyList