xcode-archive-cache 0.0.10.pre.1 → 0.0.12
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 +4 -4
- data/lib/build/product_extractor.rb +84 -11
- data/lib/build_graph/builder.rb +10 -10
- data/lib/build_graph/native_target_finder.rb +123 -13
- data/lib/build_graph/node.rb +19 -7
- data/lib/build_graph/sha_calculator.rb +20 -2
- data/lib/build_settings/extractor.rb +2 -0
- data/lib/build_settings/loader.rb +2 -0
- data/lib/build_settings/parser.rb +28 -5
- data/lib/build_settings/string_interpolator.rb +21 -5
- data/lib/config/config.rb +2 -2
- data/lib/extensions/build_configuration.rb +26 -0
- data/lib/extensions/target.rb +58 -0
- data/lib/injection/build_flags_changer.rb +149 -46
- data/lib/injection/dependency_remover.rb +22 -1
- data/lib/injection/headers_mover.rb +13 -2
- data/lib/injection/injector.rb +53 -34
- data/lib/injection/pods_script_fixer.rb +18 -33
- data/lib/injection/pods_xcframework_fixer.rb +126 -0
- data/lib/injection/storage.rb +16 -16
- data/lib/modulemap/file_handler.rb +20 -0
- data/lib/modulemap/header_path_extractor.rb +67 -0
- data/lib/modulemap/header_path_fixer.rb +65 -0
- data/lib/runner/runner.rb +39 -20
- data/lib/shell/executor.rb +13 -1
- data/lib/xcode-archive-cache.rb +8 -1
- data/lib/xcodebuild/executor.rb +1 -1
- metadata +20 -15
- data/lib/injection/modulemap_fixer.rb +0 -47
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: xcode-archive-cache
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ilya Dyakonov
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-10-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: xcodeproj
|
@@ -36,20 +36,20 @@ dependencies:
|
|
36
36
|
requirements:
|
37
37
|
- - ">="
|
38
38
|
- !ruby/object:Gem::Version
|
39
|
-
version: '
|
39
|
+
version: '2.0'
|
40
40
|
- - "<"
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: '
|
42
|
+
version: '3.0'
|
43
43
|
type: :runtime
|
44
44
|
prerelease: false
|
45
45
|
version_requirements: !ruby/object:Gem::Requirement
|
46
46
|
requirements:
|
47
47
|
- - ">="
|
48
48
|
- !ruby/object:Gem::Version
|
49
|
-
version: '
|
49
|
+
version: '2.0'
|
50
50
|
- - "<"
|
51
51
|
- !ruby/object:Gem::Version
|
52
|
-
version: '
|
52
|
+
version: '3.0'
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
54
|
name: xcpretty
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
@@ -78,8 +78,8 @@ dependencies:
|
|
78
78
|
- - "~>"
|
79
79
|
- !ruby/object:Gem::Version
|
80
80
|
version: '1.0'
|
81
|
-
description:
|
82
|
-
email:
|
81
|
+
description:
|
82
|
+
email:
|
83
83
|
executables:
|
84
84
|
- xcode-archive-cache
|
85
85
|
extensions: []
|
@@ -107,15 +107,20 @@ files:
|
|
107
107
|
- lib/command/inject.rb
|
108
108
|
- lib/config/config.rb
|
109
109
|
- lib/config/dsl.rb
|
110
|
+
- lib/extensions/build_configuration.rb
|
111
|
+
- lib/extensions/target.rb
|
110
112
|
- lib/injection/build_flags_changer.rb
|
111
113
|
- lib/injection/dependency_remover.rb
|
112
114
|
- lib/injection/framework_embedder.rb
|
113
115
|
- lib/injection/headers_mover.rb
|
114
116
|
- lib/injection/injector.rb
|
115
|
-
- lib/injection/modulemap_fixer.rb
|
116
117
|
- lib/injection/pods_script_fixer.rb
|
118
|
+
- lib/injection/pods_xcframework_fixer.rb
|
117
119
|
- lib/injection/storage.rb
|
118
120
|
- lib/logs/logs.rb
|
121
|
+
- lib/modulemap/file_handler.rb
|
122
|
+
- lib/modulemap/header_path_extractor.rb
|
123
|
+
- lib/modulemap/header_path_fixer.rb
|
119
124
|
- lib/runner/runner.rb
|
120
125
|
- lib/shell/executor.rb
|
121
126
|
- lib/xcode-archive-cache.rb
|
@@ -124,7 +129,7 @@ homepage: https://github.com/sweatco/xcode-archive-cache
|
|
124
129
|
licenses:
|
125
130
|
- MIT
|
126
131
|
metadata: {}
|
127
|
-
post_install_message:
|
132
|
+
post_install_message:
|
128
133
|
rdoc_options: []
|
129
134
|
require_paths:
|
130
135
|
- lib
|
@@ -135,12 +140,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
135
140
|
version: 2.0.0
|
136
141
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
137
142
|
requirements:
|
138
|
-
- - "
|
143
|
+
- - ">="
|
139
144
|
- !ruby/object:Gem::Version
|
140
|
-
version:
|
145
|
+
version: '0'
|
141
146
|
requirements: []
|
142
|
-
rubygems_version: 3.
|
143
|
-
signing_key:
|
147
|
+
rubygems_version: 3.1.6
|
148
|
+
signing_key:
|
144
149
|
specification_version: 4
|
145
150
|
summary: Native targets cache for Xcode archive builds.
|
146
151
|
test_files: []
|
@@ -1,47 +0,0 @@
|
|
1
|
-
module XcodeArchiveCache
|
2
|
-
module Injection
|
3
|
-
|
4
|
-
class ModulemapFixer
|
5
|
-
|
6
|
-
# @param [Storage] storage
|
7
|
-
#
|
8
|
-
def initialize(storage)
|
9
|
-
@storage = storage
|
10
|
-
end
|
11
|
-
|
12
|
-
# @param [XcodeArchiveCache::BuildGraph::Node] node
|
13
|
-
#
|
14
|
-
def fix_modulemap(node)
|
15
|
-
return unless node.has_static_library_product?
|
16
|
-
|
17
|
-
modulemap_file_path = node.modulemap_file_path
|
18
|
-
return if modulemap_file_path == nil
|
19
|
-
|
20
|
-
injected_modulemap_file_path = storage.get_modulemap_path(node)
|
21
|
-
return if injected_modulemap_file_path == nil
|
22
|
-
|
23
|
-
swift_objc_interface_header_file_name = node.swift_objc_interface_header_file
|
24
|
-
return if swift_objc_interface_header_file_name == nil
|
25
|
-
|
26
|
-
# add generated header to modulemap to make Swift stuff available module users
|
27
|
-
#
|
28
|
-
storage_path = storage.get_storage_path(node)
|
29
|
-
header_path = File.join(storage_path, swift_objc_interface_header_file_name)
|
30
|
-
return unless File.exist?(header_path)
|
31
|
-
|
32
|
-
File.open(injected_modulemap_file_path, "a") do |modulemap_file|
|
33
|
-
modulemap_file.puts "\nmodule #{node.module_name}.Swift {\n"
|
34
|
-
modulemap_file.puts " header \"#{header_path}\"\n"
|
35
|
-
modulemap_file.puts " requires objc\n"
|
36
|
-
modulemap_file.puts "}\n"
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
private
|
41
|
-
|
42
|
-
# @return [Storage]
|
43
|
-
#
|
44
|
-
attr_accessor :storage
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|