cocoapods-core 1.11.0.beta.1 → 1.11.0.beta.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
  SHA256:
3
- metadata.gz: fc77a2caddc23264c82d1b938d3861baa7db772d1aa64a2e8796d48fce457029
4
- data.tar.gz: c456ecc4030277077b806f0e4cc73eb4ee292d48278cd2bde8ef45a64a180d32
3
+ metadata.gz: ff12ddf7a1e9510d4d701b561478ca599ce262f8c8924bc9b82b0a7ba31fb127
4
+ data.tar.gz: 2416235d2edcc6bfe656057a090f54afdf96d53948ab1e6796ffbbcdef5a0036
5
5
  SHA512:
6
- metadata.gz: b3d173d8a43823bba5466e2385c8eaa728f6221a356a00ea557cd1488969154967b8175aed46b39fcb8f632ef18e28f73c8bc1bdbdaa3aa8aa08747733005a60
7
- data.tar.gz: e9cfcadb169aff82575dac6e0e7a0e293a24cb4f69a603ff153397f168aedd426c0d8a23e1eb40822903d73afdb6f9f89b561df48e3be24dfc3330d9f885205e
6
+ metadata.gz: 2312bc251e1772ea971db3512379bb3b3184437c72f1dd792f70094a8f888aa2cfc702b5e6bc1001fffb0573d3f7107bc19b872ef4229d2ad94510a608240287
7
+ data.tar.gz: 4aea2e2fcd793014741625dbcc2f7a88f8b4d7181dde1fd2952d43d267eaa00e3cda4386f3005e93ee7d81aefe104b55c5ba23d1b8f962498306267e069d0d1e
@@ -1,5 +1,5 @@
1
1
  module Pod
2
2
  # The version of the cocoapods-core.
3
3
  #
4
- CORE_VERSION = '1.11.0.beta.1'.freeze unless defined? Pod::CORE_VERSION
4
+ CORE_VERSION = '1.11.0.beta.2'.freeze unless defined? Pod::CORE_VERSION
5
5
  end
@@ -463,6 +463,12 @@ module Pod
463
463
  end
464
464
  end
465
465
 
466
+ # @return [Hash] The on demand resources value.
467
+ #
468
+ def on_demand_resources
469
+ attributes_hash['on_demand_resources'] || {}
470
+ end
471
+
466
472
  # @return [Hash] The scheme value.
467
473
  #
468
474
  def scheme
@@ -471,13 +471,21 @@ module Pod
471
471
  # @param [String, Array, Hash] value.
472
472
  # The value of the attribute as specified by the user.
473
473
  #
474
- # @return [Hash] the on demand resources1.
474
+ # @return [Hash] the on demand resources.
475
475
  #
476
476
  def _prepare_on_demand_resources(value)
477
477
  result = {}
478
478
  if value
479
479
  value.each do |key, patterns|
480
- result[key] = [*patterns].compact
480
+ case patterns
481
+ when String, Array
482
+ result[key] = { :paths => [*patterns].compact, :category => :download_on_demand }
483
+ when Hash
484
+ patterns = Specification.convert_keys_to_symbol(patterns, :recursive => false)
485
+ result[key] = { :paths => [*patterns[:paths]].compact, :category => patterns.fetch(:category, :download_on_demand).to_sym }
486
+ else
487
+ raise StandardError, "Unknown on demand resource value type `#{patterns}`."
488
+ end
481
489
  end
482
490
  end
483
491
  result
@@ -1361,26 +1361,52 @@ module Pod
1361
1361
 
1362
1362
  #------------------#
1363
1363
 
1364
+ # The keys accepted by the category attribute for each on demand resource entry.
1365
+ #
1366
+ ON_DEMAND_RESOURCES_CATEGORY_KEYS = [:download_on_demand, :prefetched, :initial_install].freeze
1367
+
1364
1368
  # @!method on_demand_resources=(on_demand_resources)
1365
1369
  #
