cocoapods-alexandria 0.1.4 → 0.2.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 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