cocoapods 1.0.0.beta.2 → 1.0.0.beta.3
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 +55 -0
- data/lib/cocoapods/command/init.rb +1 -1
- data/lib/cocoapods/command/inter_process_communication.rb +5 -5
- data/lib/cocoapods/command/project.rb +2 -2
- data/lib/cocoapods/command/repo/add.rb +1 -1
- data/lib/cocoapods/command/repo/lint.rb +1 -1
- data/lib/cocoapods/command/repo/update.rb +1 -1
- data/lib/cocoapods/command/spec/cat.rb +1 -1
- data/lib/cocoapods/command/spec/edit.rb +1 -1
- data/lib/cocoapods/command/spec/lint.rb +2 -2
- data/lib/cocoapods/command/spec/which.rb +1 -1
- data/lib/cocoapods/external_sources/podspec_source.rb +1 -1
- data/lib/cocoapods/gem_version.rb +1 -1
- data/lib/cocoapods/generator/xcconfig/aggregate_xcconfig.rb +2 -2
- data/lib/cocoapods/generator/xcconfig/pod_xcconfig.rb +2 -4
- data/lib/cocoapods/generator/xcconfig/xcconfig_helper.rb +5 -6
- data/lib/cocoapods/installer.rb +1 -1
- data/lib/cocoapods/installer/analyzer.rb +4 -5
- data/lib/cocoapods/installer/analyzer/sandbox_analyzer.rb +1 -1
- data/lib/cocoapods/installer/analyzer/specs_state.rb +21 -13
- data/lib/cocoapods/installer/file_references_installer.rb +12 -9
- data/lib/cocoapods/installer/target_installer/pod_target_installer.rb +12 -1
- data/lib/cocoapods/installer/user_project_integrator/target_integrator/xcconfig_integrator.rb +2 -2
- data/lib/cocoapods/{open_uri.rb → open-uri.rb} +2 -0
- data/lib/cocoapods/sources_manager.rb +11 -6
- data/lib/cocoapods/validator.rb +2 -2
- metadata +12 -12
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 04db614d298cf64360e2528b3a6a187fe56fae78
|
|
4
|
+
data.tar.gz: 4c179f800285b164798be255164b2dd96f8f24f5
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 370854285b3569c125818e3b905794b5eac5487f2891aa21e19b36139143b9ad0a3e1970eca7ecb6b7b04ba5876460b502c1f65509a1bb3e05eac2ad2fbfbb57
|
|
7
|
+
data.tar.gz: c5e7ac223cbac6a558528dbc5d43e8e937f04ec2fb667cdb8a9b32c825c1671e86767ddf876c2bc439aa09ea6808d04a4e94b8ad39a58731be7726dd6ddcf41a
|
data/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,61 @@ 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.0.0.beta.3 (2016-02-03)
|
|
8
|
+
|
|
9
|
+
##### Breaking
|
|
10
|
+
|
|
11
|
+
* Rename the `xcodeproj` Podfile directive to `project`.
|
|
12
|
+
[Marius Rackwitz](https://github.com/mrackwitz)
|
|
13
|
+
[Core#298](https://github.com/CocoaPods/Core/issues/298)
|
|
14
|
+
|
|
15
|
+
##### Enhancements
|
|
16
|
+
|
|
17
|
+
* None.
|
|
18
|
+
|
|
19
|
+
##### Bug Fixes
|
|
20
|
+
|
|
21
|
+
* Don't try to embed project headers into frameworks.
|
|
22
|
+
[Marius Rackwitz](https://github.com/mrackwitz)
|
|
23
|
+
[#4819](https://github.com/CocoaPods/CocoaPods/issues/4819)
|
|
24
|
+
|
|
25
|
+
* Fix a crash in the analyzer when target deduplication is deactivated.
|
|
26
|
+
[Marius Rackwitz](https://github.com/mrackwitz)
|
|
27
|
+
[#4751](https://github.com/CocoaPods/CocoaPods/issues/4751)
|
|
28
|
+
|
|
29
|
+
* Handle CoreData mapping models with recursive resource globs.
|
|
30
|
+
[Eric Firestone](https://github.com/efirestone)
|
|
31
|
+
[#4809](https://github.com/CocoaPods/CocoaPods/pull/4809)
|
|
32
|
+
|
|
33
|
+
* Generate valid xcconfig when target name includes spaces.
|
|
34
|
+
[Dimitris Koutsogiorgas](https://github.com/dnkoutso)
|
|
35
|
+
[#4783](https://github.com/CocoaPods/CocoaPods/issues/4783)
|
|
36
|
+
|
|
37
|
+
* Properly add resource files to resources build phase.
|
|
38
|
+
[Eric Firestone](https://github.com/efirestone)
|
|
39
|
+
[#4762](https://github.com/CocoaPods/CocoaPods/issues/4762)
|
|
40
|
+
|
|
41
|
+
* Fix suggestion of sudo when it actually isn't needed.
|
|
42
|
+
[Marcel Jackwerth](https://github.com/sirlantis)
|
|
43
|
+
|
|
44
|
+
* Set the `TARGET_DEVICE_FAMILY` to support both iPhone and iPad for iOS
|
|
45
|
+
resource bundle targets.
|
|
46
|
+
[Andy Rifken](https://github.com/arifken)
|
|
47
|
+
|
|
48
|
+
* Share user schemes of `Pods.xcodeproj` after generating deterministic UUIDS.
|
|
49
|
+
[Samuel Giddins](https://github.com/segiddins)
|
|
50
|
+
|
|
51
|
+
* Only attempt to `import` a framework during linting if the pod has source
|
|
52
|
+
files, and is thus being built by CocoaPods.
|
|
53
|
+
[Samuel Giddins](https://github.com/segiddins)
|
|
54
|
+
[#4823](https://github.com/CocoaPods/CocoaPods/issues/4823)
|
|
55
|
+
|
|
56
|
+
* Determine whether an external source needs to be fetched when updating a
|
|
57
|
+
dependency regardless of subspec names.
|
|
58
|
+
[Samuel Giddins](https://github.com/segiddins)
|
|
59
|
+
[#4821](https://github.com/CocoaPods/CocoaPods/issues/4821)
|
|
60
|
+
|
|
61
|
+
|
|
7
62
|
## 1.0.0.beta.2 (2016-01-05)
|
|
8
63
|
|
|
9
64
|
##### Enhancements
|
|
@@ -4,7 +4,7 @@ require 'active_support/core_ext/string/strip'
|
|
|
4
4
|
module Pod
|
|
5
5
|
class Command
|
|
6
6
|
class Init < Command
|
|
7
|
-
self.summary = 'Generate a Podfile for the current directory
|
|
7
|
+
self.summary = 'Generate a Podfile for the current directory'
|
|
8
8
|
self.description = <<-DESC
|
|
9
9
|
Creates a Podfile for the current directory if none currently exists. If
|
|
10
10
|
an `XCODEPROJ` project file is specified or if there is only a single
|
|
@@ -11,7 +11,7 @@ module Pod
|
|
|
11
11
|
#-----------------------------------------------------------------------#
|
|
12
12
|
|
|
13
13
|
class Spec < IPC
|
|
14
|
-
self.summary = 'Converts a podspec to JSON
|
|
14
|
+
self.summary = 'Converts a podspec to JSON'
|
|
15
15
|
self.description = 'Converts a podspec to JSON and prints it to STDOUT.'
|
|
16
16
|
self.arguments = [
|
|
17
17
|
CLAide::Argument.new('PATH', true),
|
|
@@ -37,7 +37,7 @@ module Pod
|
|
|
37
37
|
#-----------------------------------------------------------------------#
|
|
38
38
|
|
|
39
39
|
class Podfile < IPC
|
|
40
|
-
self.summary = 'Converts a Podfile to YAML
|
|
40
|
+
self.summary = 'Converts a Podfile to YAML'
|
|
41
41
|
self.description = 'Converts a Podfile to YAML and prints it to STDOUT.'
|
|
42
42
|
self.arguments = [
|
|
43
43
|
CLAide::Argument.new('PATH', true),
|
|
@@ -63,7 +63,7 @@ module Pod
|
|
|
63
63
|
#-----------------------------------------------------------------------#
|
|
64
64
|
|
|
65
65
|
class List < IPC
|
|
66
|
-
self.summary = 'Lists the specifications known to CocoaPods
|
|
66
|
+
self.summary = 'Lists the specifications known to CocoaPods'
|
|
67
67
|
self.description = <<-DESC
|
|
68
68
|
Prints to STDOUT a YAML dictionary where the keys are the name of the
|
|
69
69
|
specifications and each corresponding value is a dictionary with
|
|
@@ -101,7 +101,7 @@ module Pod
|
|
|
101
101
|
#-----------------------------------------------------------------------#
|
|
102
102
|
|
|
103
103
|
class UpdateSearchIndex < IPC
|
|
104
|
-
self.summary = 'Updates the search index
|
|
104
|
+
self.summary = 'Updates the search index'
|
|
105
105
|
self.description = <<-DESC
|
|
106
106
|
Updates the search index and prints its path to standard output.
|
|
107
107
|
The search index is a YAML encoded dictionary where the keys
|
|
@@ -125,7 +125,7 @@ module Pod
|
|
|
125
125
|
class Repl < IPC
|
|
126
126
|
END_OF_OUTPUT_SIGNAL = "\n\r"
|
|
127
127
|
|
|
128
|
-
self.summary = 'The repl listens to commands on standard input
|
|
128
|
+
self.summary = 'The repl listens to commands on standard input'
|
|
129
129
|
self.description = <<-DESC
|
|
130
130
|
The repl listens to commands on standard input and prints their
|
|
131
131
|
result to standard output.
|
|
@@ -81,9 +81,9 @@ module Pod
|
|
|
81
81
|
|
|
82
82
|
The Xcode project file should be specified in your `Podfile` like this:
|
|
83
83
|
|
|
84
|
-
|
|
84
|
+
project 'path/to/XcodeProject'
|
|
85
85
|
|
|
86
|
-
If no
|
|
86
|
+
If no project is specified, then a search for an Xcode project will
|
|
87
87
|
be made. If more than one Xcode project is found, the command will
|
|
88
88
|
raise an error.
|
|
89
89
|
|
|
@@ -2,7 +2,7 @@ module Pod
|
|
|
2
2
|
class Command
|
|
3
3
|
class Repo < Command
|
|
4
4
|
class Lint < Repo
|
|
5
|
-
self.summary = 'Validates all specs in a repo
|
|
5
|
+
self.summary = 'Validates all specs in a repo'
|
|
6
6
|
|
|
7
7
|
self.description = <<-DESC
|
|
8
8
|
Lints the spec-repo `NAME`. If a directory is provided it is assumed
|
|
@@ -2,7 +2,7 @@ module Pod
|
|
|
2
2
|
class Command
|
|
3
3
|
class Spec < Command
|
|
4
4
|
class Lint < Spec
|
|
5
|
-
self.summary = 'Validates a spec file
|
|
5
|
+
self.summary = 'Validates a spec file'
|
|
6
6
|
|
|
7
7
|
self.description = <<-DESC
|
|
8
8
|
Validates `NAME.podspec`. If a `DIRECTORY` is provided, it validates
|
|
@@ -91,7 +91,7 @@ module Pod
|
|
|
91
91
|
@podspecs_paths << '.' if @podspecs_paths.empty?
|
|
92
92
|
@podspecs_paths.each do |path|
|
|
93
93
|
if path =~ %r{https?://}
|
|
94
|
-
require 'open-uri'
|
|
94
|
+
require 'cocoapods/open-uri'
|
|
95
95
|
output_path = podspecs_tmp_dir + File.basename(path)
|
|
96
96
|
output_path.dirname.mkpath
|
|
97
97
|
open(path) do |io|
|
|
@@ -2,7 +2,7 @@ module Pod
|
|
|
2
2
|
class Command
|
|
3
3
|
class Spec < Command
|
|
4
4
|
class Which < Spec
|
|
5
|
-
self.summary = 'Prints the path of the given spec
|
|
5
|
+
self.summary = 'Prints the path of the given spec'
|
|
6
6
|
|
|
7
7
|
self.description = <<-DESC
|
|
8
8
|
Prints the path of the .podspec file(s) whose name matches `QUERY`
|
|
@@ -14,7 +14,7 @@ module Pod
|
|
|
14
14
|
if podspec_path.exist?
|
|
15
15
|
store_podspec(sandbox, podspec_path, is_json)
|
|
16
16
|
else
|
|
17
|
-
require 'open-uri'
|
|
17
|
+
require 'cocoapods/open-uri'
|
|
18
18
|
begin
|
|
19
19
|
open(podspec_uri) { |io| store_podspec(sandbox, io.read, is_json) }
|
|
20
20
|
rescue OpenURI::HTTPError => e
|
|
@@ -102,7 +102,7 @@ module Pod
|
|
|
102
102
|
end
|
|
103
103
|
end
|
|
104
104
|
build_settings = {
|
|
105
|
-
'PODS_FRAMEWORK_BUILD_PATH' => target.scoped_configuration_build_dir,
|
|
105
|
+
'PODS_FRAMEWORK_BUILD_PATH' => XCConfigHelper.quote([target.scoped_configuration_build_dir]),
|
|
106
106
|
# Make framework headers discoverable by `import "…"`
|
|
107
107
|
'OTHER_CFLAGS' => '$(inherited) ' + XCConfigHelper.quote(framework_header_search_paths, '-iquote'),
|
|
108
108
|
}
|
|
@@ -113,7 +113,7 @@ module Pod
|
|
|
113
113
|
build_settings['OTHER_CFLAGS'] += ' ' + XCConfigHelper.quote(library_header_search_paths, '-isystem')
|
|
114
114
|
end
|
|
115
115
|
if pod_targets.any? { |t| t.should_build? && t.scoped? }
|
|
116
|
-
build_settings['FRAMEWORK_SEARCH_PATHS'] = '
|
|
116
|
+
build_settings['FRAMEWORK_SEARCH_PATHS'] = '$PODS_FRAMEWORK_BUILD_PATH'
|
|
117
117
|
end
|
|
118
118
|
build_settings
|
|
119
119
|
else
|
|
@@ -58,11 +58,9 @@ module Pod
|
|
|
58
58
|
@xcconfig = Xcodeproj::Config.new(config)
|
|
59
59
|
|
|
60
60
|
if target.requires_frameworks? && target.scoped?
|
|
61
|
-
# Only quote the FRAMEWORK_SEARCH_PATHS entry, because it’s a setting that takes multiple values.
|
|
62
|
-
# In addition, quoting CONFIGURATION_BUILD_DIR would make it be interpreted as a relative path.
|
|
63
61
|
build_settings = {
|
|
64
|
-
'PODS_FRAMEWORK_BUILD_PATH' => target.configuration_build_dir,
|
|
65
|
-
'FRAMEWORK_SEARCH_PATHS' => '
|
|
62
|
+
'PODS_FRAMEWORK_BUILD_PATH' => XCConfigHelper.quote([target.configuration_build_dir]),
|
|
63
|
+
'FRAMEWORK_SEARCH_PATHS' => '$PODS_FRAMEWORK_BUILD_PATH',
|
|
66
64
|
'CONFIGURATION_BUILD_DIR' => '$PODS_FRAMEWORK_BUILD_PATH',
|
|
67
65
|
}
|
|
68
66
|
@xcconfig.merge!(build_settings)
|
|
@@ -55,6 +55,11 @@ module Pod
|
|
|
55
55
|
XCConfigHelper.add_static_dependency_build_settings(target, xcconfig, file_accessor)
|
|
56
56
|
end
|
|
57
57
|
XCConfigHelper.add_dynamic_dependency_build_settings(target, xcconfig)
|
|
58
|
+
if target.requires_frameworks?
|
|
59
|
+
target.dependent_targets.each do |dependent_target|
|
|
60
|
+
XCConfigHelper.add_dynamic_dependency_build_settings(dependent_target, xcconfig)
|
|
61
|
+
end
|
|
62
|
+
end
|
|
58
63
|
end
|
|
59
64
|
|
|
60
65
|
# Adds build settings for static vendored frameworks and libraries.
|
|
@@ -86,12 +91,6 @@ module Pod
|
|
|
86
91
|
# The xcconfig to edit.
|
|
87
92
|
#
|
|
88
93
|
def self.add_dynamic_dependency_build_settings(target, xcconfig)
|
|
89
|
-
if target.requires_frameworks?
|
|
90
|
-
target.dependent_targets.each do |dependent_target|
|
|
91
|
-
XCConfigHelper.add_dynamic_dependency_build_settings(dependent_target, xcconfig)
|
|
92
|
-
end
|
|
93
|
-
end
|
|
94
|
-
|
|
95
94
|
target.file_accessors.each do |file_accessor|
|
|
96
95
|
file_accessor.vendored_dynamic_frameworks.each do |vendored_dynamic_framework|
|
|
97
96
|
XCConfigHelper.add_framework_build_settings(vendored_dynamic_framework, xcconfig, target.sandbox.root)
|
data/lib/cocoapods/installer.rb
CHANGED
|
@@ -711,10 +711,10 @@ module Pod
|
|
|
711
711
|
pods_project.pods.remove_from_project if pods_project.pods.empty?
|
|
712
712
|
pods_project.development_pods.remove_from_project if pods_project.development_pods.empty?
|
|
713
713
|
pods_project.sort(:groups_position => :below)
|
|
714
|
-
pods_project.recreate_user_schemes(false)
|
|
715
714
|
if installation_options.deterministic_uuids?
|
|
716
715
|
UI.message('- Generating deterministic UUIDs') { pods_project.predictabilize_uuids }
|
|
717
716
|
end
|
|
717
|
+
pods_project.recreate_user_schemes(false)
|
|
718
718
|
pods_project.save
|
|
719
719
|
end
|
|
720
720
|
end
|
|
@@ -202,7 +202,7 @@ module Pod
|
|
|
202
202
|
pods_state
|
|
203
203
|
else
|
|
204
204
|
state = SpecsState.new
|
|
205
|
-
state.added.
|
|
205
|
+
state.added.merge(podfile.dependencies.map(&:root_name))
|
|
206
206
|
state
|
|
207
207
|
end
|
|
208
208
|
end
|
|
@@ -286,9 +286,8 @@ module Pod
|
|
|
286
286
|
# @return [Array<PodTarget>]
|
|
287
287
|
#
|
|
288
288
|
def generate_pod_targets(specs_by_target)
|
|
289
|
+
dedupe_cache = {}
|
|
289
290
|
if installation_options.deduplicate_targets?
|
|
290
|
-
dedupe_cache = {}
|
|
291
|
-
|
|
292
291
|
all_specs = specs_by_target.flat_map do |target_definition, dependent_specs|
|
|
293
292
|
dependent_specs.group_by(&:root).map do |root_spec, specs|
|
|
294
293
|
[root_spec, specs, target_definition]
|
|
@@ -478,8 +477,8 @@ module Pod
|
|
|
478
477
|
if update_mode == :all
|
|
479
478
|
deps_to_fetch = deps_with_external_source
|
|
480
479
|
else
|
|
481
|
-
deps_to_fetch = deps_with_external_source.select { |dep| pods_to_fetch.include?(dep.
|
|
482
|
-
deps_to_fetch_if_needed = deps_with_external_source.select { |dep| result.podfile_state.unchanged.include?(dep.
|
|
480
|
+
deps_to_fetch = deps_with_external_source.select { |dep| pods_to_fetch.include?(dep.root_name) }
|
|
481
|
+
deps_to_fetch_if_needed = deps_with_external_source.select { |dep| result.podfile_state.unchanged.include?(dep.root_name) }
|
|
483
482
|
deps_to_fetch += deps_to_fetch_if_needed.select do |dep|
|
|
484
483
|
sandbox.specification(dep.root_name).nil? ||
|
|
485
484
|
!dep.external_source[:path].nil? ||
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
require 'set'
|
|
2
|
+
|
|
1
3
|
module Pod
|
|
2
4
|
class Installer
|
|
3
5
|
class Analyzer
|
|
@@ -17,32 +19,38 @@ module Pod
|
|
|
17
19
|
# (`:added`, `:removed`, `:changed` or `:unchanged`).
|
|
18
20
|
#
|
|
19
21
|
def initialize(pods_by_state = nil)
|
|
20
|
-
@added =
|
|
21
|
-
@deleted =
|
|
22
|
-
@changed =
|
|
23
|
-
@unchanged =
|
|
22
|
+
@added = Set.new
|
|
23
|
+
@deleted = Set.new
|
|
24
|
+
@changed = Set.new
|
|
25
|
+
@unchanged = Set.new
|
|
24
26
|
|
|
25
27
|
if pods_by_state
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
{
|
|
29
|
+
:added => :added,
|
|
30
|
+
:changed => :changed,
|
|
31
|
+
:removed => :deleted,
|
|
32
|
+
:unchanged => :unchanged,
|
|
33
|
+
}.each do |state, spec_state|
|
|
34
|
+
Array(pods_by_state[state]).each do |name|
|
|
35
|
+
add_name(name, spec_state)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
30
38
|
end
|
|
31
39
|
end
|
|
32
40
|
|
|
33
|
-
# @return [
|
|
41
|
+
# @return [Set<String>] the names of the pods that were added.
|
|
34
42
|
#
|
|
35
43
|
attr_accessor :added
|
|
36
44
|
|
|
37
|
-
# @return [
|
|
45
|
+
# @return [Set<String>] the names of the pods that were changed.
|
|
38
46
|
#
|
|
39
47
|
attr_accessor :changed
|
|
40
48
|
|
|
41
|
-
# @return [
|
|
49
|
+
# @return [Set<String>] the names of the pods that were deleted.
|
|
42
50
|
#
|
|
43
51
|
attr_accessor :deleted
|
|
44
52
|
|
|
45
|
-
# @return [
|
|
53
|
+
# @return [Set<String>] the names of the pods that were unchanged.
|
|
46
54
|
#
|
|
47
55
|
attr_accessor :unchanged
|
|
48
56
|
|
|
@@ -68,7 +76,7 @@ module Pod
|
|
|
68
76
|
# @return [void]
|
|
69
77
|
#
|
|
70
78
|
def add_name(name, state)
|
|
71
|
-
send(state) << name
|
|
79
|
+
send(state) << Specification.root_name(name)
|
|
72
80
|
end
|
|
73
81
|
end
|
|
74
82
|
end
|
|
@@ -199,29 +199,32 @@ module Pod
|
|
|
199
199
|
lproj_paths = Set.new
|
|
200
200
|
lproj_paths_with_files = Set.new
|
|
201
201
|
allowable_paths = paths.select do |path|
|
|
202
|
-
path_str = path.to_s
|
|
202
|
+
path_str = path.to_s
|
|
203
203
|
|
|
204
204
|
# We add the directory for a Core Data model, but not the items in it.
|
|
205
|
-
next if path_str =~ /.*\.xcdatamodeld\/.+/
|
|
205
|
+
next if path_str =~ /.*\.xcdatamodeld\/.+/i
|
|
206
|
+
|
|
207
|
+
# We add the directory for a Core Data migration mapping, but not the items in it.
|
|
208
|
+
next if path_str =~ /.*\.xcmappingmodel\/.+/i
|
|
206
209
|
|
|
207
210
|
# We add the directory for an asset catalog, but not the items in it.
|
|
208
|
-
next if path_str =~ /.*\.xcassets\/.+/
|
|
211
|
+
next if path_str =~ /.*\.xcassets\/.+/i
|
|
209
212
|
|
|
210
|
-
if path_str =~ /\.lproj(\/|$)/
|
|
213
|
+
if path_str =~ /\.lproj(\/|$)/i
|
|
211
214
|
# If the element is an .lproj directory then save it and potentially
|
|
212
215
|
# add it later if we don't find any contained items.
|
|
213
|
-
if path_str
|
|
214
|
-
lproj_paths <<
|
|
216
|
+
if path_str =~ /\.lproj$/i && path.directory?
|
|
217
|
+
lproj_paths << path
|
|
215
218
|
next
|
|
216
219
|
end
|
|
217
220
|
|
|
218
221
|
# Collect the paths for the .lproj directories that contain files.
|
|
219
|
-
lproj_path = /(^.*\.lproj)
|
|
220
|
-
lproj_paths_with_files << lproj_path
|
|
222
|
+
lproj_path = /(^.*\.lproj)\/.*/i.match(path_str)[1]
|
|
223
|
+
lproj_paths_with_files << Pathname(lproj_path)
|
|
221
224
|
|
|
222
225
|
# Directories nested within an .lproj directory are added as file
|
|
223
226
|
# system references so their contained items are not added directly.
|
|
224
|
-
next if path.dirname.dirname
|
|
227
|
+
next if path.dirname.dirname == lproj_path
|
|
225
228
|
end
|
|
226
229
|
|
|
227
230
|
true
|
|
@@ -180,6 +180,17 @@ module Pod
|
|
|
180
180
|
if target.requires_frameworks? && target.scoped?
|
|
181
181
|
c.build_settings['CONFIGURATION_BUILD_DIR'] = target.configuration_build_dir
|
|
182
182
|
end
|
|
183
|
+
|
|
184
|
+
# Set the correct device family for this bundle, based on the platform
|
|
185
|
+
device_family_by_platform = {
|
|
186
|
+
:ios => '1,2',
|
|
187
|
+
:tvos => '3',
|
|
188
|
+
:watchos => '1,2' # The device family for watchOS is 4, but Xcode creates watchkit-compatible bundles as 1,2
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
if family = device_family_by_platform[target.platform.name]
|
|
192
|
+
c.build_settings['TARGETED_DEVICE_FAMILY'] = family
|
|
193
|
+
end
|
|
183
194
|
end
|
|
184
195
|
end
|
|
185
196
|
end
|
|
@@ -338,7 +349,7 @@ module Pod
|
|
|
338
349
|
'Project'
|
|
339
350
|
end
|
|
340
351
|
|
|
341
|
-
if target.requires_frameworks? && header_mappings_dir
|
|
352
|
+
if target.requires_frameworks? && header_mappings_dir && acl != 'Project'
|
|
342
353
|
relative_path = file_ref.real_path.relative_path_from(header_mappings_dir)
|
|
343
354
|
sub_dir = relative_path.dirname
|
|
344
355
|
copy_phase_name = "Copy #{sub_dir} #{acl} Headers"
|
data/lib/cocoapods/installer/user_project_integrator/target_integrator/xcconfig_integrator.rb
CHANGED
|
@@ -146,7 +146,7 @@ module Pod
|
|
|
146
146
|
SILENCE_WARNINGS_STRING = '// @COCOAPODS_SILENCE_WARNINGS@ //'
|
|
147
147
|
def self.xcconfig_includes_target_xcconfig?(base_config_ref, target_config_path)
|
|
148
148
|
return unless base_config_ref && base_config_ref.real_path.file?
|
|
149
|
-
regex =
|
|
149
|
+
regex = %r{
|
|
150
150
|
^(
|
|
151
151
|
(\s* # Possible, but unlikely, space before include statement
|
|
152
152
|
\#include\s+ # Include statement
|
|
@@ -158,7 +158,7 @@ module Pod
|
|
|
158
158
|
|
|
|
159
159
|
(#{Regexp.quote(SILENCE_WARNINGS_STRING)}) # Token to treat xcconfig as good and silence pod install warnings
|
|
160
160
|
)
|
|
161
|
-
|
|
161
|
+
}x
|
|
162
162
|
base_config_ref.real_path.readlines.find { |line| line =~ regex }
|
|
163
163
|
end
|
|
164
164
|
|
|
@@ -366,23 +366,22 @@ module Pod
|
|
|
366
366
|
'Update CocoaPods, or checkout the appropriate tag in the repo.'
|
|
367
367
|
end
|
|
368
368
|
|
|
369
|
-
needs_sudo = path_writable?(__FILE__)
|
|
370
|
-
|
|
371
369
|
if config.new_version_message? && cocoapods_update?(versions)
|
|
372
370
|
last = versions['last']
|
|
373
371
|
rc = Gem::Version.new(last).prerelease?
|
|
374
|
-
install_message = needs_sudo ? 'sudo ' : ''
|
|
372
|
+
install_message = needs_sudo? ? 'sudo ' : ''
|
|
375
373
|
install_message << 'gem install cocoapods'
|
|
376
374
|
install_message << ' --pre' if rc
|
|
377
375
|
message = [
|
|
378
|
-
"CocoaPods #{
|
|
376
|
+
"CocoaPods #{last} is available.".green,
|
|
379
377
|
"To update use: `#{install_message}`".green,
|
|
380
378
|
("[!] This is a test version we'd love you to try.".yellow if rc),
|
|
381
379
|
("Until we reach version 1.0 the features of CocoaPods can and will change.\n" \
|
|
382
380
|
'We strongly recommend that you use the latest version at all times.'.yellow unless rc),
|
|
383
381
|
'',
|
|
384
|
-
'For more information see https://blog.cocoapods.org'
|
|
385
|
-
'and the CHANGELOG for this version
|
|
382
|
+
'For more information, see https://blog.cocoapods.org ' \
|
|
383
|
+
'and the CHANGELOG for this version at ' \
|
|
384
|
+
"https://github.com/CocoaPods/CocoaPods/releases/tag/#{last}".green,
|
|
386
385
|
'',
|
|
387
386
|
].compact.join("\n")
|
|
388
387
|
UI.puts("\n#{message}\n")
|
|
@@ -487,6 +486,12 @@ module Pod
|
|
|
487
486
|
Pathname(path).dirname.writable?
|
|
488
487
|
end
|
|
489
488
|
|
|
489
|
+
# @return [Bool] Whether `gem install` probably needs `sudo` to succeed.
|
|
490
|
+
#
|
|
491
|
+
def needs_sudo?
|
|
492
|
+
!path_writable?(__FILE__)
|
|
493
|
+
end
|
|
494
|
+
|
|
490
495
|
# @return [Source] The git source with the given name. If no git source
|
|
491
496
|
# with given name is found it raises.
|
|
492
497
|
#
|
data/lib/cocoapods/validator.rb
CHANGED
|
@@ -399,12 +399,12 @@ module Pod
|
|
|
399
399
|
if language == :swift
|
|
400
400
|
source_file = validation_dir.+('App/main.swift')
|
|
401
401
|
source_file.parent.mkpath
|
|
402
|
-
import_statement = use_frameworks ? "import #{pod_target.product_module_name}\n" : ''
|
|
402
|
+
import_statement = use_frameworks && pod_target.should_build? ? "import #{pod_target.product_module_name}\n" : ''
|
|
403
403
|
source_file.open('w') { |f| f << import_statement }
|
|
404
404
|
else
|
|
405
405
|
source_file = validation_dir.+('App/main.m')
|
|
406
406
|
source_file.parent.mkpath
|
|
407
|
-
import_statement = if use_frameworks
|
|
407
|
+
import_statement = if use_frameworks && pod_target.should_build?
|
|
408
408
|
"@import #{pod_target.product_module_name};\n"
|
|
409
409
|
else
|
|
410
410
|
header_name = "#{pod_target.product_module_name}/#{pod_target.product_module_name}.h"
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cocoapods
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.0.beta.
|
|
4
|
+
version: 1.0.0.beta.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Eloy Duran
|
|
@@ -11,7 +11,7 @@ authors:
|
|
|
11
11
|
autorequire:
|
|
12
12
|
bindir: bin
|
|
13
13
|
cert_chain: []
|
|
14
|
-
date: 2016-
|
|
14
|
+
date: 2016-02-02 00:00:00.000000000 Z
|
|
15
15
|
dependencies:
|
|
16
16
|
- !ruby/object:Gem::Dependency
|
|
17
17
|
name: cocoapods-core
|
|
@@ -19,14 +19,14 @@ dependencies:
|
|
|
19
19
|
requirements:
|
|
20
20
|
- - '='
|
|
21
21
|
- !ruby/object:Gem::Version
|
|
22
|
-
version: 1.0.0.beta.
|
|
22
|
+
version: 1.0.0.beta.3
|
|
23
23
|
type: :runtime
|
|
24
24
|
prerelease: false
|
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
26
26
|
requirements:
|
|
27
27
|
- - '='
|
|
28
28
|
- !ruby/object:Gem::Version
|
|
29
|
-
version: 1.0.0.beta.
|
|
29
|
+
version: 1.0.0.beta.3
|
|
30
30
|
- !ruby/object:Gem::Dependency
|
|
31
31
|
name: claide
|
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -133,7 +133,7 @@ dependencies:
|
|
|
133
133
|
requirements:
|
|
134
134
|
- - '>='
|
|
135
135
|
- !ruby/object:Gem::Version
|
|
136
|
-
version: 1.0.0.beta.
|
|
136
|
+
version: 1.0.0.beta.3
|
|
137
137
|
- - <
|
|
138
138
|
- !ruby/object:Gem::Version
|
|
139
139
|
version: '2.0'
|
|
@@ -143,7 +143,7 @@ dependencies:
|
|
|
143
143
|
requirements:
|
|
144
144
|
- - '>='
|
|
145
145
|
- !ruby/object:Gem::Version
|
|
146
|
-
version: 1.0.0.beta.
|
|
146
|
+
version: 1.0.0.beta.3
|
|
147
147
|
- - <
|
|
148
148
|
- !ruby/object:Gem::Version
|
|
149
149
|
version: '2.0'
|
|
@@ -153,7 +153,7 @@ dependencies:
|
|
|
153
153
|
requirements:
|
|
154
154
|
- - '>='
|
|
155
155
|
- !ruby/object:Gem::Version
|
|
156
|
-
version: 1.0.0.beta.
|
|
156
|
+
version: 1.0.0.beta.2
|
|
157
157
|
- - <
|
|
158
158
|
- !ruby/object:Gem::Version
|
|
159
159
|
version: '2.0'
|
|
@@ -163,7 +163,7 @@ dependencies:
|
|
|
163
163
|
requirements:
|
|
164
164
|
- - '>='
|
|
165
165
|
- !ruby/object:Gem::Version
|
|
166
|
-
version: 1.0.0.beta.
|
|
166
|
+
version: 1.0.0.beta.2
|
|
167
167
|
- - <
|
|
168
168
|
- !ruby/object:Gem::Version
|
|
169
169
|
version: '2.0'
|
|
@@ -193,14 +193,14 @@ dependencies:
|
|
|
193
193
|
requirements:
|
|
194
194
|
- - ~>
|
|
195
195
|
- !ruby/object:Gem::Version
|
|
196
|
-
version: 0.4.
|
|
196
|
+
version: 0.4.2
|
|
197
197
|
type: :runtime
|
|
198
198
|
prerelease: false
|
|
199
199
|
version_requirements: !ruby/object:Gem::Requirement
|
|
200
200
|
requirements:
|
|
201
201
|
- - ~>
|
|
202
202
|
- !ruby/object:Gem::Version
|
|
203
|
-
version: 0.4.
|
|
203
|
+
version: 0.4.2
|
|
204
204
|
- !ruby/object:Gem::Dependency
|
|
205
205
|
name: xcodeproj
|
|
206
206
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -434,7 +434,7 @@ files:
|
|
|
434
434
|
- lib/cocoapods/installer/user_project_integrator.rb
|
|
435
435
|
- lib/cocoapods/installer/user_project_integrator/target_integrator.rb
|
|
436
436
|
- lib/cocoapods/installer/user_project_integrator/target_integrator/xcconfig_integrator.rb
|
|
437
|
-
- lib/cocoapods/
|
|
437
|
+
- lib/cocoapods/open-uri.rb
|
|
438
438
|
- lib/cocoapods/project.rb
|
|
439
439
|
- lib/cocoapods/resolver.rb
|
|
440
440
|
- lib/cocoapods/resolver/lazy_specification.rb
|
|
@@ -471,7 +471,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
471
471
|
version: '0'
|
|
472
472
|
requirements: []
|
|
473
473
|
rubyforge_project:
|
|
474
|
-
rubygems_version: 2.5.
|
|
474
|
+
rubygems_version: 2.5.2
|
|
475
475
|
signing_key:
|
|
476
476
|
specification_version: 3
|
|
477
477
|
summary: The Cocoa library package manager.
|