cocoapods-spm 0.0.3 → 0.0.4

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: 43e96257dc89796c000a5115e81d36fc9ef9df8208eba676a2fd1b6961864b84
4
- data.tar.gz: 1aafa45b40759edbcb3e3ceee7a699038ca2638f8d6c432bd8a4dce2a5321783
3
+ metadata.gz: 7d90d3841df89cb8d7eb74c8ad184992ae08ec0ed58581827bae94fecdbb9d71
4
+ data.tar.gz: 90220d0a9b57102775d8819e972098f5d43a8ddb367e091f1963fe24fead0232
5
5
  SHA512:
6
- metadata.gz: c6673bab5c9be9aef9834c835fa6f732e7107cd19dedee9fade7674a11da5e08a59456e829a867e5dc5bc683a7506009bd947178f3b1184ed4e2d8f3100798e8
7
- data.tar.gz: db59493b90243638c878ed6d9140155c9059f147ee3dda1c826ea2d2c0739329d10ddf2e5c6c5b53968b6cb85ba9159421e3405fae66d5f2ba340869f13bf5cf
6
+ metadata.gz: e67677e877f86e94e159630506ab0638429f374cb2aeed940630db7c0b05450ac40cc23fc21868caeef91be9c2c5feed11b61d4e1d2d2f23383da6329d3a1f7c
7
+ data.tar.gz: cb91b35ceff530f2b475ab25a5a645cc4e9622401de79064cf0841403135c83aa440265803b7c9520931dd37d18745be7a9dcda7f030a6cfdc36000d79f30279
@@ -2,69 +2,67 @@ require "cocoapods-spm/config"
2
2
 
3
3
  module Pod
4
4
  class Podfile
5
- module DSL
6
- attr_accessor :spm_analyzer
5
+ attr_accessor :spm_analyzer
7
6
 
8
- alias origin_pod pod
9
- def config_cocoapods_spm(options)
10
- SPM::Config.instance.dsl_config = options
11
- end
7
+ alias origin_pod pod
8
+ def config_cocoapods_spm(options)
9
+ SPM::Config.instance.dsl_config = options
10
+ end
12
11
 
13
- def macro_pods
14
- @macro_pods ||= {}
15
- end
12
+ def macro_pods
13
+ @macro_pods ||= {}
14
+ end
16
15
 
17
- def pod(name = nil, *requirements)
18
- macro = requirements[0].delete(:macro) if requirements.first.is_a?(Hash)
19
- macro ||= {}
20
- unless macro.empty?
21
- requirements[0][:path] = prepare_macro_pod_dir(name, macro)
22
- macro_pods[name] = macro
23
- end
24
- origin_pod(name, *requirements)
16
+ def pod(name = nil, *requirements)
17
+ macro = requirements[0].delete(:macro) if requirements.first.is_a?(Hash)
18
+ macro ||= {}
19
+ unless macro.empty?
20
+ requirements[0][:path] = prepare_macro_pod_dir(name, macro)
21
+ macro_pods[name] = macro
25
22
  end
23
+ origin_pod(name, *requirements)
24
+ end
26
25
 
27
- def spm_pkg(name, options)
28
- current_target_definition.store_spm_pkg(name, options)
29
- end
26
+ def spm_pkg(name, options)
27
+ current_target_definition.store_spm_pkg(name, options)
28
+ end
30
29
 
31
- def spm_pkgs_for(target)
32
- spm_pkgs_by_aggregate_target[target.to_s]
33
- end
30
+ def spm_pkgs_for(target)
31
+ spm_pkgs_by_aggregate_target[target.to_s]
32
+ end
34
33
 
35
- def spm_pkgs_by_aggregate_target
36
- @spm_pkgs_by_aggregate_target ||= begin
37
- common_spm_pkgs = root_target_definitions.flat_map(&:spm_pkgs)
38
- target_definition_list.reject(&:abstract?).to_h do |target|
39
- [target.to_s, (common_spm_pkgs + target.spm_pkgs).uniq(&:name)]
40
- end
34
+ def spm_pkgs_by_aggregate_target
35
+ @spm_pkgs_by_aggregate_target ||= begin
36
+ common_spm_pkgs = root_target_definitions.flat_map(&:spm_pkgs)
37
+ target_definition_list.reject(&:abstract?).to_h do |target|
38
+ [target.to_s, (common_spm_pkgs + target.spm_pkgs).uniq(&:name)]
41
39
  end
