cocoapods 1.7.5 → 1.8.0.beta.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +175 -11
- data/LICENSE +13 -8
- data/README.md +2 -1
- data/lib/cocoapods/command/init.rb +18 -16
- data/lib/cocoapods/command/install.rb +2 -1
- data/lib/cocoapods/command/lib/create.rb +1 -2
- data/lib/cocoapods/command/lib/lint.rb +12 -11
- data/lib/cocoapods/command/repo/add.rb +2 -2
- data/lib/cocoapods/command/repo/list.rb +7 -5
- data/lib/cocoapods/command/repo/push.rb +15 -12
- data/lib/cocoapods/command/setup.rb +2 -88
- data/lib/cocoapods/command/spec/lint.rb +10 -9
- data/lib/cocoapods/command/update.rb +5 -4
- data/lib/cocoapods/config.rb +9 -8
- data/lib/cocoapods/external_sources/path_source.rb +1 -1
- data/lib/cocoapods/gem_version.rb +1 -1
- data/lib/cocoapods/generator/embed_frameworks_script.rb +1 -1
- data/lib/cocoapods/generator/info_plist_file.rb +2 -2
- data/lib/cocoapods/installer.rb +32 -12
- data/lib/cocoapods/installer/analyzer.rb +132 -97
- data/lib/cocoapods/installer/analyzer/target_inspector.rb +6 -8
- data/lib/cocoapods/installer/installation_options.rb +4 -0
- data/lib/cocoapods/installer/pod_source_installer.rb +17 -1
- data/lib/cocoapods/installer/podfile_validator.rb +26 -6
- data/lib/cocoapods/installer/project_cache/project_cache_analyzer.rb +37 -27
- data/lib/cocoapods/installer/project_cache/project_cache_version.rb +1 -1
- data/lib/cocoapods/installer/project_cache/project_installation_cache.rb +3 -3
- data/lib/cocoapods/installer/project_cache/project_metadata_cache.rb +12 -6
- data/lib/cocoapods/installer/project_cache/target_cache_key.rb +32 -8
- data/lib/cocoapods/installer/project_cache/target_metadata.rb +6 -2
- data/lib/cocoapods/installer/sandbox_dir_cleaner.rb +12 -0
- data/lib/cocoapods/installer/user_project_integrator/target_integrator/xcconfig_integrator.rb +1 -1
- data/lib/cocoapods/installer/xcode/multi_pods_project_generator.rb +3 -1
- data/lib/cocoapods/installer/xcode/pods_project_generator/aggregate_target_dependency_installer.rb +2 -2
- data/lib/cocoapods/installer/xcode/pods_project_generator/app_host_installer.rb +18 -3
- data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_dependency_installer.rb +53 -11
- data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb +92 -60
- data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_integrator.rb +66 -50
- data/lib/cocoapods/installer/xcode/pods_project_generator/target_installation_result.rb +12 -0
- data/lib/cocoapods/installer/xcode/pods_project_generator/target_installer.rb +6 -2
- data/lib/cocoapods/installer/xcode/pods_project_generator/target_installer_helper.rb +2 -2
- data/lib/cocoapods/installer/xcode/target_validator.rb +30 -14
- data/lib/cocoapods/native_target_extension.rb +11 -5
- data/lib/cocoapods/open-uri.rb +1 -1
- data/lib/cocoapods/project.rb +13 -7
- data/lib/cocoapods/resolver.rb +63 -53
- data/lib/cocoapods/resolver/lazy_specification.rb +14 -5
- data/lib/cocoapods/sandbox.rb +35 -2
- data/lib/cocoapods/sandbox/pod_dir_cleaner.rb +3 -4
- data/lib/cocoapods/sources_manager.rb +72 -43
- data/lib/cocoapods/target.rb +7 -1
- data/lib/cocoapods/target/aggregate_target.rb +13 -8
- data/lib/cocoapods/target/build_settings.rb +33 -10
- data/lib/cocoapods/target/pod_target.rb +114 -30
- data/lib/cocoapods/user_interface/error_report.rb +9 -5
- data/lib/cocoapods/validator.rb +55 -11
- data/lib/cocoapods/version_metadata.rb +14 -1
- metadata +6 -7
- data/lib/cocoapods/command/spec/env_spec.rb +0 -53
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 507399fc1d5dbd9dbc0fa249219b4ef5444d64f92c0366d48dea9b6a790921eb
|
4
|
+
data.tar.gz: ddeb4e0a72a18c3e48e2bb81547e59b2c504e7df32b1c9642f405ed3fa32c77a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6fe8c60758830cb5c36b79bc879229915f8cb86f3df1857197a95cd1445c81c38cc895e0dbf34cf27baa56139f0f49dcc0de123994ea77c9f45b314ab34b0bdb
|
7
|
+
data.tar.gz: fe86ab0710c992a127dbd6b416ef2e439f48f178787e7f7b0b33d4c8c6f5e98be97e1391f7e2bc46f24eab8387e499d591632c105444b630af62bbfdf32c3916
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,164 @@ To install or update CocoaPods see this [guide](http://docs.cocoapods.org/guides
|
|
4
4
|
|
5
5
|
To install release candidates run `[sudo] gem install cocoapods --pre`
|
6
6
|
|
7
|
+
## 1.8.0.beta.1 (2019-08-05)
|
8
|
+
|
9
|
+
##### Enhancements
|
10
|
+
|
11
|
+
* Allow Algolia search for CDNSource
|
12
|
+
[Igor Makarov](https://github.com/igor-makarov)
|
13
|
+
[#9015](https://github.com/CocoaPods/CocoaPods/issues/9015)
|
14
|
+
[#9046](https://github.com/CocoaPods/CocoaPods/pull/9046)
|
15
|
+
[Core#569](https://github.com/CocoaPods/Core/pull/569)
|
16
|
+
|
17
|
+
* Using `repo push` now pushes to the current repo branch (`HEAD`) instead of `master`
|
18
|
+
[Jhonatan Avalos](https://github.com/baguio)
|
19
|
+
[#8630](https://github.com/CocoaPods/CocoaPods/pull/8630)
|
20
|
+
|
21
|
+
* Add support for UI test specs with `test_type` value `:ui`
|
22
|
+
[Yavuz Nuzumlali](https://github.com/manuyavuz)
|
23
|
+
[#9002](https://github.com/CocoaPods/CocoaPods/pull/9002)
|
24
|
+
[Core#562](https://github.com/CocoaPods/Core/pull/562)
|
25
|
+
|
26
|
+
* Replace git-based `MasterSource` with CDN-based `TrunkSource`
|
27
|
+
[Igor Makarov](https://github.com/igor-makarov)
|
28
|
+
[#8923](https://github.com/CocoaPods/CocoaPods/pull/8923)
|
29
|
+
[Core#552](https://github.com/CocoaPods/Core/pull/552)
|
30
|
+
|
31
|
+
* Integrate a pod into a custom project name if specified.
|
32
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso) & [Sebastian Shanus](https://github.com/sebastianv1)
|
33
|
+
[#8939](https://github.com/CocoaPods/CocoaPods/pull/8939)
|
34
|
+
|
35
|
+
* Performance optimization for large number of files related to cleaning sandbox directory during installation
|
36
|
+
[hovox](https://github.com/hovox)
|
37
|
+
[#8797](https://github.com/CocoaPods/CocoaPods/issues/8797)
|
38
|
+
|
39
|
+
* Add support for Specification Info.plist DSL
|
40
|
+
[Eric Amorde](https://github.com/amorde)
|
41
|
+
[#8753](https://github.com/CocoaPods/CocoaPods/issues/8753)
|
42
|
+
[#3032](https://github.com/CocoaPods/CocoaPods/issues/3032)
|
43
|
+
|
44
|
+
* Fix target definition display name for inhibit warnings message.
|
45
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
46
|
+
[#8935](https://github.com/CocoaPods/CocoaPods/pull/8935)
|
47
|
+
|
48
|
+
* Allow using an application defined by an app spec as the app host for a test spec.
|
49
|
+
[jkap](https://github.com/jkap)
|
50
|
+
[Samuel Giddins](https://github.com/segiddins)
|
51
|
+
[#8654](https://github.com/CocoaPods/CocoaPods/pull/8654)
|
52
|
+
|
53
|
+
* Speed up dependency resolution when there are many requirements for the same pod
|
54
|
+
or many versions that do not satisfy the given requirements.
|
55
|
+
[Samuel Giddins](https://github.com/segiddins)
|
56
|
+
|
57
|
+
* Add support for pods in abstract-only targets to be installed.
|
58
|
+
[Samuel Giddins](https://github.com/segiddins)
|
59
|
+
|
60
|
+
* Emit a warning when attempting to integrate dynamic frameworks into command line tool targets
|
61
|
+
[Eric Amorde](https://github.com/amorde)
|
62
|
+
[#6493](https://github.com/CocoaPods/CocoaPods/issues/6493)
|
63
|
+
|
64
|
+
* Always suggest `pod repo update` on dependency resolution conflict,
|
65
|
+
unless repo update was specifically requested.
|
66
|
+
[Artem Sheremet](https://github.com/dotdoom)
|
67
|
+
[#8768](https://github.com/CocoaPods/CocoaPods/pull/8768)
|
68
|
+
|
69
|
+
* Set Default Module for Storyboards in resource bundle targets.
|
70
|
+
[James Treanor](https://github.com/jtreanor)
|
71
|
+
[#8890](https://github.com/CocoaPods/CocoaPods/pull/8890)
|
72
|
+
|
73
|
+
* Print correct platform name when inferring target platform.
|
74
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
75
|
+
[#8916](https://github.com/CocoaPods/CocoaPods/pull/8916)
|
76
|
+
|
77
|
+
* Do not re-write sandbox files if they have not changed.
|
78
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
79
|
+
[#8983](https://github.com/CocoaPods/CocoaPods/pull/8983)
|
80
|
+
|
81
|
+
* Added option to skip Pods.xcodeproj generation
|
82
|
+
[Itay Brenner](https://github.com/itaybre)
|
83
|
+
[8872](https://github.com/CocoaPods/CocoaPods/pull/8872)
|
84
|
+
|
85
|
+
##### Bug Fixes
|
86
|
+
|
87
|
+
* Update symlink script to prevent duplicate files
|
88
|
+
[Alex Coomans](https://github.com/drcapulet)
|
89
|
+
[#9035](https://github.com/CocoaPods/CocoaPods/pull/9035)
|
90
|
+
|
91
|
+
* Use correct `header_mappings_dir` for subspecs
|
92
|
+
[Alex Coomans](https://github.com/drcapulet)
|
93
|
+
[#9019](https://github.com/CocoaPods/CocoaPods/pull/9019)
|
94
|
+
|
95
|
+
* Make CDNSource show up in `pod repo env`
|
96
|
+
[Igor Makarov](https://github.com/igor-makarov)
|
97
|
+
[#9016](https://github.com/CocoaPods/CocoaPods/pull/9016)
|
98
|
+
|
99
|
+
* Fix regenerating aggregate targets for incremental installation.
|
100
|
+
[Sebastian Shanus](https://github.com/sebastianv1)
|
101
|
+
[#9009](https://github.com/CocoaPods/CocoaPods/pull/9009)
|
102
|
+
|
103
|
+
* Fix heuristic for determining whether the source URL to be added is CDN
|
104
|
+
[Igor Makarov](https://github.com/igor-makarov)
|
105
|
+
[#9000](https://github.com/CocoaPods/CocoaPods/issues/9000)
|
106
|
+
[#8999](https://github.com/CocoaPods/CocoaPods/issues/8999)
|
107
|
+
|
108
|
+
* Fix set `cache_root` from config file error
|
109
|
+
[tripleCC](https://github.com/tripleCC)
|
110
|
+
[#8515](https://github.com/CocoaPods/CocoaPods/issues/8515)
|
111
|
+
|
112
|
+
* Set default build configurations for app / test specs when installing with
|
113
|
+
`integrate_targets: false`, ensuring the `Embed Frameworks` and
|
114
|
+
`Copy Resources` scripts will copy the necessary build artifacts.
|
115
|
+
[Samuel Giddins](https://github.com/segiddins)
|
116
|
+
|
117
|
+
* No longer show a warning when using an optional include (`#include?`) to
|
118
|
+
include the Pods .xcconfig from the base .xcconfig file
|
119
|
+
[Rob Hudson](https://github.com/robtimp)
|
120
|
+
|
121
|
+
* Remove stale podspecs from 'Local Podspecs' when installing non-local counterparts.
|
122
|
+
[Pär Strindevall](https://github.com/parski)
|
123
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
124
|
+
[#8914](https://github.com/CocoaPods/CocoaPods/pull/8914)
|
125
|
+
|
126
|
+
* Fix inheriting search paths for test targets in `init` command.
|
127
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
128
|
+
[#8868](https://github.com/CocoaPods/CocoaPods/issues/8868)
|
129
|
+
|
130
|
+
* Allow detecting `SWIFT_VERSION` build settings from user targets when some
|
131
|
+
xcconfig files are missing.
|
132
|
+
[Samuel Giddins](https://github.com/segiddins)
|
133
|
+
|
134
|
+
* Only return library itself as a framework path for library specs.
|
135
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
136
|
+
[#9029](https://github.com/CocoaPods/CocoaPods/pull/9029)
|
137
|
+
|
138
|
+
* Fix a bug that prevented dependencies in a plugin source from resolving
|
139
|
+
[Eric Amorde](https://github.com/amorde)
|
140
|
+
[#8540](https://github.com/CocoaPods/CocoaPods/issues/8540)
|
141
|
+
|
142
|
+
* Store relative project and file paths in the incremental cache.
|
143
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
144
|
+
[#9041](https://github.com/CocoaPods/CocoaPods/pull/9041)
|
145
|
+
|
146
|
+
* Use correct deployment target for test specs and app specs.
|
147
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
148
|
+
[#9040](https://github.com/CocoaPods/CocoaPods/pull/9040)
|
149
|
+
|
150
|
+
* Allow overriding custom xcconfig entries set for compiling a library when
|
151
|
+
specifying an app or test spec.
|
152
|
+
[Samuel Giddins](https://github.com/segiddins)
|
153
|
+
|
154
|
+
* Pass a non-browser user agent for social media validation
|
155
|
+
[Dov Frankel](https://github.com/abbeycode)
|
156
|
+
[CocoaPods/Core#571](https://github.com/CocoaPods/Core/pull/571)
|
157
|
+
[#9053](https://github.com/CocoaPods/Cocoapods/pull/9053)
|
158
|
+
[#9049](https://github.com/CocoaPods/CocoaPods/issues/9049)
|
159
|
+
|
160
|
+
* Do not add CocoaPods script phases to targets that have no paths to embed.
|
161
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
162
|
+
[#9069](https://github.com/CocoaPods/CocoaPods/pull/9069)
|
163
|
+
|
164
|
+
|
7
165
|
## 1.7.5 (2019-07-19)
|
8
166
|
|
9
167
|
##### Enhancements
|
@@ -176,6 +334,10 @@ To install release candidates run `[sudo] gem install cocoapods --pre`
|
|
176
334
|
[Sebastian Shanus](https://github.com/sebastianv1)
|
177
335
|
[#8636](https://github.com/CocoaPods/CocoaPods/pull/8636)
|
178
336
|
|
337
|
+
* Resolved an issue that could cause spec repo updates to fail on CI servers.
|
338
|
+
[rpecka](https://github.com/rpecka)
|
339
|
+
[#7317](https://github.com/CocoaPods/CocoaPods/issues/7317)
|
340
|
+
|
179
341
|
|
180
342
|
## 1.7.0.beta.2 (2019-03-08)
|
181
343
|
|
@@ -350,7 +512,9 @@ To install release candidates run `[sudo] gem install cocoapods --pre`
|
|
350
512
|
|
351
513
|
##### Enhancements
|
352
514
|
|
353
|
-
*
|
515
|
+
* Add `--analyze` option for the linters.
|
516
|
+
[Paul Beusterien](https://github.com/paulb777)
|
517
|
+
[#8792](https://github.com/CocoaPods/CocoaPods/issues/8792)
|
354
518
|
|
355
519
|
##### Bug Fixes
|
356
520
|
|
@@ -1401,7 +1565,7 @@ To install release candidates run `[sudo] gem install cocoapods --pre`
|
|
1401
1565
|
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
1402
1566
|
[#6762](https://github.com/CocoaPods/CocoaPods/pull/6762)
|
1403
1567
|
|
1404
|
-
* Use unique temp folder during lint for parallel execution
|
1568
|
+
* Use unique temp folder during lint for parallel execution
|
1405
1569
|
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
1406
1570
|
[#5117](https://github.com/CocoaPods/CocoaPods/issues/5117)
|
1407
1571
|
|
@@ -1425,11 +1589,11 @@ To install release candidates run `[sudo] gem install cocoapods --pre`
|
|
1425
1589
|
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
1426
1590
|
[#6700](https://github.com/CocoaPods/CocoaPods/pull/6700)
|
1427
1591
|
|
1428
|
-
* Make copy resources echoes always return true to work around issue where Xcode stops handling build script output greater than
|
1592
|
+
* Make copy resources echoes always return true to work around issue where Xcode stops handling build script output greater than \~440 characters (rdar://30607704).
|
1429
1593
|
[postmechanical](https://github.com/postmechanical)
|
1430
1594
|
[#6595](https://github.com/CocoaPods/CocoaPods/issues/6595)
|
1431
1595
|
|
1432
|
-
* Inherit pod defined values for `SWIFT_ACTIVE_COMPILATION_CONDITIONS`.
|
1596
|
+
* Inherit pod defined values for `SWIFT_ACTIVE_COMPILATION_CONDITIONS`.
|
1433
1597
|
[Louis D'hauwe](https://github.com/louisdh)
|
1434
1598
|
[#6629](https://github.com/CocoaPods/CocoaPods/pull/6629)
|
1435
1599
|
|
@@ -1889,11 +2053,11 @@ To install release candidates run `[sudo] gem install cocoapods --pre`
|
|
1889
2053
|
[Danielle Tomlinson](https://github.com/dantoml)
|
1890
2054
|
[#5491](https://github.com/CocoaPods/CocoaPods/issues/5491)
|
1891
2055
|
|
1892
|
-
* Fix codesigning identity on watchOS and tvOS targets.
|
2056
|
+
* Fix codesigning identity on watchOS and tvOS targets.
|
1893
2057
|
[Danielle Tomlinson](https://github.com/dantoml)
|
1894
2058
|
[#5686](https://github.com/CocoaPods/CocoaPods/issues/5686)
|
1895
2059
|
|
1896
|
-
* Fix SWIFT_VERSION not being read when only defined at the project level.
|
2060
|
+
* Fix SWIFT_VERSION not being read when only defined at the project level.
|
1897
2061
|
[Ben Asher](https://github.com/benasher44)
|
1898
2062
|
[#5700](https://github.com/CocoaPods/CocoaPods/issues/5700) and [#5737](https://github.com/CocoaPods/CocoaPods/issues/5737)
|
1899
2063
|
|
@@ -3061,7 +3225,7 @@ To install release candidates run `[sudo] gem install cocoapods --pre`
|
|
3061
3225
|
* They have any dependency which needs to be duplicated.
|
3062
3226
|
|
3063
3227
|
You can opt-out of this behavior installation-wise, by setting the following
|
3064
|
-
option in your
|
3228
|
+
option in your `~/.cocoapods/config.yaml`:
|
3065
3229
|
```yaml
|
3066
3230
|
deduplicate_targets: false
|
3067
3231
|
```
|
@@ -4428,8 +4592,8 @@ For more details, see 📝 [CocoaPods 0.33](https://blog.cocoapods.org/CocoaPods
|
|
4428
4592
|
(d). If auto-completion is enabled for your shell you can configure it for
|
4429
4593
|
CocoaPods with the following command:
|
4430
4594
|
|
4431
|
-
rm -f /usr/local/share/zsh/site-functions
|
4432
|
-
dpod --completion-script > /usr/local/share/zsh/site-functions
|
4595
|
+
rm -f /usr/local/share/zsh/site-functions/\_pod
|
4596
|
+
dpod --completion-script > /usr/local/share/zsh/site-functions/\_pod
|
4433
4597
|
exec zsh
|
4434
4598
|
|
4435
4599
|
Currently only the Z shell is supported.
|
@@ -6524,7 +6688,7 @@ CocoaPods can now integrate all the targets specified in your `Podfile`.
|
|
6524
6688
|
To specify which target, in your Xcode project, a Pods target should be linked
|
6525
6689
|
with, use the `link_with` method like so:
|
6526
6690
|
|
6527
|
-
|
6691
|
+
```ruby
|
6528
6692
|
platform :ios
|
6529
6693
|
|
6530
6694
|
workspace 'MyWorkspace'
|
@@ -6537,7 +6701,7 @@ target :test, :exclusive => true do
|
|
6537
6701
|
link_with 'TestRunnerTarget'
|
6538
6702
|
dependency 'Kiwi'
|
6539
6703
|
end
|
6540
|
-
|
6704
|
+
```
|
6541
6705
|
|
6542
6706
|
_NOTE: As you can see it can take either one target name, or an array of names._
|
6543
6707
|
|
data/LICENSE
CHANGED
@@ -1,13 +1,18 @@
|
|
1
1
|
This project is licensed under the MIT license.
|
2
2
|
|
3
|
-
Copyright (c) 2011
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
3
|
+
Copyright (c) 2011 Eloy Durán <eloy.de.enige@gmail.com>,
|
4
|
+
Fabio Pelosin <fabiopelosin@gmail.com>,
|
5
|
+
Samuel Giddins <segiddins@segiddins.me>,
|
6
|
+
Marius Rackwitz <git@mariusrackwitz.de>,
|
7
|
+
Kyle Fuller <kyle@fuller.li>,
|
8
|
+
Boris Bügling <boris@buegling.com>,
|
9
|
+
Orta Therox <orta.therox@gmail.com>,
|
10
|
+
Olivier Halligon <olivier@halligon.net>,
|
11
|
+
Danielle Tomlinson <dan@tomlinson.io>,
|
12
|
+
Dimitris Koutsogiorgas <dnkoutso@gmail.com>,
|
13
|
+
Paul Beusterien <paulbeusterien@google.com>, and
|
14
|
+
Eric Amorde <eric.amorde@gmail.com>.
|
15
|
+
|
11
16
|
|
12
17
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
13
18
|
of this software and associated documentation files (the "Software"), to deal
|
data/README.md
CHANGED
@@ -11,7 +11,8 @@ CocoaPods manages dependencies for your Xcode projects.
|
|
11
11
|
You specify the dependencies for your project in a simple text file: your `Podfile`.
|
12
12
|
CocoaPods recursively resolves dependencies between libraries, fetches
|
13
13
|
source code for all dependencies, and creates and maintains an Xcode
|
14
|
-
workspace to build your project.
|
14
|
+
workspace to build your project. The latest released Xcode versions and the
|
15
|
+
prior version are supported.
|
15
16
|
|
16
17
|
Installing and updating CocoaPods is very easy. Don't miss the [Installation
|
17
18
|
guide](https://guides.cocoapods.org/using/getting-started.html#installation) and the
|
@@ -48,7 +48,7 @@ module Pod
|
|
48
48
|
private
|
49
49
|
|
50
50
|
# @param [Xcodeproj::Project] project
|
51
|
-
# The
|
51
|
+
# The Xcode project to generate a podfile for.
|
52
52
|
#
|
53
53
|
# @return [String] the text of the Podfile for the provided project
|
54
54
|
#
|
@@ -61,9 +61,7 @@ module Pod
|
|
61
61
|
PLATFORM
|
62
62
|
|
63
63
|
# Split out the targets into app and test targets
|
64
|
-
test_targets, app_targets = project.native_targets.
|
65
|
-
sort_by { |t| t.name.downcase }.
|
66
|
-
partition(&:test_target_type?)
|
64
|
+
test_targets, app_targets = project.native_targets.sort_by { |t| t.name.downcase }.partition(&:test_target_type?)
|
67
65
|
|
68
66
|
app_targets.each do |app_target|
|
69
67
|
test_targets_for_app = test_targets.select do |target|
|
@@ -75,14 +73,14 @@ module Pod
|
|
75
73
|
podfile
|
76
74
|
end
|
77
75
|
|
78
|
-
# @param
|
79
|
-
# An array which always has a target as its first item
|
80
|
-
# and may optionally contain related test targets
|
76
|
+
# @param [PBXNativeTarget] host the native host target for the module.
|
81
77
|
#
|
82
|
-
# @
|
78
|
+
# @param [Array<PBXNativeTarget>] tests the native test targets for the module.
|
83
79
|
#
|
84
|
-
|
85
|
-
|
80
|
+
# @return [String] the text for the target module.
|
81
|
+
#
|
82
|
+
def target_module(host, tests)
|
83
|
+
target_module = "\ntarget '#{host.name.gsub(/'/, "\\\\\'")}' do\n"
|
86
84
|
|
87
85
|
target_module << <<-RUBY
|
88
86
|
# Comment the next line if you don't want to use dynamic frameworks
|
@@ -90,11 +88,13 @@ module Pod
|
|
90
88
|
|
91
89
|
RUBY
|
92
90
|
|
93
|
-
target_module << template_contents(config.default_podfile_path, ' ', "Pods for #{
|
91
|
+
target_module << template_contents(config.default_podfile_path, ' ', "Pods for #{host.name}\n")
|
94
92
|
|
95
93
|
tests.each do |test|
|
96
94
|
target_module << "\n target '#{test.name.gsub(/'/, "\\\\\'")}' do\n"
|
97
|
-
|
95
|
+
unless Pod::AggregateTarget::EMBED_FRAMEWORKS_IN_HOST_TARGET_TYPES.include?(host.symbol_type) || test.symbol_type == :ui_test_bundle
|
96
|
+
target_module << " inherit! :search_paths\n"
|
97
|
+
end
|
98
98
|
target_module << template_contents(config.default_test_podfile_path, ' ', 'Pods for testing')
|
99
99
|
target_module << "\n end\n"
|
100
100
|
end
|
@@ -102,11 +102,13 @@ module Pod
|
|
102
102
|
target_module << "\nend\n"
|
103
103
|
end
|
104
104
|
|
105
|
-
# @param
|
106
|
-
#
|
107
|
-
#
|
105
|
+
# @param [Pathname] path the path of the template to load contents from.
|
106
|
+
#
|
107
|
+
# @param [String] prefix the prefix to use for each line.
|
108
|
+
#
|
109
|
+
# @param [String] fallback the fallback contents to use if the path for the template does not exist.
|
108
110
|
#
|
109
|
-
# @return [String] the
|
111
|
+
# @return [String] the template contents for the given path.
|
110
112
|
#
|
111
113
|
def template_contents(path, prefix, fallback)
|
112
114
|
if path.exist?
|
@@ -31,7 +31,8 @@ module Pod
|
|
31
31
|
[
|
32
32
|
['--repo-update', 'Force running `pod repo update` before install'],
|
33
33
|
['--deployment', 'Disallow any changes to the Podfile or the Podfile.lock during installation'],
|
34
|
-
['--clean-install', 'Ignore the contents of the project cache and force a full pod installation. This only
|
34
|
+
['--clean-install', 'Ignore the contents of the project cache and force a full pod installation. This only ' \
|
35
|
+
'applies to projects that have enabled incremental installation'],
|
35
36
|
].concat(super).reject { |(name, _)| name == '--no-repo-update' }
|
36
37
|
end
|
37
38
|
|
@@ -22,20 +22,19 @@ module Pod
|
|
22
22
|
['--fail-fast', 'Lint stops on the first failing platform or subspec'],
|
23
23
|
['--use-libraries', 'Lint uses static libraries to install the spec'],
|
24
24
|
['--use-modular-headers', 'Lint uses modular headers during installation'],
|
25
|
-
[
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
'(defaults to all platforms supported by the podspec).' \
|
30
|
-
'Multiple platforms must be comma-delimited'],
|
25
|
+
["--sources=#{Pod::TrunkSource::TRUNK_REPO_URL}", 'The sources from which to pull dependent pods ' \
|
26
|
+
"(defaults to #{Pod::TrunkSource::TRUNK_REPO_URL}). Multiple sources must be comma-delimited"],
|
27
|
+
['--platforms=ios,macos', 'Lint against specific platforms (defaults to all platforms supported by the ' \
|
28
|
+
'podspec). Multiple platforms must be comma-delimited'],
|
31
29
|
['--private', 'Lint skips checks that apply only to public specs'],
|
32
|
-
['--swift-version=VERSION', 'The SWIFT_VERSION that should be used to lint the spec. ' \
|
33
|
-
'This takes precedence over the Swift versions specified by the spec or a `.swift-version` file
|
34
|
-
['--include-podspecs=**/*.podspec', 'Additional ancillary podspecs which are used for linting via :path
|
30
|
+
['--swift-version=VERSION', 'The `SWIFT_VERSION` that should be used to lint the spec. ' \
|
31
|
+
'This takes precedence over the Swift versions specified by the spec or a `.swift-version` file'],
|
32
|
+
['--include-podspecs=**/*.podspec', 'Additional ancillary podspecs which are used for linting via :path'],
|
35
33
|
['--external-podspecs=**/*.podspec', 'Additional ancillary podspecs which are used for linting '\
|
36
|
-
'via :podspec. If there are --include-podspecs, then these are removed from them
|
34
|
+
'via :podspec. If there are --include-podspecs, then these are removed from them'],
|
37
35
|
['--skip-import-validation', 'Lint skips validating that the pod can be imported'],
|
38
36
|
['--skip-tests', 'Lint skips building and running tests during validation'],
|
37
|
+
['--analyze', 'Validate with the Xcode Static Analysis tool'],
|
39
38
|
].concat(super)
|
40
39
|
end
|
41
40
|
|
@@ -48,7 +47,7 @@ module Pod
|
|
48
47
|
@only_subspec = argv.option('subspec')
|
49
48
|
@use_frameworks = !argv.flag?('use-libraries')
|
50
49
|
@use_modular_headers = argv.flag?('use-modular-headers')
|
51
|
-
@source_urls = argv.option('sources',
|
50
|
+
@source_urls = argv.option('sources', Pod::TrunkSource::TRUNK_REPO_URL).split(',')
|
52
51
|
@platforms = argv.option('platforms', '').split(',')
|
53
52
|
@private = argv.flag?('private', false)
|
54
53
|
@swift_version = argv.option('swift-version', nil)
|
@@ -56,6 +55,7 @@ module Pod
|
|
56
55
|
@external_podspecs = argv.option('external-podspecs', nil)
|
57
56
|
@skip_import_validation = argv.flag?('skip-import-validation', false)
|
58
57
|
@skip_tests = argv.flag?('skip-tests', false)
|
58
|
+
@analyze = argv.flag?('analyze', false)
|
59
59
|
@podspecs_paths = argv.arguments!
|
60
60
|
super
|
61
61
|
end
|
@@ -81,6 +81,7 @@ module Pod
|
|
81
81
|
validator.swift_version = @swift_version
|
82
82
|
validator.skip_import_validation = @skip_import_validation
|
83
83
|
validator.skip_tests = @skip_tests
|
84
|
+
validator.analyze = @analyze
|
84
85
|
validator.include_podspecs = @include_podspecs
|
85
86
|
validator.external_podspecs = @external_podspecs
|
86
87
|
validator.validate
|