cocoapods-xcremotecache 0.0.9 → 0.0.10
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/README.md +1 -0
- data/lib/cocoapods-xcremotecache/command/hooks.rb +14 -12
- data/lib/cocoapods-xcremotecache/gem_version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1fc87268b74a697a6b70fb9ec6b33d4c39791b859853ed7b259bd8b1a7863da3
|
4
|
+
data.tar.gz: 178209c802e125dc34ae391aae672b4ff23b704cc3ac024817ce3fcefb6b33de
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 57f5a7b4136879cee987bfce46a920b0ea25296e8684d931fae2702f5e37c5d0f00ae81155c271008eaa58e14dad1bdb03316ed3945697e3a2388aafeb79b8bc
|
7
|
+
data.tar.gz: 6da51ede43ab92f20fb85b108135549e4e1e98d0934f0c3993a9c8f3f653fb337a5569e9b7435815cf49917e2b05ad64ebdef6352d2713cc882d8344d906c046
|
data/README.md
CHANGED
@@ -53,6 +53,7 @@ An object that is passed to the `xcremotecache` can contain all properties suppo
|
|
53
53
|
| `xccc_file` | The path where should be placed the `xccc` binary (in the pod installation phase) | `{podfile_dir}/.rc/xccc` | ⬜️ |
|
54
54
|
| `remote_commit_file` | The path of the file with the remote commit sha (in the pod installation phase) | `{podfile_dir}/.rc/arc.rc`| ⬜️ |
|
55
55
|
| `prettify_meta_files` | A Boolean value that opts-in pretty JSON formatting for meta files | `false` | ⬜️ |
|
56
|
+
| `fake_src_root` | An arbitrary source location shared between producers and consumers. Should be unique for a project. | `/xxxxxxxxxx` | ⬜️ |
|
56
57
|
| `disable_certificate_verification` | A Boolean value that opts-in SSL certificate validation is disabled | `false` | ⬜️ |
|
57
58
|
|
58
59
|
## Uninstalling
|
@@ -24,7 +24,6 @@ module CocoapodsXCRemoteCacheModifier
|
|
24
24
|
# Registers for CocoaPods plugin hooks
|
25
25
|
module Hooks
|
26
26
|
BIN_DIR = '.rc'
|
27
|
-
FAKE_SRCROOT = "/#{'x' * 10 }"
|
28
27
|
LLDB_INIT_COMMENT="#RemoteCacheCustomSourceMap"
|
29
28
|
LLDB_INIT_PATH = "#{ENV['HOME']}/.lldbinit"
|
30
29
|
FAT_ARCHIVE_NAME_INFIX = 'arm64-x86_64'
|
@@ -40,6 +39,7 @@ module CocoapodsXCRemoteCacheModifier
|
|
40
39
|
'check_platform',
|
41
40
|
'modify_lldb_init',
|
42
41
|
'prettify_meta_files',
|
42
|
+
'fake_src_root',
|
43
43
|
'disable_certificate_verification'
|
44
44
|
]
|
45
45
|
|
@@ -63,6 +63,7 @@ module CocoapodsXCRemoteCacheModifier
|
|
63
63
|
'remote_commit_file' => "#{BIN_DIR}/arc.rc",
|
64
64
|
'exclude_targets' => [],
|
65
65
|
'prettify_meta_files' => false,
|
66
|
+
'fake_src_root' => "/#{'x' * 10 }",
|
66
67
|
'disable_certificate_verification' => false
|
67
68
|
}
|
68
69
|
@@configuration.merge! default_values.select { |k, v| !@@configuration.key?(k) }
|
@@ -106,7 +107,7 @@ module CocoapodsXCRemoteCacheModifier
|
|
106
107
|
# @param mode [String] mode name ('consumer', 'producer', 'producer-fast' etc.)
|
107
108
|
# @param exclude_build_configurations [String[]] list of targets that should have disabled remote cache
|
108
109
|
# @param final_target [String] name of target that should trigger marking
|
109
|
-
def self.enable_xcremotecache(target, repo_distance, xc_location, xc_cc_path, mode, exclude_build_configurations, final_target)
|
110
|
+
def self.enable_xcremotecache(target, repo_distance, xc_location, xc_cc_path, mode, exclude_build_configurations, final_target, fake_src_root)
|
110
111
|
srcroot_relative_xc_location = parent_dir(xc_location, repo_distance)
|
111
112
|
|
112
113
|
target.build_configurations.each do |config|
|
@@ -121,7 +122,7 @@ module CocoapodsXCRemoteCacheModifier
|
|
121
122
|
config.build_settings['LIBTOOL'] = ["$SRCROOT/#{srcroot_relative_xc_location}/xclibtool"]
|
122
123
|
config.build_settings['LD'] = ["$SRCROOT/#{srcroot_relative_xc_location}/xcld"]
|
123
124
|
|
124
|
-
config.build_settings['XCREMOTE_CACHE_FAKE_SRCROOT'] =
|
125
|
+
config.build_settings['XCREMOTE_CACHE_FAKE_SRCROOT'] = fake_src_root
|
125
126
|
config.build_settings['XCRC_PLATFORM_PREFERRED_ARCH'] = ["$(LINK_FILE_LIST_$(CURRENT_VARIANT)_$(PLATFORM_PREFERRED_ARCH):dir:standardizepath:file:default=arm64)"]
|
126
127
|
debug_prefix_map_replacement = '$(SRCROOT' + ':dir:standardizepath' * repo_distance + ')'
|
127
128
|
add_cflags!(config.build_settings, '-fdebug-prefix-map', "#{debug_prefix_map_replacement}=$(XCREMOTE_CACHE_FAKE_SRCROOT)")
|
@@ -330,17 +331,17 @@ module CocoapodsXCRemoteCacheModifier
|
|
330
331
|
end
|
331
332
|
|
332
333
|
# Append source rewrite command to the lldbinit content
|
333
|
-
def self.add_lldbinit_rewrite(lines_content, user_proj_directory)
|
334
|
+
def self.add_lldbinit_rewrite(lines_content, user_proj_directory,fake_src_root)
|
334
335
|
all_lines = lines_content.clone
|
335
336
|
all_lines << LLDB_INIT_COMMENT
|
336
|
-
all_lines << "settings set target.source-map #{
|
337
|
+
all_lines << "settings set target.source-map #{fake_src_root} #{user_proj_directory}"
|
337
338
|
all_lines << ""
|
338
339
|
all_lines
|
339
340
|
end
|
340
341
|
|
341
|
-
def self.save_lldbinit_rewrite(user_proj_directory)
|
342
|
+
def self.save_lldbinit_rewrite(user_proj_directory,fake_src_root)
|
342
343
|
lldbinit_lines = clean_lldbinit_content(LLDB_INIT_PATH)
|
343
|
-
lldbinit_lines = add_lldbinit_rewrite(lldbinit_lines, user_proj_directory) unless user_proj_directory.nil?
|
344
|
+
lldbinit_lines = add_lldbinit_rewrite(lldbinit_lines, user_proj_directory,fake_src_root) unless user_proj_directory.nil?
|
344
345
|
File.write(LLDB_INIT_PATH, lldbinit_lines.join("\n"), mode: "w")
|
345
346
|
end
|
346
347
|
|
@@ -372,6 +373,7 @@ module CocoapodsXCRemoteCacheModifier
|
|
372
373
|
final_target = @@configuration['final_target']
|
373
374
|
check_build_configuration = @@configuration['check_build_configuration']
|
374
375
|
check_platform = @@configuration['check_platform']
|
376
|
+
fake_src_root = @@configuration['fake_src_root']
|
375
377
|
|
376
378
|
xccc_location_absolute = "#{user_proj_directory}/#{xccc_location}"
|
377
379
|
xcrc_location_absolute = "#{user_proj_directory}/#{xcrc_location}"
|
@@ -403,7 +405,7 @@ module CocoapodsXCRemoteCacheModifier
|
|
403
405
|
next if target.name.start_with?("Pods-")
|
404
406
|
next if target.name.end_with?("Tests")
|
405
407
|
next if exclude_targets.include?(target.name)
|
406
|
-
enable_xcremotecache(target, 1, xcrc_location, xccc_location, mode, exclude_build_configurations, final_target)
|
408
|
+
enable_xcremotecache(target, 1, xcrc_location, xccc_location, mode, exclude_build_configurations, final_target,fake_src_root)
|
407
409
|
end
|
408
410
|
|
409
411
|
# Create .rcinfo into `Pods` directory as that .xcodeproj reads configuration from .xcodeproj location
|
@@ -416,7 +418,7 @@ module CocoapodsXCRemoteCacheModifier
|
|
416
418
|
next if target.source_build_phase.files_references.empty?
|
417
419
|
next if target.name.end_with?("Tests")
|
418
420
|
next if exclude_targets.include?(target.name)
|
419
|
-
enable_xcremotecache(target, 1, xcrc_location, xccc_location, mode, exclude_build_configurations, final_target)
|
421
|
+
enable_xcremotecache(target, 1, xcrc_location, xccc_location, mode, exclude_build_configurations, final_target,fake_src_root)
|
420
422
|
end
|
421
423
|
generated_project.save()
|
422
424
|
end
|
@@ -456,15 +458,15 @@ module CocoapodsXCRemoteCacheModifier
|
|
456
458
|
# Attach XCRC to the app targets
|
457
459
|
user_project.targets.each do |target|
|
458
460
|
next if exclude_targets.include?(target.name)
|
459
|
-
enable_xcremotecache(target, 0, xcrc_location, xccc_location, mode, exclude_build_configurations, final_target)
|
461
|
+
enable_xcremotecache(target, 0, xcrc_location, xccc_location, mode, exclude_build_configurations, final_target,fake_src_root)
|
460
462
|
end
|
461
463
|
|
462
464
|
# Set Target sourcemap
|
463
465
|
if @@configuration['modify_lldb_init']
|
464
|
-
save_lldbinit_rewrite(user_proj_directory)
|
466
|
+
save_lldbinit_rewrite(user_proj_directory,fake_src_root)
|
465
467
|
else
|
466
468
|
Pod::UI.puts "[XCRC] lldbinit modification is disabled. Debugging may behave weirdly"
|
467
|
-
Pod::UI.puts "[XCRC] put \"settings set target.source-map #{
|
469
|
+
Pod::UI.puts "[XCRC] put \"settings set target.source-map #{fake_src_root} \#{your_project_directory}\" to your \".lldbinit\" "
|
468
470
|
end
|
469
471
|
|
470
472
|
user_project.save()
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocoapods-xcremotecache
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bartosz Polaczyk
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2022-
|
12
|
+
date: 2022-05-11 00:00:00.000000000 Z
|
13
13
|
dependencies: []
|
14
14
|
description: CocoaPods plugin that enables XCRemoteCache with the project.
|
15
15
|
email:
|