cocoapods-alexandria 0.1.4 → 0.2.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: 517ace8b579f051031cfc0ac5fedb40928e7e0fb355cdc4cdef496fcb66d2a33
4
- data.tar.gz: 06154bcf0cabd6a81496f298e860e1f41213dfb6a59209ac7c8e51c1a47d2d7f
3
+ metadata.gz: 9400a2ed133bb3f4f14db6c3d24a6df569875130386e59734e02558b05913143
4
+ data.tar.gz: 57dc2f0f5d526cffb5c8c0958a684d55be0413d64fada2df4426aa6b4c5615eb
5
5
  SHA512:
6
- metadata.gz: 755d5f29b4ee6e8c98fdee75e5cb71835a7c9a11f57e5f6f4cce63422e32b050a1b65bf86dac7021bfaa24cbfbcd69c482aa91ce47b7304b961e4575ace4daeb
7
- data.tar.gz: 03d8fe36a2e6053da601ce2b329a25325591cd2403c236ce1757dc5d2c56de4b18fa617d3c507ad132a99cfe1ddc2e27160ddfa2fe51ac6930ddc7ee1995661a
6
+ metadata.gz: 3ca10b51f5ff9059f9fc3007191555e4b7af0b51c13f7d77295a8d6676c8c551b597db4f0d7da2498adb95cc6016dc53b75faa70e88823f03a015b0b5dbd942a
7
+ data.tar.gz: 2285e47798e9eb4207099d09e9eb5053fccc2021a43e7d9adf0c5801ca508808615a86a0a24f20ad27702093039ac89d2dc714718a592e8de3b224e5a674eaf8
@@ -1,3 +1,3 @@
1
1
  module CocoapodsAlexandria
2
- VERSION = '0.1.4'
2
+ VERSION = '0.2.0'
3
3
  end
@@ -3,17 +3,23 @@ module PodAlexandria
3
3
  attr_reader :environment_configs
4
4
  attr_reader :force_bitcode
5
5
  attr_reader :xcodegen_dependencies_file
6
+ attr_reader :do_not_embed_dependencies_in_targets
6
7
 
7
8
  def initialize(installer_context, user_options)
8
9
  @environment_configs = user_options.fetch('environment_configs', default_configurations(installer_context))
9
10
  @force_bitcode = user_options.fetch('force_bitcode', true)
10
11
  @xcodegen_dependencies_file = user_options.fetch('xcodegen_dependencies_file', 'projectDependencies.yml')
12
+ @do_not_embed_dependencies_in_targets = user_options.fetch('do_not_embed_dependencies_in_targets', [])
11
13
  end
12
14
 
13
15
  def environment_configs_for(target)
14
16
  environment_configs[normalize_target(target)]
15
17
  end
16
18
 
19
+ def allow_embed_dependencies_for(target)
20
+ !do_not_embed_dependencies_in_targets.include?(normalize_target(target))
21
+ end
22
+
17
23
  private
18
24
 
19
25
  def default_configurations(installer_context)
@@ -6,7 +6,12 @@ module PodAlexandria
6
6
  # and also checking if they are linked dynamically or not.
7
7
  def self.generate_dependencies(installer_context, options)
8
8
  targets = installer_context.umbrella_targets.map { |target|
9
- generate_for_target(installer_context, target, options.environment_configs_for(target.cocoapods_target_label))
9
+ generate_for_target(
10
+ installer_context,
11
+ target,
12
+ options.environment_configs_for(target.cocoapods_target_label),
13
+ options.allow_embed_dependencies_for(target.cocoapods_target_label)
14
+ )
10
15
  }.to_h
11
16
 
12
17
  File.open(options.xcodegen_dependencies_file, 'w') { |file|
@@ -16,7 +21,7 @@ module PodAlexandria
16
21
 
17
22
  private
18
23
 
19
- def self.generate_for_target(installer_context, target, configurations)
24
+ def self.generate_for_target(installer_context, target, configurations, allow_embed)
20
25
  target_name = target.cocoapods_target_label.sub(/^Pods-/, '')
21
26
  xcconfig = config_file_for_target(installer_context, target)
22
27
 
@@ -24,7 +29,7 @@ module PodAlexandria
24
29
  target_name,
25
30
  {
26
31
  'configFiles' => configurations,
27
- 'dependencies' => get_dependencies_from_xcconfig(xcconfig).map(&:xcodegen_info)
32
+ 'dependencies' => get_dependencies_from_xcconfig(xcconfig).map { |d| d.xcodegen_info(allow_embed) }
28
33
  }
29
34
  ]
30
35
  end
@@ -8,11 +8,11 @@ module PodAlexandria
8
8
  @module_name = value.delete_prefix('-l').delete_prefix('-f').delete_prefix('-wf')
9
9
  end
10
10
 
11
- def xcodegen_info
11
+ def xcodegen_info(allow_embed)
12
12
  if exists?
13
13
  {
14
14
  'framework' => path,
15
- 'embed' => is_dynamic?,
15
+ 'embed' => is_dynamic? && allow_embed,
16
16
  'weak' => is_weak?
17
17
  }
18
18
  else
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoapods-alexandria
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Jennes
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-02-17 00:00:00.000000000 Z
11
+ date: 2021-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cocoapods