cocoapods 1.7.5 → 1.8.0.beta.1
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 +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
|