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.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +175 -11
  3. data/LICENSE +13 -8
  4. data/README.md +2 -1
  5. data/lib/cocoapods/command/init.rb +18 -16
  6. data/lib/cocoapods/command/install.rb +2 -1
  7. data/lib/cocoapods/command/lib/create.rb +1 -2
  8. data/lib/cocoapods/command/lib/lint.rb +12 -11
  9. data/lib/cocoapods/command/repo/add.rb +2 -2
  10. data/lib/cocoapods/command/repo/list.rb +7 -5
  11. data/lib/cocoapods/command/repo/push.rb +15 -12
  12. data/lib/cocoapods/command/setup.rb +2 -88
  13. data/lib/cocoapods/command/spec/lint.rb +10 -9
  14. data/lib/cocoapods/command/update.rb +5 -4
  15. data/lib/cocoapods/config.rb +9 -8
  16. data/lib/cocoapods/external_sources/path_source.rb +1 -1
  17. data/lib/cocoapods/gem_version.rb +1 -1
  18. data/lib/cocoapods/generator/embed_frameworks_script.rb +1 -1
  19. data/lib/cocoapods/generator/info_plist_file.rb +2 -2
  20. data/lib/cocoapods/installer.rb +32 -12
  21. data/lib/cocoapods/installer/analyzer.rb +132 -97
  22. data/lib/cocoapods/installer/analyzer/target_inspector.rb +6 -8
  23. data/lib/cocoapods/installer/installation_options.rb +4 -0
  24. data/lib/cocoapods/installer/pod_source_installer.rb +17 -1
  25. data/lib/cocoapods/installer/podfile_validator.rb +26 -6
  26. data/lib/cocoapods/installer/project_cache/project_cache_analyzer.rb +37 -27
  27. data/lib/cocoapods/installer/project_cache/project_cache_version.rb +1 -1
  28. data/lib/cocoapods/installer/project_cache/project_installation_cache.rb +3 -3
  29. data/lib/cocoapods/installer/project_cache/project_metadata_cache.rb +12 -6
  30. data/lib/cocoapods/installer/project_cache/target_cache_key.rb +32 -8
  31. data/lib/cocoapods/installer/project_cache/target_metadata.rb +6 -2
  32. data/lib/cocoapods/installer/sandbox_dir_cleaner.rb +12 -0
  33. data/lib/cocoapods/installer/user_project_integrator/target_integrator/xcconfig_integrator.rb +1 -1
  34. data/lib/cocoapods/installer/xcode/multi_pods_project_generator.rb +3 -1
  35. data/lib/cocoapods/installer/xcode/pods_project_generator/aggregate_target_dependency_installer.rb +2 -2
  36. data/lib/cocoapods/installer/xcode/pods_project_generator/app_host_installer.rb +18 -3
  37. data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_dependency_installer.rb +53 -11
  38. data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_installer.rb +92 -60
  39. data/lib/cocoapods/installer/xcode/pods_project_generator/pod_target_integrator.rb +66 -50
  40. data/lib/cocoapods/installer/xcode/pods_project_generator/target_installation_result.rb +12 -0
  41. data/lib/cocoapods/installer/xcode/pods_project_generator/target_installer.rb +6 -2
  42. data/lib/cocoapods/installer/xcode/pods_project_generator/target_installer_helper.rb +2 -2
  43. data/lib/cocoapods/installer/xcode/target_validator.rb +30 -14
  44. data/lib/cocoapods/native_target_extension.rb +11 -5
  45. data/lib/cocoapods/open-uri.rb +1 -1
  46. data/lib/cocoapods/project.rb +13 -7
  47. data/lib/cocoapods/resolver.rb +63 -53
  48. data/lib/cocoapods/resolver/lazy_specification.rb +14 -5
  49. data/lib/cocoapods/sandbox.rb +35 -2
  50. data/lib/cocoapods/sandbox/pod_dir_cleaner.rb +3 -4
  51. data/lib/cocoapods/sources_manager.rb +72 -43
  52. data/lib/cocoapods/target.rb +7 -1
  53. data/lib/cocoapods/target/aggregate_target.rb +13 -8
  54. data/lib/cocoapods/target/build_settings.rb +33 -10
  55. data/lib/cocoapods/target/pod_target.rb +114 -30
  56. data/lib/cocoapods/user_interface/error_report.rb +9 -5
  57. data/lib/cocoapods/validator.rb +55 -11
  58. data/lib/cocoapods/version_metadata.rb +14 -1
  59. metadata +6 -7
  60. 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: 8c15a0a502e35910503e1eb469ddaddbd90bd0f14ca891aa6300c4f6987e7bd9
