cocoapods-spm 0.1.0 → 0.1.1
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b31c9b35087187bc68aa7537abeb5fec4fb45e496c767382b8b8300ebadebf30
|
4
|
+
data.tar.gz: fa9dcb1a770f7aeb42db04739bc81ae9ff52c9e0fffe0368e7769f36e1b99977
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e644e4b8ba131f6eac0694ee25548e85f0782fadc794d68c944a18c969671f175aa14baaa0928b31cbbdbea0a8b3e14cd8ca01fb78022d8b4db1a66f676758e7
|
7
|
+
data.tar.gz: ea77387bf7c1e8ecb35fc00693450d0456b3535490561c4012397ab347127381719038d3ce6de88b529ba3966645d40d9d42adc8e5481763006f731f0c4e82d2
|
@@ -62,6 +62,9 @@ module Pod
|
|
62
62
|
hash = update.call(target, setting, config)
|
63
63
|
setting.xcconfig.merge!(hash)
|
64
64
|
setting.generate.merge!(hash)
|
65
|
+
Installer::Xcode::PodsProjectGenerator::TargetInstallerHelper.update_changed_file(
|
66
|
+
setting, target.xcconfig_path(config)
|
67
|
+
)
|
65
68
|
end
|
66
69
|
|
67
70
|
pod_targets.each do |target|
|
@@ -32,7 +32,7 @@ module Pod
|
|
32
32
|
end
|
33
33
|
|
34
34
|
def update_other_swift_flags
|
35
|
-
return
|
35
|
+
return if spm_config.all_macros.empty?
|
36
36
|
|
37
37
|
# For prebuilt macros
|
38
38
|
perform_settings_update(
|
@@ -43,7 +43,7 @@ module Pod
|
|
43
43
|
end
|
44
44
|
|
45
45
|
def update_linker_flags
|
46
|
-
return
|
46
|
+
return if @spm_analyzer.spm_pkgs.empty?
|
47
47
|
|
48
48
|
# For packages to work in the main target
|
49
49
|
perform_settings_update(
|
@@ -65,7 +65,7 @@ module Pod
|
|
65
65
|
end
|
66
66
|
|
67
67
|
def update_swift_include_paths
|
68
|
-
return
|
68
|
+
return if @spm_analyzer.spm_pkgs.empty?
|
69
69
|
|
70
70
|
# For macro packages
|
71
71
|
perform_settings_update(
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require "cocoapods-spm/installer/validator"
|
2
|
+
|
1
3
|
module Pod
|
2
4
|
class Installer
|
3
5
|
class SPMAnalyzer
|
@@ -13,6 +15,7 @@ module Pod
|
|
13
15
|
def analyze
|
14
16
|
analyze_spm_pkgs
|
15
17
|
analyze_spm_dependencies_by_target
|
18
|
+
validate!
|
16
19
|
end
|
17
20
|
|
18
21
|
def spm_dependencies_for(target)
|
@@ -64,6 +67,11 @@ module Pod
|
|
64
67
|
@_spm_pkgs_by_name ||= @spm_pkgs.to_h { |pkg| [pkg.name, pkg] }
|
65
68
|
@_spm_pkgs_by_name[name]
|
66
69
|
end
|
70
|
+
|
71
|
+
def validate!
|
72
|
+
validator = SPMValidator.new(@aggregate_targets, @spm_pkgs, @spm_dependencies_by_target)
|
73
|
+
validator.validate!
|
74
|
+
end
|
67
75
|
end
|
68
76
|
end
|
69
77
|
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module Pod
|
2
|
+
class Installer
|
3
|
+
class SPMValidator
|
4
|
+
def initialize(aggregate_targets, spm_pkgs, spm_dependencies_by_target)
|
5
|
+
@aggregate_targets = aggregate_targets
|
6
|
+
@spm_pkgs = spm_pkgs
|
7
|
+
@spm_dependencies_by_target = spm_dependencies_by_target
|
8
|
+
end
|
9
|
+
|
10
|
+
def validate!
|
11
|
+
verify_no_missing_pkgs
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
def dependents_of_pkg(name)
|
17
|
+
@specs ||= @aggregate_targets.flat_map(&:specs).uniq
|
18
|
+
@specs.select { |s| s.spm_dependencies.any? { |d| d.name == name } }.map(&:name)
|
19
|
+
end
|
20
|
+
|
21
|
+
def verify_no_missing_pkgs
|
22
|
+
missing_pkgs = @spm_dependencies_by_target.values.flatten.select { |d| d.pkg.nil? }.map(&:name).uniq
|
23
|
+
return if missing_pkgs.empty?
|
24
|
+
|
25
|
+
messages = ["The following packages were not declared in Podfile:"]
|
26
|
+
messages += missing_pkgs.map { |pkg| " • #{pkg}: used by #{dependents_of_pkg(pkg).join(', ')}" }
|
27
|
+
messages << "Use the `spm_pkg` method to declare those packages in Podfile."
|
28
|
+
raise Informative, messages.join("\n")
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
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.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Thuyen Trinh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-03-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: xcodeproj
|
@@ -46,8 +46,9 @@ files:
|
|
46
46
|
- lib/cocoapods-spm/hooks/base.rb
|
47
47
|
- lib/cocoapods-spm/hooks/post_integrate/add_spm_pkgs.rb
|
48
48
|
- lib/cocoapods-spm/hooks/post_integrate/update_embed_frameworks_script.rb
|
49
|
-
- lib/cocoapods-spm/hooks/
|
49
|
+
- lib/cocoapods-spm/hooks/post_integrate/update_settings.rb
|
50
50
|
- lib/cocoapods-spm/installer/analyzer.rb
|
51
|
+
- lib/cocoapods-spm/installer/validator.rb
|
51
52
|
- lib/cocoapods-spm/macro/fetcher.rb
|
52
53
|
- lib/cocoapods-spm/macro/pod_installer.rb
|
53
54
|
- lib/cocoapods-spm/macro/prebuilder.rb
|
@@ -75,7 +76,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
75
76
|
- !ruby/object:Gem::Version
|
76
77
|
version: '0'
|
77
78
|
requirements: []
|
78
|
-
rubygems_version: 3.
|
79
|
+
rubygems_version: 3.2.33
|
79
80
|
signing_key:
|
80
81
|
specification_version: 4
|
81
82
|
summary: CocoaPods plugin to add SPM dependencies to CocoaPods targets
|