cocoapods 1.10.0 → 1.11.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 +261 -5
- data/README.md +11 -11
- data/lib/cocoapods/command/outdated.rb +12 -1
- data/lib/cocoapods/command/repo/push.rb +17 -0
- data/lib/cocoapods/command/spec/cat.rb +3 -1
- data/lib/cocoapods/command/spec/lint.rb +1 -1
- data/lib/cocoapods/command/spec/which.rb +3 -1
- data/lib/cocoapods/command/spec.rb +18 -9
- data/lib/cocoapods/config.rb +1 -1
- data/lib/cocoapods/downloader/cache.rb +95 -6
- data/lib/cocoapods/downloader.rb +4 -2
- data/lib/cocoapods/external_sources/podspec_source.rb +1 -1
- data/lib/cocoapods/gem_version.rb +1 -1
- data/lib/cocoapods/generator/acknowledgements.rb +1 -1
- data/lib/cocoapods/generator/app_target_helper.rb +7 -3
- data/lib/cocoapods/generator/copy_dsyms_script.rb +4 -4
- data/lib/cocoapods/generator/copy_xcframework_script.rb +4 -48
- data/lib/cocoapods/generator/embed_frameworks_script.rb +2 -1
- data/lib/cocoapods/generator/script_phase_constants.rb +1 -0
- data/lib/cocoapods/installer/analyzer/sandbox_analyzer.rb +31 -4
- data/lib/cocoapods/installer/analyzer.rb +12 -8
- 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 +9 -2
- data/lib/cocoapods/installer/project_cache/project_installation_cache.rb +15 -2
- data/lib/cocoapods/installer/project_cache/target_cache_key.rb +7 -4
- data/lib/cocoapods/installer/user_project_integrator/target_integrator.rb +149 -9
- data/lib/cocoapods/installer/xcode/pods_project_generator/app_host_installer.rb +10 -3
- data/lib/cocoapods/installer/xcode/pods_project_generator/file_references_installer.rb +25 -6
- 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 +70 -58
- data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_integrator.rb +48 -6
- 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 +2 -5
- data/lib/cocoapods/installer/xcode/pods_project_generator.rb +1 -1
- data/lib/cocoapods/installer.rb +52 -4
- data/lib/cocoapods/resolver.rb +4 -4
- data/lib/cocoapods/sandbox/file_accessor.rb +57 -10
- data/lib/cocoapods/sandbox/headers_store.rb +3 -1
- data/lib/cocoapods/sandbox/path_list.rb +1 -1
- data/lib/cocoapods/sandbox/pod_dir_cleaner.rb +1 -1
- data/lib/cocoapods/sources_manager.rb +14 -8
- data/lib/cocoapods/target/aggregate_target.rb +23 -1
- data/lib/cocoapods/target/build_settings.rb +45 -20
- data/lib/cocoapods/target/pod_target.rb +47 -22
- data/lib/cocoapods/target.rb +1 -1
- data/lib/cocoapods/user_interface.rb +4 -0
- data/lib/cocoapods/validator.rb +25 -5
- data/lib/cocoapods/version_metadata.rb +1 -1
- data/lib/cocoapods/xcode/xcframework/xcframework_slice.rb +10 -1
- data/lib/cocoapods/xcode/xcframework.rb +8 -3
- metadata +26 -19
@@ -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?
|
data/lib/cocoapods/validator.rb
CHANGED
@@ -118,7 +118,7 @@ module Pod
|
|
118
118
|
# Replace default spec with a subspec if asked for
|
119
119
|
a_spec = spec
|
120
120
|
if spec && @only_subspec
|
121
|
-
subspec_name = @only_subspec.start_with?(spec.root.name) ? @only_subspec : "#{spec.root.name}/#{@only_subspec}"
|
121
|
+
subspec_name = @only_subspec.start_with?("#{spec.root.name}/") ? @only_subspec : "#{spec.root.name}/#{@only_subspec}"
|
122
122
|
a_spec = spec.subspec_by_name(subspec_name, true, true)
|
123
123
|
@subspec_name = a_spec.name
|
124
124
|
end
|
@@ -443,7 +443,7 @@ module Pod
|
|
443
443
|
if !resp
|
444
444
|
warning('url', "There was a problem validating the URL #{url}.", true)
|
445
445
|
elsif !resp.success?
|
446
|
-
|
446
|
+
note('url', "The URL (#{url}) is not reachable.", true)
|
447
447
|
end
|
448
448
|
|
449
449
|
resp
|
@@ -581,6 +581,9 @@ module Pod
|
|
581
581
|
def create_app_project
|
582
582
|
app_project = Xcodeproj::Project.new(validation_dir + 'App.xcodeproj')
|
583
583
|
app_target = Pod::Generator::AppTargetHelper.add_app_target(app_project, consumer.platform_name, deployment_target)
|
584
|
+
sandbox = Sandbox.new(config.sandbox_root)
|
585
|
+
info_plist_path = app_project.path.dirname.+('App/App-Info.plist')
|
586
|
+
Pod::Installer::Xcode::PodsProjectGenerator::TargetInstallerHelper.create_info_plist_file_with_sandbox(sandbox, info_plist_path, app_target, '1.0.0', Platform.new(consumer.platform_name), :appl)
|
584
587
|
Pod::Generator::AppTargetHelper.add_swift_version(app_target, derived_swift_version)
|
585
588
|
# Lint will fail if a AppIcon is set but no image is found with such name
|
586
589
|
# Happens only with Static Frameworks enabled but shouldn't be set anyway
|
@@ -712,8 +715,9 @@ module Pod
|
|
712
715
|
if scheme.nil?
|
713
716
|
UI.warn "Skipping compilation with `xcodebuild` because target contains no sources.\n".yellow
|
714
717
|
else
|
718
|
+
requested_configuration = configuration ? configuration : 'Release'
|
715
719
|
if analyze
|
716
|
-
output = xcodebuild('analyze', scheme,
|
720
|
+
output = xcodebuild('analyze', scheme, requested_configuration, :deployment_target => deployment_target)
|
717
721
|
find_output = Executable.execute_command('find', [validation_dir, '-name', '*.html'], false)
|
718
722
|
if find_output != ''
|
719
723
|
message = 'Static Analysis failed.'
|
@@ -722,7 +726,7 @@ module Pod
|
|
722
726
|
error('build_pod', message)
|
723
727
|
end
|
724
728
|
else
|
725
|
-
output = xcodebuild('build', scheme,
|
729
|
+
output = xcodebuild('build', scheme, requested_configuration, :deployment_target => deployment_target)
|
726
730
|
end
|
727
731
|
parsed_output = parse_xcodebuild_output(output)
|
728
732
|
translate_output_to_linter_messages(parsed_output)
|
@@ -774,7 +778,7 @@ module Pod
|
|
774
778
|
|
775
779
|
FILE_PATTERNS = %i(source_files resources preserve_paths vendored_libraries
|
776
780
|
vendored_frameworks public_header_files preserve_paths
|
777
|
-
private_header_files resource_bundles).freeze
|
781
|
+
project_header_files private_header_files resource_bundles).freeze
|
778
782
|
|
779
783
|
# It checks that every file pattern specified in a spec yields
|
780
784
|
# at least one file. It requires the pods to be already present
|
@@ -810,6 +814,22 @@ module Pod
|
|
810
814
|
add_result(message_type, 'file patterns', "The `#{attr_name}` pattern did not match any file.")
|
811
815
|
end
|
812
816
|
|
817
|
+
def _validate_vendored_libraries
|
818
|
+
file_accessor.vendored_libraries.each do |lib|
|
819
|
+
basename = File.basename(lib)
|
820
|
+
lib_name = basename.downcase
|
821
|
+
unless lib_name.end_with?('.a') && lib_name.start_with?('lib')
|
822
|
+
warning('vendored_libraries', "`#{basename}` does not match the expected static library name format `lib[name].a`")
|
823
|
+
end
|
824
|
+
end
|
825
|
+
validate_nonempty_patterns(:vendored_libraries, :warning)
|
826
|
+
end
|
827
|
+
|
828
|
+
def _validate_project_header_files
|
829
|
+
_validate_header_files(:project_header_files)
|
830
|
+
validate_nonempty_patterns(:project_header_files, :warning)
|
831
|
+
end
|
832
|
+
|
813
833
|
def _validate_private_header_files
|
814
834
|
_validate_header_files(:private_header_files)
|
815
835
|
validate_nonempty_patterns(:private_header_files, :warning)
|
@@ -121,7 +121,16 @@ module Pod
|
|
121
121
|
# @return [Pathname] the path to the bundled binary
|
122
122
|
#
|
123
123
|
def binary_path
|
124
|
-
|
124
|
+
@binary_path ||= begin
|
125
|
+
case package_type
|
126
|
+
when :framework
|
127
|
+
path + name
|
128
|
+
when :library
|
129
|
+
path
|
130
|
+
else
|
131
|
+
raise Informative, "Invalid package type `#{package_type}`"
|
132
|
+
end
|
133
|
+
end
|
125
134
|
end
|
126
135
|
end
|
127
136
|
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
|
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.11.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: 2021-09-01 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.11.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.11.0
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: claide
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -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.21.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.21.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
285
|
- !ruby/object:Gem::Version
|
286
|
-
version: '1.
|
286
|
+
version: '1.0'
|
287
|
+
- - "<"
|
288
|
+
- !ruby/object:Gem::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
|
+
- - ">="
|
295
|
+
- !ruby/object:Gem::Version
|
296
|
+
version: '1.0'
|
297
|
+
- - "<"
|
292
298
|
- !ruby/object:Gem::Version
|
293
|
-
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,14 +331,14 @@ 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
|
@@ -458,6 +464,7 @@ files:
|
|
458
464
|
- lib/cocoapods/installer/post_install_hooks_context.rb
|
459
465
|
- lib/cocoapods/installer/post_integrate_hooks_context.rb
|
460
466
|
- lib/cocoapods/installer/pre_install_hooks_context.rb
|
467
|
+
- lib/cocoapods/installer/pre_integrate_hooks_context.rb
|
461
468
|
- lib/cocoapods/installer/project_cache/project_cache.rb
|
462
469
|
- lib/cocoapods/installer/project_cache/project_cache_analysis_result.rb
|
463
470
|
- lib/cocoapods/installer/project_cache/project_cache_analyzer.rb
|
@@ -531,15 +538,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
531
538
|
requirements:
|
532
539
|
- - ">="
|
533
540
|
- !ruby/object:Gem::Version
|
534
|
-
version: 2.
|
541
|
+
version: '2.6'
|
535
542
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
536
543
|
requirements:
|
537
544
|
- - ">="
|
538
545
|
- !ruby/object:Gem::Version
|
539
546
|
version: '0'
|
540
547
|
requirements: []
|
541
|
-
rubygems_version: 3.0.
|
548
|
+
rubygems_version: 3.0.9
|
542
549
|
signing_key:
|
543
|
-
specification_version:
|
550
|
+
specification_version: 4
|
544
551
|
summary: The Cocoa library package manager.
|
545
552
|
test_files: []
|