cocoapods 1.10.0 → 1.16.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 +4 -4
- data/CHANGELOG.md +571 -7
- data/README.md +10 -11
- data/bin/sandbox-pod +1 -1
- data/lib/cocoapods/command/lib/lint.rb +4 -1
- data/lib/cocoapods/command/outdated.rb +12 -1
- data/lib/cocoapods/command/repo/push.rb +20 -0
- data/lib/cocoapods/command/setup.rb +2 -2
- data/lib/cocoapods/command/spec/cat.rb +3 -1
- data/lib/cocoapods/command/spec/create.rb +1 -0
- data/lib/cocoapods/command/spec/lint.rb +4 -1
- data/lib/cocoapods/command/spec/which.rb +3 -1
- data/lib/cocoapods/command/spec.rb +18 -9
- data/lib/cocoapods/config.rb +8 -7
- data/lib/cocoapods/downloader/cache.rb +98 -6
- data/lib/cocoapods/downloader.rb +4 -2
- data/lib/cocoapods/executable.rb +1 -1
- data/lib/cocoapods/external_sources/abstract_external_source.rb +1 -1
- data/lib/cocoapods/external_sources/path_source.rb +1 -1
- data/lib/cocoapods/external_sources/podspec_source.rb +1 -1
- data/lib/cocoapods/gem_version.rb +1 -1
- data/lib/cocoapods/generator/acknowledgements.rb +13 -1
- data/lib/cocoapods/generator/app_target_helper.rb +8 -4
- data/lib/cocoapods/generator/copy_dsyms_script.rb +4 -4
- data/lib/cocoapods/generator/copy_resources_script.rb +2 -1
- data/lib/cocoapods/generator/copy_xcframework_script.rb +52 -70
- data/lib/cocoapods/generator/embed_frameworks_script.rb +4 -3
- data/lib/cocoapods/generator/info_plist_file.rb +1 -1
- data/lib/cocoapods/generator/script_phase_constants.rb +1 -0
- data/lib/cocoapods/installer/analyzer/analysis_result.rb +3 -3
- data/lib/cocoapods/installer/analyzer/pod_variant.rb +1 -1
- data/lib/cocoapods/installer/analyzer/sandbox_analyzer.rb +38 -10
- data/lib/cocoapods/installer/analyzer.rb +21 -13
- data/lib/cocoapods/installer/base_install_hooks_context.rb +19 -4
- data/lib/cocoapods/installer/installation_options.rb +11 -0
- data/lib/cocoapods/installer/pod_source_downloader.rb +159 -0
- data/lib/cocoapods/installer/pod_source_installer.rb +10 -36
- data/lib/cocoapods/installer/podfile_validator.rb +2 -2
- data/lib/cocoapods/installer/pre_integrate_hooks_context.rb +9 -0
- data/lib/cocoapods/installer/project_cache/project_cache_analyzer.rb +14 -7
- data/lib/cocoapods/installer/project_cache/project_installation_cache.rb +15 -2
- data/lib/cocoapods/installer/project_cache/target_cache_key.rb +48 -7
- data/lib/cocoapods/installer/user_project_integrator/target_integrator.rb +150 -9
- data/lib/cocoapods/installer/xcode/pods_project_generator/app_host_installer.rb +11 -3
- data/lib/cocoapods/installer/xcode/pods_project_generator/file_references_installer.rb +62 -9
- data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_dependency_installer.rb +6 -19
- data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb +86 -59
- data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_integrator.rb +48 -6
- data/lib/cocoapods/installer/xcode/pods_project_generator/project_generator.rb +3 -1
- data/lib/cocoapods/installer/xcode/pods_project_generator/target_installation_result.rb +2 -2
- data/lib/cocoapods/installer/xcode/pods_project_generator/target_installer.rb +8 -5
- data/lib/cocoapods/installer/xcode/pods_project_generator/target_installer_helper.rb +9 -3
- data/lib/cocoapods/installer/xcode/pods_project_generator.rb +37 -2
- data/lib/cocoapods/installer/xcode/target_validator.rb +1 -1
- data/lib/cocoapods/installer.rb +150 -34
- data/lib/cocoapods/native_target_extension.rb +1 -1
- data/lib/cocoapods/open-uri.rb +1 -1
- data/lib/cocoapods/project.rb +8 -8
- data/lib/cocoapods/resolver/resolver_specification.rb +1 -1
- data/lib/cocoapods/resolver.rb +7 -7
- data/lib/cocoapods/sandbox/file_accessor.rb +67 -11
- data/lib/cocoapods/sandbox/headers_store.rb +3 -1
- data/lib/cocoapods/sandbox/path_list.rb +2 -2
- data/lib/cocoapods/sandbox/pod_dir_cleaner.rb +1 -1
- data/lib/cocoapods/sandbox.rb +48 -12
- data/lib/cocoapods/sources_manager.rb +18 -9
- data/lib/cocoapods/target/aggregate_target.rb +23 -1
- data/lib/cocoapods/target/build_settings.rb +67 -22
- data/lib/cocoapods/target/pod_target.rb +49 -24
- data/lib/cocoapods/target.rb +1 -1
- data/lib/cocoapods/user_interface.rb +6 -2
- data/lib/cocoapods/validator.rb +58 -22
- data/lib/cocoapods/version_metadata.rb +1 -1
- data/lib/cocoapods/xcode/xcframework/xcframework_slice.rb +22 -7
- data/lib/cocoapods/xcode/xcframework.rb +9 -4
- data/lib/cocoapods.rb +2 -0
- metadata +35 -27
|
@@ -25,7 +25,7 @@ module Pod
|
|
|
25
25
|
#
|
|
26
26
|
attr_accessor :output_io
|
|
27
27
|
|
|
28
|
-
# @return [
|
|
28
|
+
# @return [Boolean] Whether the wrapping of the strings to the width of the
|
|
29
29
|
# terminal should be disabled.
|
|
30
30
|
#
|
|
31
31
|
attr_accessor :disable_wrap
|
|
@@ -137,6 +137,10 @@ module Pod
|
|
|
137
137
|
# The indentation level relative to the current,
|
|
138
138
|
# when the message is printed.
|
|
139
139
|
#
|
|
140
|
+
# @yield The action, this block is always executed.
|
|
141
|
+
#
|
|
142
|
+
# @return [void]
|
|
143
|
+
#
|
|
140
144
|
def message(message, verbose_prefix = '', relative_indentation = 2)
|
|
141
145
|
message = verbose_prefix + message if config.verbose?
|
|
142
146
|
puts_indented message if config.verbose?
|
|
@@ -366,7 +370,7 @@ module Pod
|
|
|
366
370
|
#
|
|
367
371
|
# @param [String] message The message to print.
|
|
368
372
|
# @param [Array] actions The actions that the user should take.
|
|
369
|
-
# @param [
|
|
373
|
+
# @param [Boolean] verbose_only
|
|
370
374
|
# Restrict the appearance of the warning to verbose mode only
|
|
371
375
|
#
|
|
372
376
|
# return [void]
|
data/lib/cocoapods/validator.rb
CHANGED
|
@@ -58,7 +58,6 @@ module Pod
|
|
|
58
58
|
end
|
|
59
59
|
result
|
|
60
60
|
end
|
|
61
|
-
@use_frameworks = true
|
|
62
61
|
end
|
|
63
62
|
|
|
64
63
|
#-------------------------------------------------------------------------#
|
|
@@ -110,7 +109,7 @@ module Pod
|
|
|
110
109
|
# @note This method shows immediately which pod is being processed and
|
|
111
110
|
# overrides the printed line once the result is known.
|
|
112
111
|
#
|
|
113
|
-
# @return [
|
|
112
|
+
# @return [Boolean] whether the specification passed validation.
|
|
114
113
|
#
|
|
115
114
|
def validate
|
|
116
115
|
@results = []
|
|
@@ -118,7 +117,7 @@ module Pod
|
|
|
118
117
|
# Replace default spec with a subspec if asked for
|
|
119
118
|
a_spec = spec
|
|
120
119
|
if spec && @only_subspec
|
|
121
|
-
subspec_name = @only_subspec.start_with?(spec.root.name) ? @only_subspec : "#{spec.root.name}/#{@only_subspec}"
|
|
120
|
+
subspec_name = @only_subspec.start_with?("#{spec.root.name}/") ? @only_subspec : "#{spec.root.name}/#{@only_subspec}"
|
|
122
121
|
a_spec = spec.subspec_by_name(subspec_name, true, true)
|
|
123
122
|
@subspec_name = a_spec.name
|
|
124
123
|
end
|
|
@@ -153,6 +152,8 @@ module Pod
|
|
|
153
152
|
platform_message = '[watchOS] '
|
|
154
153
|
elsif result.platforms == [:tvos]
|
|
155
154
|
platform_message = '[tvOS] '
|
|
155
|
+
elsif result.platforms == [:visionos]
|
|
156
|
+
platform_message = '[visionOS] '
|
|
156
157
|
end
|
|
157
158
|
|
|
158
159
|
subspecs_message = ''
|
|
@@ -201,23 +202,23 @@ module Pod
|
|
|
201
202
|
|
|
202
203
|
# @!group Configuration
|
|
203
204
|
|
|
204
|
-
# @return [
|
|
205
|
+
# @return [Boolean] whether the validation should skip the checks that
|
|
205
206
|
# requires the download of the library.
|
|
206
207
|
#
|
|
207
208
|
attr_accessor :quick
|
|
208
209
|
|
|
209
|
-
# @return [
|
|
210
|
+
# @return [Boolean] whether the linter should not clean up temporary files
|
|
210
211
|
# for inspection.
|
|
211
212
|
#
|
|
212
213
|
attr_accessor :no_clean
|
|
213
214
|
|
|
214
|
-
# @return [
|
|
215
|
+
# @return [Boolean] whether the linter should fail as soon as the first build
|
|
215
216
|
# variant causes an error. Helpful for i.e. multi-platforms specs,
|
|
216
217
|
# specs with subspecs.
|
|
217
218
|
#
|
|
218
219
|
attr_accessor :fail_fast
|
|
219
220
|
|
|
220
|
-
# @return [
|
|
221
|
+
# @return [Boolean] whether the validation should be performed against the root of
|
|
221
222
|
# the podspec instead to its original source.
|
|
222
223
|
#
|
|
223
224
|
# @note Uses the `:path` option of the Podfile.
|
|
@@ -225,7 +226,7 @@ module Pod
|
|
|
225
226
|
attr_accessor :local
|
|
226
227
|
alias_method :local?, :local
|
|
227
228
|
|
|
228
|
-
# @return [
|
|
229
|
+
# @return [Boolean] Whether the validator should fail on warnings, or only on errors.
|
|
229
230
|
#
|
|
230
231
|
attr_accessor :allow_warnings
|
|
231
232
|
|
|
@@ -233,11 +234,11 @@ module Pod
|
|
|
233
234
|
#
|
|
234
235
|
attr_accessor :only_subspec
|
|
235
236
|
|
|
236
|
-
# @return [
|
|
237
|
+
# @return [Boolean] Whether the validator should validate all subspecs.
|
|
237
238
|
#
|
|
238
239
|
attr_accessor :no_subspecs
|
|
239
240
|
|
|
240
|
-
# @return [
|
|
241
|
+
# @return [Boolean] Whether the validator should skip building and running tests.
|
|
241
242
|
#
|
|
242
243
|
attr_accessor :skip_tests
|
|
243
244
|
|
|
@@ -245,11 +246,11 @@ module Pod
|
|
|
245
246
|
#
|
|
246
247
|
attr_accessor :test_specs
|
|
247
248
|
|
|
248
|
-
# @return [
|
|
249
|
+
# @return [Boolean] Whether the validator should run Xcode Static Analysis.
|
|
249
250
|
#
|
|
250
251
|
attr_accessor :analyze
|
|
251
252
|
|
|
252
|
-
# @return [
|
|
253
|
+
# @return [Boolean] Whether frameworks should be used for the installation.
|
|
253
254
|
#
|
|
254
255
|
attr_accessor :use_frameworks
|
|
255
256
|
|
|
@@ -324,6 +325,10 @@ module Pod
|
|
|
324
325
|
@validation_dir ||= Pathname(Dir.mktmpdir(['CocoaPods-Lint-', "-#{spec.name}"]))
|
|
325
326
|
end
|
|
326
327
|
|
|
328
|
+
def validation_dir=(validation_dir)
|
|
329
|
+
@validation_dir = Pathname(validation_dir) unless validation_dir.nil?
|
|
330
|
+
end
|
|
331
|
+
|
|
327
332
|
# @return [String] The SWIFT_VERSION that should be used to validate the pod. This is set by passing the
|
|
328
333
|
# `--swift-version` parameter during validation.
|
|
329
334
|
#
|
|
@@ -443,7 +448,7 @@ module Pod
|
|
|
443
448
|
if !resp
|
|
444
449
|
warning('url', "There was a problem validating the URL #{url}.", true)
|
|
445
450
|
elsif !resp.success?
|
|
446
|
-
|
|
451
|
+
note('url', "The URL (#{url}) is not reachable.", true)
|
|
447
452
|
end
|
|
448
453
|
|
|
449
454
|
resp
|
|
@@ -581,11 +586,23 @@ module Pod
|
|
|
581
586
|
def create_app_project
|
|
582
587
|
app_project = Xcodeproj::Project.new(validation_dir + 'App.xcodeproj')
|
|
583
588
|
app_target = Pod::Generator::AppTargetHelper.add_app_target(app_project, consumer.platform_name, deployment_target)
|
|
589
|
+
sandbox = Sandbox.new(config.sandbox_root)
|
|
590
|
+
info_plist_path = app_project.path.dirname.+('App/App-Info.plist')
|
|
591
|
+
Pod::Installer::Xcode::PodsProjectGenerator::TargetInstallerHelper.create_info_plist_file_with_sandbox(sandbox,
|
|
592
|
+
info_plist_path,
|
|
593
|
+
app_target,
|
|
594
|
+
'1.0.0',
|
|
595
|
+
Platform.new(consumer.platform_name),
|
|
596
|
+
:appl,
|
|
597
|
+
:build_setting_value => '$(SRCROOT)/App/App-Info.plist')
|
|
584
598
|
Pod::Generator::AppTargetHelper.add_swift_version(app_target, derived_swift_version)
|
|
585
|
-
# Lint will fail if a AppIcon is set but no image is found with such name
|
|
586
|
-
# Happens only with Static Frameworks enabled but shouldn't be set anyway
|
|
587
599
|
app_target.build_configurations.each do |config|
|
|
600
|
+
# Lint will fail if a AppIcon is set but no image is found with such name
|
|
601
|
+
# Happens only with Static Frameworks enabled but shouldn't be set anyway
|
|
588
602
|
config.build_settings.delete('ASSETCATALOG_COMPILER_APPICON_NAME')
|
|
603
|
+
# Ensure this is set generally but we have seen an issue with ODRs:
|
|
604
|
+
# see: https://github.com/CocoaPods/CocoaPods/issues/10933
|
|
605
|
+
config.build_settings['PRODUCT_BUNDLE_IDENTIFIER'] = 'org.cocoapods.${PRODUCT_NAME:rfc1034identifier}'
|
|
589
606
|
end
|
|
590
607
|
app_project.save
|
|
591
608
|
app_project.recreate_user_schemes
|
|
@@ -712,8 +729,9 @@ module Pod
|
|
|
712
729
|
if scheme.nil?
|
|
713
730
|
UI.warn "Skipping compilation with `xcodebuild` because target contains no sources.\n".yellow
|
|
714
731
|
else
|
|
732
|
+
requested_configuration = configuration ? configuration : 'Release'
|
|
715
733
|
if analyze
|
|
716
|
-
output = xcodebuild('analyze', scheme,
|
|
734
|
+
output = xcodebuild('analyze', scheme, requested_configuration, :deployment_target => deployment_target)
|
|
717
735
|
find_output = Executable.execute_command('find', [validation_dir, '-name', '*.html'], false)
|
|
718
736
|
if find_output != ''
|
|
719
737
|
message = 'Static Analysis failed.'
|
|
@@ -722,7 +740,7 @@ module Pod
|
|
|
722
740
|
error('build_pod', message)
|
|
723
741
|
end
|
|
724
742
|
else
|
|
725
|
-
output = xcodebuild('build', scheme,
|
|
743
|
+
output = xcodebuild('build', scheme, requested_configuration, :deployment_target => deployment_target)
|
|
726
744
|
end
|
|
727
745
|
parsed_output = parse_xcodebuild_output(output)
|
|
728
746
|
translate_output_to_linter_messages(parsed_output)
|
|
@@ -774,7 +792,7 @@ module Pod
|
|
|
774
792
|
|
|
775
793
|
FILE_PATTERNS = %i(source_files resources preserve_paths vendored_libraries
|
|
776
794
|
vendored_frameworks public_header_files preserve_paths
|
|
777
|
-
private_header_files resource_bundles).freeze
|
|
795
|
+
project_header_files private_header_files resource_bundles).freeze
|
|
778
796
|
|
|
779
797
|
# It checks that every file pattern specified in a spec yields
|
|
780
798
|
# at least one file. It requires the pods to be already present
|
|
@@ -810,6 +828,22 @@ module Pod
|
|
|
810
828
|
add_result(message_type, 'file patterns', "The `#{attr_name}` pattern did not match any file.")
|
|
811
829
|
end
|
|
812
830
|
|
|
831
|
+
def _validate_vendored_libraries
|
|
832
|
+
file_accessor.vendored_libraries.each do |lib|
|
|
833
|
+
basename = File.basename(lib)
|
|
834
|
+
lib_name = basename.downcase
|
|
835
|
+
unless lib_name.end_with?('.a', '.dylib') && lib_name.start_with?('lib')
|
|
836
|
+
warning('vendored_libraries', "`#{basename}` does not match the expected library name format `lib[name].a` or `lib[name].dylib`")
|
|
837
|
+
end
|
|
838
|
+
end
|
|
839
|
+
validate_nonempty_patterns(:vendored_libraries, :warning)
|
|
840
|
+
end
|
|
841
|
+
|
|
842
|
+
def _validate_project_header_files
|
|
843
|
+
_validate_header_files(:project_header_files)
|
|
844
|
+
validate_nonempty_patterns(:project_header_files, :warning)
|
|
845
|
+
end
|
|
846
|
+
|
|
813
847
|
def _validate_private_header_files
|
|
814
848
|
_validate_header_files(:private_header_files)
|
|
815
849
|
validate_nonempty_patterns(:private_header_files, :warning)
|
|
@@ -963,7 +997,7 @@ module Pod
|
|
|
963
997
|
# the deployment target, which should be declared in
|
|
964
998
|
# the Podfile.
|
|
965
999
|
#
|
|
966
|
-
# @param [
|
|
1000
|
+
# @param [Boolean] use_frameworks
|
|
967
1001
|
# whether frameworks should be used for the installation
|
|
968
1002
|
#
|
|
969
1003
|
# @param [Array<String>] test_spec_names
|
|
@@ -1069,10 +1103,12 @@ module Pod
|
|
|
1069
1103
|
end
|
|
1070
1104
|
when :watchos
|
|
1071
1105
|
command += %w(CODE_SIGN_IDENTITY=- -sdk watchsimulator)
|
|
1072
|
-
command += Fourflusher::SimControl.new.destination(:oldest, 'watchOS', deployment_target)
|
|
1073
1106
|
when :tvos
|
|
1074
1107
|
command += %w(CODE_SIGN_IDENTITY=- -sdk appletvsimulator)
|
|
1075
1108
|
command += Fourflusher::SimControl.new.destination(:oldest, 'tvOS', deployment_target)
|
|
1109
|
+
when :visionos
|
|
1110
|
+
command += %w(CODE_SIGN_IDENTITY=- -sdk xrsimulator)
|
|
1111
|
+
command += Fourflusher::SimControl.new.destination(:oldest, 'xrOS', deployment_target)
|
|
1076
1112
|
end
|
|
1077
1113
|
|
|
1078
1114
|
if analyze
|
|
@@ -1102,7 +1138,7 @@ module Pod
|
|
|
1102
1138
|
# @param [Platform] platform
|
|
1103
1139
|
# The platform to check
|
|
1104
1140
|
#
|
|
1105
|
-
# @return [
|
|
1141
|
+
# @return [Boolean] True if the platform is valid
|
|
1106
1142
|
#
|
|
1107
1143
|
def valid_platform?(platform)
|
|
1108
1144
|
VALID_PLATFORMS.any? { |p| p.name == platform.name }
|
|
@@ -1116,7 +1152,7 @@ module Pod
|
|
|
1116
1152
|
# @param [Specification] spec
|
|
1117
1153
|
# The specification which must support the provided platform
|
|
1118
1154
|
#
|
|
1119
|
-
# @return [
|
|
1155
|
+
# @return [Boolean] Whether the platform is supported by the specification
|
|
1120
1156
|
#
|
|
1121
1157
|
def supported_platform?(platform, spec)
|
|
1122
1158
|
available_platforms = spec.available_platforms
|
|
@@ -4,7 +4,7 @@ module Pod
|
|
|
4
4
|
module Xcode
|
|
5
5
|
class XCFramework
|
|
6
6
|
class Slice
|
|
7
|
-
# @return [Pathname] the path to the .framework or .
|
|
7
|
+
# @return [Pathname] the path to the .framework, .a or .dylib of this slice
|
|
8
8
|
#
|
|
9
9
|
attr_reader :path
|
|
10
10
|
|
|
@@ -45,9 +45,15 @@ module Pod
|
|
|
45
45
|
when :framework
|
|
46
46
|
File.basename(path, '.framework')
|
|
47
47
|
when :library
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
48
|
+
ext = File.extname(path)
|
|
49
|
+
case ext
|
|
50
|
+
when '.a', '.dylib'
|
|
51
|
+
result = File.basename(path).gsub(/^lib/, '')
|
|
52
|
+
result[0] = result.downcase[0]
|
|
53
|
+
result
|
|
54
|
+
else
|
|
55
|
+
raise Informative, "Invalid package type `#{package_type}`"
|
|
56
|
+
end
|
|
51
57
|
else
|
|
52
58
|
raise Informative, "Invalid package type `#{package_type}`"
|
|
53
59
|
end
|
|
@@ -68,7 +74,7 @@ module Pod
|
|
|
68
74
|
case ext
|
|
69
75
|
when '.framework'
|
|
70
76
|
:framework
|
|
71
|
-
when '.a'
|
|
77
|
+
when '.a', '.dylib'
|
|
72
78
|
:library
|
|
73
79
|
else
|
|
74
80
|
raise Informative, "Invalid XCFramework slice type `#{ext}`"
|
|
@@ -109,7 +115,7 @@ module Pod
|
|
|
109
115
|
packaging = case ext
|
|
110
116
|
when '.framework'
|
|
111
117
|
:framework
|
|
112
|
-
when '.a'
|
|
118
|
+
when '.a', '.dylib'
|
|
113
119
|
:library
|
|
114
120
|
else
|
|
115
121
|
raise Informative, "Invalid XCFramework slice type `#{ext}`"
|
|
@@ -121,7 +127,16 @@ module Pod
|
|
|
121
127
|
# @return [Pathname] the path to the bundled binary
|
|
122
128
|
#
|
|
123
129
|
def binary_path
|
|
124
|
-
|
|
130
|
+
@binary_path ||= begin
|
|
131
|
+
case package_type
|
|
132
|
+
when :framework
|
|
133
|
+
path + name
|
|
134
|
+
when :library
|
|
135
|
+
path
|
|
136
|
+
else
|
|
137
|
+
raise Informative, "Invalid package type `#{package_type}`"
|
|
138
|
+
end
|
|
139
|
+
end
|
|
125
140
|
end
|
|
126
141
|
end
|
|
127
142
|
end
|
|
@@ -5,6 +5,10 @@ require 'cocoapods/xcode/xcframework/xcframework_slice'
|
|
|
5
5
|
module Pod
|
|
6
6
|
module Xcode
|
|
7
7
|
class XCFramework
|
|
8
|
+
# @return [String] target_name the target name this XCFramework belongs to
|
|
9
|
+
#
|
|
10
|
+
attr_reader :target_name
|
|
11
|
+
|
|
8
12
|
# @return [Pathname] path the path to the .xcframework on disk
|
|
9
13
|
#
|
|
10
14
|
attr_reader :path
|
|
@@ -23,12 +27,13 @@ module Pod
|
|
|
23
27
|
|
|
24
28
|
# Initializes an XCFramework instance with a path on disk
|
|
25
29
|
#
|
|
26
|
-
# @param [
|
|
27
|
-
#
|
|
30
|
+
# @param [String] target_name @see target_name
|
|
31
|
+
# @param [Pathname, String] path @see path
|
|
28
32
|
#
|
|
29
33
|
# @return [XCFramework] the xcframework at the given path
|
|
30
34
|
#
|
|
31
|
-
def initialize(path)
|
|
35
|
+
def initialize(target_name, path)
|
|
36
|
+
@target_name = target_name
|
|
32
37
|
@path = Pathname.new(path).tap do |p|
|
|
33
38
|
raise 'Absolute path is required' unless p.absolute?
|
|
34
39
|
end
|
|
@@ -86,7 +91,7 @@ module Pod
|
|
|
86
91
|
slice_path = slice_root.join(relative_path)
|
|
87
92
|
headers = slice_root.join(headers) unless headers.nil?
|
|
88
93
|
XCFramework::Slice.new(slice_path, identifier, archs, platform_name, :platform_variant => platform_variant, :headers => headers)
|
|
89
|
-
end
|
|
94
|
+
end.sort_by(&:identifier)
|
|
90
95
|
raise Informative, "XCFramework at #{path} does not contain any frameworks or libraries." if slices.empty?
|
|
91
96
|
end
|
|
92
97
|
end
|
data/lib/cocoapods.rb
CHANGED
|
@@ -4,6 +4,8 @@ require 'xcodeproj'
|
|
|
4
4
|
# It is very likely that we'll need these and as some of those paths will atm
|
|
5
5
|
# result in a I18n deprecation warning, we load those here now so that we can
|
|
6
6
|
# get rid of that warning.
|
|
7
|
+
require 'active_support'
|
|
8
|
+
require 'active_support/core_ext'
|
|
7
9
|
require 'active_support/core_ext/string/strip'
|
|
8
10
|
require 'active_support/core_ext/string/inflections'
|
|
9
11
|
require 'active_support/core_ext/array/conversions'
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cocoapods
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.16.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Eloy Duran
|
|
@@ -11,7 +11,7 @@ authors:
|
|
|
11
11
|
autorequire:
|
|
12
12
|
bindir: bin
|
|
13
13
|
cert_chain: []
|
|
14
|
-
date:
|
|
14
|
+
date: 2024-10-28 00:00:00.000000000 Z
|
|
15
15
|
dependencies:
|
|
16
16
|
- !ruby/object:Gem::Dependency
|
|
17
17
|
name: cocoapods-core
|
|
@@ -19,14 +19,14 @@ dependencies:
|
|
|
19
19
|
requirements:
|
|
20
20
|
- - '='
|
|
21
21
|
- !ruby/object:Gem::Version
|
|
22
|
-
version: 1.
|
|
22
|
+
version: 1.16.0
|
|
23
23
|
type: :runtime
|
|
24
24
|
prerelease: false
|
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
26
26
|
requirements:
|
|
27
27
|
- - '='
|
|
28
28
|
- !ruby/object:Gem::Version
|
|
29
|
-
version: 1.
|
|
29
|
+
version: 1.16.0
|
|
30
30
|
- !ruby/object:Gem::Dependency
|
|
31
31
|
name: claide
|
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -73,20 +73,20 @@ dependencies:
|
|
|
73
73
|
requirements:
|
|
74
74
|
- - ">="
|
|
75
75
|
- !ruby/object:Gem::Version
|
|
76
|
-
version: 1
|
|
76
|
+
version: '2.1'
|
|
77
77
|
- - "<"
|
|
78
78
|
- !ruby/object:Gem::Version
|
|
79
|
-
version: '
|
|
79
|
+
version: '3.0'
|
|
80
80
|
type: :runtime
|
|
81
81
|
prerelease: false
|
|
82
82
|
version_requirements: !ruby/object:Gem::Requirement
|
|
83
83
|
requirements:
|
|
84
84
|
- - ">="
|
|
85
85
|
- !ruby/object:Gem::Version
|
|
86
|
-
version: 1
|
|
86
|
+
version: '2.1'
|
|
87
87
|
- - "<"
|
|
88
88
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: '
|
|
89
|
+
version: '3.0'
|
|
90
90
|
- !ruby/object:Gem::Dependency
|
|
91
91
|
name: cocoapods-plugins
|
|
92
92
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -133,7 +133,7 @@ dependencies:
|
|
|
133
133
|
requirements:
|
|
134
134
|
- - ">="
|
|
135
135
|
- !ruby/object:Gem::Version
|
|
136
|
-
version: 1.
|
|
136
|
+
version: 1.6.0
|
|
137
137
|
- - "<"
|
|
138
138
|
- !ruby/object:Gem::Version
|
|
139
139
|
version: '2.0'
|
|
@@ -143,7 +143,7 @@ dependencies:
|
|
|
143
143
|
requirements:
|
|
144
144
|
- - ">="
|
|
145
145
|
- !ruby/object:Gem::Version
|
|
146
|
-
version: 1.
|
|
146
|
+
version: 1.6.0
|
|
147
147
|
- - "<"
|
|
148
148
|
- !ruby/object:Gem::Version
|
|
149
149
|
version: '2.0'
|
|
@@ -173,21 +173,21 @@ dependencies:
|
|
|
173
173
|
requirements:
|
|
174
174
|
- - "~>"
|
|
175
175
|
- !ruby/object:Gem::Version
|
|
176
|
-
version: 0.
|
|
176
|
+
version: 0.8.0
|
|
177
177
|
type: :runtime
|
|
178
178
|
prerelease: false
|
|
179
179
|
version_requirements: !ruby/object:Gem::Requirement
|
|
180
180
|
requirements:
|
|
181
181
|
- - "~>"
|
|
182
182
|
- !ruby/object:Gem::Version
|
|
183
|
-
version: 0.
|
|
183
|
+
version: 0.8.0
|
|
184
184
|
- !ruby/object:Gem::Dependency
|
|
185
185
|
name: xcodeproj
|
|
186
186
|
requirement: !ruby/object:Gem::Requirement
|
|
187
187
|
requirements:
|
|
188
188
|
- - ">="
|
|
189
189
|
- !ruby/object:Gem::Version
|
|
190
|
-
version: 1.
|
|
190
|
+
version: 1.26.0
|
|
191
191
|
- - "<"
|
|
192
192
|
- !ruby/object:Gem::Version
|
|
193
193
|
version: '2.0'
|
|
@@ -197,7 +197,7 @@ dependencies:
|
|
|
197
197
|
requirements:
|
|
198
198
|
- - ">="
|
|
199
199
|
- !ruby/object:Gem::Version
|
|
200
|
-
version: 1.
|
|
200
|
+
version: 1.26.0
|
|
201
201
|
- - "<"
|
|
202
202
|
- !ruby/object:Gem::Version
|
|
203
203
|
version: '2.0'
|
|
@@ -281,30 +281,36 @@ dependencies:
|
|
|
281
281
|
name: ruby-macho
|
|
282
282
|
requirement: !ruby/object:Gem::Requirement
|
|
283
283
|
requirements:
|
|
284
|
-
- - "
|
|
284
|
+
- - ">="
|
|
285
|
+
- !ruby/object:Gem::Version
|
|
286
|
+
version: 2.3.0
|
|
287
|
+
- - "<"
|
|
285
288
|
- !ruby/object:Gem::Version
|
|
286
|
-
version: '
|
|
289
|
+
version: '3.0'
|
|
287
290
|
type: :runtime
|
|
288
291
|
prerelease: false
|
|
289
292
|
version_requirements: !ruby/object:Gem::Requirement
|
|
290
293
|
requirements:
|
|
291
|
-
- - "
|
|
294
|
+
- - ">="
|
|
292
295
|
- !ruby/object:Gem::Version
|
|
293
|
-
version:
|
|
296
|
+
version: 2.3.0
|
|
297
|
+
- - "<"
|
|
298
|
+
- !ruby/object:Gem::Version
|
|
299
|
+
version: '3.0'
|
|
294
300
|
- !ruby/object:Gem::Dependency
|
|
295
301
|
name: addressable
|
|
296
302
|
requirement: !ruby/object:Gem::Requirement
|
|
297
303
|
requirements:
|
|
298
304
|
- - "~>"
|
|
299
305
|
- !ruby/object:Gem::Version
|
|
300
|
-
version: '2.
|
|
306
|
+
version: '2.8'
|
|
301
307
|
type: :runtime
|
|
302
308
|
prerelease: false
|
|
303
309
|
version_requirements: !ruby/object:Gem::Requirement
|
|
304
310
|
requirements:
|
|
305
311
|
- - "~>"
|
|
306
312
|
- !ruby/object:Gem::Version
|
|
307
|
-
version: '2.
|
|
313
|
+
version: '2.8'
|
|
308
314
|
- !ruby/object:Gem::Dependency
|
|
309
315
|
name: bacon
|
|
310
316
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -325,28 +331,28 @@ dependencies:
|
|
|
325
331
|
requirements:
|
|
326
332
|
- - "~>"
|
|
327
333
|
- !ruby/object:Gem::Version
|
|
328
|
-
version: '
|
|
334
|
+
version: '2.0'
|
|
329
335
|
type: :development
|
|
330
336
|
prerelease: false
|
|
331
337
|
version_requirements: !ruby/object:Gem::Requirement
|
|
332
338
|
requirements:
|
|
333
339
|
- - "~>"
|
|
334
340
|
- !ruby/object:Gem::Version
|
|
335
|
-
version: '
|
|
341
|
+
version: '2.0'
|
|
336
342
|
- !ruby/object:Gem::Dependency
|
|
337
343
|
name: rake
|
|
338
344
|
requirement: !ruby/object:Gem::Requirement
|
|
339
345
|
requirements:
|
|
340
346
|
- - "~>"
|
|
341
347
|
- !ruby/object:Gem::Version
|
|
342
|
-
version: '
|
|
348
|
+
version: '12.3'
|
|
343
349
|
type: :development
|
|
344
350
|
prerelease: false
|
|
345
351
|
version_requirements: !ruby/object:Gem::Requirement
|
|
346
352
|
requirements:
|
|
347
353
|
- - "~>"
|
|
348
354
|
- !ruby/object:Gem::Version
|
|
349
|
-
version: '
|
|
355
|
+
version: '12.3'
|
|
350
356
|
description: |-
|
|
351
357
|
CocoaPods manages library dependencies for your Xcode project.
|
|
352
358
|
|
|
@@ -452,12 +458,14 @@ files:
|
|
|
452
458
|
- lib/cocoapods/installer/analyzer/target_inspector.rb
|
|
453
459
|
- lib/cocoapods/installer/base_install_hooks_context.rb
|
|
454
460
|
- lib/cocoapods/installer/installation_options.rb
|
|
461
|
+
- lib/cocoapods/installer/pod_source_downloader.rb
|
|
455
462
|
- lib/cocoapods/installer/pod_source_installer.rb
|
|
456
463
|
- lib/cocoapods/installer/pod_source_preparer.rb
|
|
457
464
|
- lib/cocoapods/installer/podfile_validator.rb
|
|
458
465
|
- lib/cocoapods/installer/post_install_hooks_context.rb
|
|
459
466
|
- lib/cocoapods/installer/post_integrate_hooks_context.rb
|
|
460
467
|
- lib/cocoapods/installer/pre_install_hooks_context.rb
|
|
468
|
+
- lib/cocoapods/installer/pre_integrate_hooks_context.rb
|
|
461
469
|
- lib/cocoapods/installer/project_cache/project_cache.rb
|
|
462
470
|
- lib/cocoapods/installer/project_cache/project_cache_analysis_result.rb
|
|
463
471
|
- lib/cocoapods/installer/project_cache/project_cache_analyzer.rb
|
|
@@ -531,15 +539,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
531
539
|
requirements:
|
|
532
540
|
- - ">="
|
|
533
541
|
- !ruby/object:Gem::Version
|
|
534
|
-
version: 2.
|
|
542
|
+
version: '2.6'
|
|
535
543
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
536
544
|
requirements:
|
|
537
545
|
- - ">="
|
|
538
546
|
- !ruby/object:Gem::Version
|
|
539
547
|
version: '0'
|
|
540
548
|
requirements: []
|
|
541
|
-
rubygems_version: 3.
|
|
549
|
+
rubygems_version: 3.2.3
|
|
542
550
|
signing_key:
|
|
543
|
-
specification_version:
|
|
551
|
+
specification_version: 4
|
|
544
552
|
summary: The Cocoa library package manager.
|
|
545
553
|
test_files: []
|