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.
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