1366
- # A hash of on_demand_resources that should be copied into the target bundle. Resources specified here
1367
- # will automatically become part of the resources build phase of the target.
1370
+ # A hash of on demand resources that should be copied into the target bundle. Resources specified here
1371
+ # will automatically become part of the resources build phase of the target this pod is integrated into.
1372
+ #
1373
+ # If no category is specified then `:download_on_demand` is used as the default.
1374
+ #
1375
+ # @note
1376
+ #
1377
+ # Tags specified by pods are _always_ managed by CocoaPods. If a tag is renamed, changed or deleted then
1378
+ # CocoaPods will update the tag within the targets the pod was integrated into. It is highly recommended not to
1379
+ # share the same tags for your project as the ones used by the pods your project consumes.
1380
+ #
1381
+ # @example
1382
+ #
1383
+ # s.on_demand_resources = {
1384
+ # 'Tag1' => 'file1.png'
1385
+ # }
1386
+ #
1387
+ # @example
1388
+ #
1389
+ # s.on_demand_resources = {
1390
+ # 'Tag1' => ['file1.png', 'file2.png']
1391
+ # }
1368
1392
  #
1369
1393
  # @example
1370
1394
  #
1371
1395
  # s.on_demand_resources = {
1372
- # 'Tag1' => 'file1.png'
1396
+ # 'Tag1' => { :paths => ['file1.png', 'file2.png'], :category => :download_on_demand }
1373
1397
  # }
1374
1398
  #
1399
+ # @example
1400
+ #
1375
1401
  # s.on_demand_resources = {
1376
- # 'Tag1' => ['file1.png', 'file2.png']
1402
+ # 'Tag1' => { :paths => ['file1.png', 'file2.png'], :category => :initial_install }
1377
1403
  # }
1378
1404
  #
1379
- # @param [Hash{String=>String}, Hash{String=>Array<String>}] on_demand_resources
1380
- # The on_demand_resources shipped with the Pod.
1405
+ # @param [Hash{String=>String}, Hash{String=>Array<String>}, Hash{String=>Hash}] on_demand_resources
1406
+ # The on demand resources shipped with the Pod.
1381
1407
  #
1382
1408
  attribute :on_demand_resources,
1383
- :types => [String, Array],
1409
+ :types => [String, Array, Hash],
1384
1410
  :container => Hash,
1385
1411
  :file_patterns => true,
1386
1412
  :singularize => true
@@ -434,6 +434,17 @@ module Pod
434
434
  end
435
435
  end
436
436
 
437
+ # Performs validations related to the `on_demand_resources` attribute.
438
+ #
439
+ def _validate_on_demand_resources(h)
440
+ h.values.each do |value|
441
+ unless Specification::ON_DEMAND_RESOURCES_CATEGORY_KEYS.include?(value[:category])
442
+ results.add_error('on_demand_resources', "Invalid on demand resources category value `#{value[:category]}`. " \
443
+ "Available options are `#{Specification::ON_DEMAND_RESOURCES_CATEGORY_KEYS.join(', ')}`.")
444
+ end
445
+ end
446
+ end
447
+
437
448
  # Performs validation related to the `scheme` attribute.
438
449
  #
439
450
  def _validate_scheme(s)
@@ -90,6 +90,7 @@ module Pod
90
90
 
91
91
  if patterns.respond_to?(:each)
92
92
  patterns.each do |pattern|
93
+ pattern = pattern[:paths].join if attrb.name == :on_demand_resources
93
94
  if pattern.respond_to?(:start_with?) && pattern.start_with?('/')
94
95
  results.add_error('File Patterns', 'File patterns must be ' \
95
96
  "relative and cannot start with a slash (#{attrb.name}).")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoapods-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.11.0.beta.1
4
+ version: 1.11.0.beta.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eloy Duran
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-08-09 00:00:00.000000000 Z
12
+ date: 2021-08-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -231,7 +231,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
231
231
  - !ruby/object:Gem::Version
232
232
  version: 1.3.1
233
233
  requirements: []
234
- rubygems_version: 3.0.3
234
+ rubygems_version: 3.1.3
235
235
  signing_key:
236
236
  specification_version: 4
237
237
  summary: The models of CocoaPods