xcodeproj 1.5.1 → 1.5.2

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
  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