42
40
  end
41
+ end
43
42
 
44
- private
43
+ private
45
44
 
46
- def prepare_macro_pod_dir(name, requirement)
47
- link = requirement[:git]
48
- podspec_content = <<~HEREDOC
49
- Pod::Spec.new do |s|
50
- s.name = "#{name}"
51
- s.version = "0.0.1"
52
- s.summary = "#{name}"
53
- s.description = "#{name}"
54
- s.homepage = "#{link}"
55
- s.license = "MIT"
56
- s.authors = "dummy@gmail.com"
57
- s.source = #{requirement}
58
- s.source_files = "Sources/**/*"
59
- end
60
- HEREDOC
45
+ def prepare_macro_pod_dir(name, requirement)
46
+ link = requirement[:git]
47
+ podspec_content = <<~HEREDOC
48
+ Pod::Spec.new do |s|
49
+ s.name = "#{name}"
50
+ s.version = "0.0.1"
51
+ s.summary = "#{name}"
52
+ s.description = "#{name}"
53
+ s.homepage = "#{link}"
54
+ s.license = "MIT"
55
+ s.authors = "dummy@gmail.com"
56
+ s.source = #{requirement}
57
+ s.source_files = "Sources/**/*"
58
+ end
59
+ HEREDOC
61
60
 
62
- path = Pathname(".spm.pods/#{name}")
63
- (path / ".prebuilt").mkpath
64
- (path / "Sources").mkpath
65
- (path / "#{name}.podspec").write(podspec_content)
66
- path
67
- end
61
+ path = Pathname(".spm.pods/#{name}")
62
+ (path / ".prebuilt").mkpath
63
+ (path / "Sources").mkpath
64
+ (path / "#{name}.podspec").write(podspec_content)
65
+ path
68
66
  end
69
67
  end
70
68
  end
@@ -48,7 +48,11 @@ module Pod
48
48
  # For packages to work in the main target
49
49
  perform_settings_update(
50
50
  update_targets: lambda do |target, _, _|
51
- { "OTHER_LDFLAGS" => linker_flags_for(target) }
51
+ {
52
+ "OTHER_LDFLAGS" => linker_flags_for(target),
53
+ "FRAMEWORK_SEARCH_PATHS" => "\"${PODS_CONFIGURATION_BUILD_DIR}/PackageFrameworks\"",
54
+ "LIBRARY_SEARCH_PATHS" => "\"${PODS_CONFIGURATION_BUILD_DIR}\""
55
+ }
52
56
  end
53
57
  )
54
58
  end
@@ -56,9 +60,7 @@ module Pod
56
60
  def linker_flags_for(target)
57
61
  spm_deps = @spm_analyzer.spm_dependencies_by_target[target.to_s].to_a
58
62
  framework_flags = spm_deps.select(&:dynamic?).map { |d| "-framework \"#{d.product}\"" }
59
- framework_flags << '-F"${PODS_CONFIGURATION_BUILD_DIR}/PackageFrameworks"' unless framework_flags.empty?
60
63
  library_flags = spm_deps.reject(&:dynamic?).map { |d| "-l\"#{d.product}.o\"" }
61
- library_flags << '-L"${PODS_CONFIGURATION_BUILD_DIR}"' unless library_flags.empty?
62
64
  framework_flags + library_flags
63
65
  end
64
66
 
@@ -68,7 +70,7 @@ module Pod
68
70
  # For macro packages
69
71
  perform_settings_update(
70
72
  update_targets: lambda do |_, _, _|
71
- { "SWIFT_INCLUDE_PATHS" => "${SYMROOT}/${CONFIGURATION}${EFFECTIVE_PLATFORM_NAME}" }
73
+ { "SWIFT_INCLUDE_PATHS" => "$(PODS_CONFIGURATION_BUILD_DIR)" }
72
74
  end
73
75
  )
74
76
  end
@@ -7,7 +7,7 @@ module Pod
7
7
  end
8
8
 
9
9
  def includes_dynamic_spm_dependencies?
10
- podfile.spm_analyzer.spm_dependencies_for(self).any?(&:dynamic)
10
+ podfile.spm_analyzer.spm_dependencies_for(self).any?(&:dynamic?)
11
11
  end
12
12
  end
13
13
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cocoapods-spm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thuyen Trinh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-12-22 00:00:00.000000000 Z
11
+ date: 2023-12-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xcodeproj