4
- data.tar.gz: 26963bf654476896c56f7c93722b805cd6207789e08321d540144a5ca1b3fbbd
3
+ metadata.gz: 507399fc1d5dbd9dbc0fa249219b4ef5444d64f92c0366d48dea9b6a790921eb
4
+ data.tar.gz: ddeb4e0a72a18c3e48e2bb81547e59b2c504e7df32b1c9642f405ed3fa32c77a
5
5
  SHA512:
6
- metadata.gz: 9c6e62b772c566f0d177b61709dd1d30cc19d2083d481059ca37151c0b5750b80cf0fd381d096b1c772d901f69accbf5fa8a869bdbe4dd83a10d096658c5acfe
7
- data.tar.gz: 36972c2c7cb98f40b235a48814f180f87878e40d66b00540f718f792978ccb8e0cadf907098d09899eb0bbb70fa0e2f840a40e0e1dafed1467cc750f840050fc
6
+ metadata.gz: 6fe8c60758830cb5c36b79bc879229915f8cb86f3df1857197a95cd1445c81c38cc895e0dbf34cf27baa56139f0f49dcc0de123994ea77c9f45b314ab34b0bdb
7
+ data.tar.gz: fe86ab0710c992a127dbd6b416ef2e439f48f178787e7f7b0b33d4c8c6f5e98be97e1391f7e2bc46f24eab8387e499d591632c105444b630af62bbfdf32c3916
@@ -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
- * None.
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 ~440 characters (rdar://30607704).
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 ``~/.cocoapods/config.yaml`:
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/_pod
4432
- dpod --completion-script > /usr/local/share/zsh/site-functions/_pod
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
- ``ruby
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 - 2017 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>, and
10
- Olivier Halligon <olivier@halligon.net>.
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 xcode project to generate a podfile for.
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 [[Xcodeproj::PBXTarget]] targets
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
- # @return [String] the text for the target module
78
+ # @param [Array<PBXNativeTarget>] tests the native test targets for the module.
83
79
  #
84
- def target_module(app, tests)
85
- target_module = "\ntarget '#{app.name.gsub(/'/, "\\\\\'")}' do\n"
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 #{app.name}\n")
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
- target_module << " inherit! :search_paths\n"
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 [[Xcodeproj::PBXTarget]] targets
106
- # An array which always has a target as its first item
107
- # and may optionally contain a second target as its test target
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 text for the target module
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 applies to projects that have enabled incremental installation.'],
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
 
@@ -17,8 +17,7 @@ module Pod
17
17
 
18
18
  def self.options
19
19
  [
20
- ['--template-url=URL', 'The URL of the git repo containing a ' \
21
- 'compatible template'],
20
+ ['--template-url=URL', 'The URL of the git repo containing a compatible template'],
22
21
  ].concat(super)
23
22
  end
24
23
 
@@ -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
- ['--sources=https://github.com/artsy/Specs,master', 'The sources from which to pull dependent pods ' \
26
- '(defaults to https://github.com/CocoaPods/Specs.git). ' \
27
- 'Multiple sources must be comma-delimited.'],
28
- ['--platforms=ios,macos', 'Lint against specific platforms' \
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', 'https://github.com/CocoaPods/Specs.git').split(',')
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