cocoapods 0.37.1 → 0.37.2
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 +29 -0
- data/lib/cocoapods/command/outdated.rb +2 -0
- data/lib/cocoapods/command/repo/lint.rb +2 -0
- data/lib/cocoapods/command/repo/push.rb +9 -3
- data/lib/cocoapods/command/spec/edit.rb +7 -0
- data/lib/cocoapods/config.rb +12 -0
- data/lib/cocoapods/downloader/cache.rb +8 -3
- data/lib/cocoapods/downloader/request.rb +5 -0
- data/lib/cocoapods/executable.rb +9 -1
- data/lib/cocoapods/external_sources.rb +13 -0
- data/lib/cocoapods/external_sources/abstract_external_source.rb +8 -1
- data/lib/cocoapods/gem_version.rb +1 -1
- data/lib/cocoapods/generator/copy_resources_script.rb +7 -3
- data/lib/cocoapods/generator/header.rb +2 -0
- data/lib/cocoapods/generator/info_plist_file.rb +2 -0
- data/lib/cocoapods/generator/module_map.rb +5 -3
- data/lib/cocoapods/generator/prefix_header.rb +2 -0
- data/lib/cocoapods/generator/target_environment_header.rb +1 -4
- data/lib/cocoapods/generator/umbrella_header.rb +2 -0
- data/lib/cocoapods/generator/xcconfig/aggregate_xcconfig.rb +3 -1
- data/lib/cocoapods/generator/xcconfig/private_pod_xcconfig.rb +2 -0
- data/lib/cocoapods/generator/xcconfig/public_pod_xcconfig.rb +2 -0
- data/lib/cocoapods/generator/xcconfig/xcconfig_helper.rb +14 -7
- data/lib/cocoapods/hooks/installer_representation.rb +2 -0
- data/lib/cocoapods/hooks/library_representation.rb +4 -2
- data/lib/cocoapods/hooks/pod_representation.rb +6 -6
- data/lib/cocoapods/hooks_manager.rb +2 -0
- data/lib/cocoapods/installer.rb +43 -2
- data/lib/cocoapods/installer/analyzer.rb +16 -3
- data/lib/cocoapods/installer/analyzer/sandbox_analyzer.rb +3 -1
- data/lib/cocoapods/installer/file_references_installer.rb +3 -1
- data/lib/cocoapods/installer/hooks_context.rb +9 -0
- data/lib/cocoapods/installer/migrator.rb +22 -1
- data/lib/cocoapods/installer/pod_source_installer.rb +16 -8
- data/lib/cocoapods/installer/pod_source_preparer.rb +2 -0
- data/lib/cocoapods/installer/user_project_integrator.rb +4 -2
- data/lib/cocoapods/installer/user_project_integrator/target_integrator.rb +6 -2
- data/lib/cocoapods/open_uri.rb +8 -0
- data/lib/cocoapods/project.rb +3 -1
- data/lib/cocoapods/resolver.rb +10 -10
- data/lib/cocoapods/sandbox.rb +4 -0
- data/lib/cocoapods/sandbox/file_accessor.rb +3 -1
- data/lib/cocoapods/sandbox/headers_store.rb +4 -4
- data/lib/cocoapods/sandbox/path_list.rb +25 -6
- data/lib/cocoapods/sources_manager.rb +3 -1
- data/lib/cocoapods/target.rb +1 -1
- data/lib/cocoapods/target/aggregate_target.rb +8 -2
- data/lib/cocoapods/user_interface.rb +62 -0
- data/lib/cocoapods/validator.rb +6 -2
- metadata +34 -33
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4ed679b638bf5ed300ac3daccdab5a2a743e05fd
|
4
|
+
data.tar.gz: dc94976d0009a55f4ddda7263b22bb6d911b6f41
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0a898eb51485877f897b2356dcfdd77b8cfe730c7545b464a08a5fae673e0643f5fab8ca68d9ffdc9bb5ff22096767379d5c20213237c0d9f1ab34eda4dbbcab
|
7
|
+
data.tar.gz: 76ee168bc5a7100dac38cc99e61418c9f6e6a1b43f35c4302d59e1b3af7cf3bd9549e0fedc15ad81574519aa4a65b60fbedac5a32772ff9ce47855b706220990
|
data/CHANGELOG.md
CHANGED
@@ -4,6 +4,35 @@ 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
|
+
## 0.37.2
|
8
|
+
|
9
|
+
##### Enhancements
|
10
|
+
|
11
|
+
* Schemes of development pods will now be shared.
|
12
|
+
[Boris Bügling](https://github.com/neonichu)
|
13
|
+
[#3600](https://github.com/CocoaPods/CocoaPods/issues/3600)
|
14
|
+
|
15
|
+
* Recognizes incomplete cache when the original download of a pod was
|
16
|
+
interrupted.
|
17
|
+
[Marius Rackwitz](https://github.com/mrackwitz)
|
18
|
+
[#3561](https://github.com/CocoaPods/CocoaPods/issues/3561)
|
19
|
+
|
20
|
+
* Allow opting out of pod source locking, meaning `pod try` yields editable
|
21
|
+
projects.
|
22
|
+
[Samuel Giddins](https://github.com/segiddins)
|
23
|
+
[cocoapods-try#31](https://github.com/CocoaPods/cocoapods-try/issues/31)
|
24
|
+
|
25
|
+
##### Bug Fixes
|
26
|
+
|
27
|
+
* `pod repo push` will now find and push JSON podspecs.
|
28
|
+
[#3494](https://github.com/CocoaPods/CocoaPods/issues/3494)
|
29
|
+
[Kyle Fuller](https://github.com/kylef)
|
30
|
+
|
31
|
+
* Flush stdin/stderr and wait a bit in `executable`.
|
32
|
+
[Boris Bügling](https://github.com/neonichu)
|
33
|
+
[#3500](https://github.com/CocoaPods/CocoaPods/issues/3500)
|
34
|
+
|
35
|
+
|
7
36
|
## 0.37.1
|
8
37
|
|
9
38
|
##### Bug Fixes
|
@@ -190,9 +190,15 @@ module Pod
|
|
190
190
|
# @return [Array<Pathname>] The path of the specifications to push.
|
191
191
|
#
|
192
192
|
def podspec_files
|
193
|
-
|
194
|
-
|
195
|
-
|
193
|
+
if @podspec
|
194
|
+
path = Pathname(@podspec)
|
195
|
+
raise Informative, "Couldn't find #{@podspec}" unless path.exist?
|
196
|
+
[path]
|
197
|
+
else
|
198
|
+
files = Pathname.glob('*.podspec{,.json}')
|
199
|
+
raise Informative, "Couldn't find any podspec files in current directory" if files.empty?
|
200
|
+
files
|
201
|
+
end
|
196
202
|
end
|
197
203
|
|
198
204
|
# @return [Integer] The number of the podspec files to push.
|
@@ -48,7 +48,14 @@ module Pod
|
|
48
48
|
raise Informative, "#{ filepath } doesn't exist."
|
49
49
|
end
|
50
50
|
|
51
|
+
# Looks up an executable in the search paths
|
52
|
+
#
|
53
|
+
# @note
|
51
54
|
# Thank you homebrew
|
55
|
+
#
|
56
|
+
# @param [String] cmd
|
57
|
+
# the executable to look up
|
58
|
+
#
|
52
59
|
def which(cmd)
|
53
60
|
dir = ENV['PATH'].split(':').find { |p| File.executable? File.join(p, cmd) }
|
54
61
|
Pathname.new(File.join(dir, cmd)) unless dir.nil?
|
data/lib/cocoapods/config.rb
CHANGED
@@ -19,6 +19,7 @@ module Pod
|
|
19
19
|
|
20
20
|
:clean => true,
|
21
21
|
:integrate_targets => true,
|
22
|
+
:lock_pod_source => true,
|
22
23
|
:new_version_message => ENV['COCOAPODS_SKIP_UPDATE_MESSAGE'].nil?,
|
23
24
|
|
24
25
|
:cache_root => Pathname.new(Dir.home) + 'Library/Caches/CocoaPods',
|
@@ -27,6 +28,11 @@ module Pod
|
|
27
28
|
# Applies the given changes to the config for the duration of the given
|
28
29
|
# block.
|
29
30
|
#
|
31
|
+
# @param [Hash<#to_sym,Object>] changes
|
32
|
+
# the changes to merge temporarily with the current config
|
33
|
+
#
|
34
|
+
# @yield [] is called while the changes are applied
|
35
|
+
#
|
30
36
|
def with_changes(changes)
|
31
37
|
old = {}
|
32
38
|
changes.keys.each do |key|
|
@@ -71,6 +77,12 @@ module Pod
|
|
71
77
|
attr_accessor :clean
|
72
78
|
alias_method :clean?, :clean
|
73
79
|
|
80
|
+
# @return [Bool] Whether the installer should remove write permissions for
|
81
|
+
# installed pod source files after the installation.
|
82
|
+
#
|
83
|
+
attr_accessor :lock_pod_source
|
84
|
+
alias_method :lock_pod_source?, :lock_pod_source
|
85
|
+
|
74
86
|
# @return [Bool] Whether CocoaPods should integrate a user target and build
|
75
87
|
# the workspace or just create the Pods project.
|
76
88
|
#
|
@@ -12,6 +12,8 @@ module Pod
|
|
12
12
|
#
|
13
13
|
attr_reader :root
|
14
14
|
|
15
|
+
# Initialize a new instance
|
16
|
+
#
|
15
17
|
# @param [Pathname,String] root
|
16
18
|
# see {#root}
|
17
19
|
#
|
@@ -74,9 +76,10 @@ module Pod
|
|
74
76
|
# was found in the download cache.
|
75
77
|
#
|
76
78
|
def cached_pod(request)
|
79
|
+
cached_spec = cached_spec(request)
|
77
80
|
path = path_for_pod(request)
|
78
|
-
|
79
|
-
|
81
|
+
return unless cached_spec && path.directory?
|
82
|
+
spec = request.spec || cached_spec
|
80
83
|
Response.new(path, spec, request.params)
|
81
84
|
end
|
82
85
|
|
@@ -89,6 +92,8 @@ module Pod
|
|
89
92
|
def cached_spec(request)
|
90
93
|
path = path_for_spec(request)
|
91
94
|
path.file? && Specification.from_file(path)
|
95
|
+
rescue JSON::ParserError
|
96
|
+
nil
|
92
97
|
end
|
93
98
|
|
94
99
|
# @param [Request] request
|
@@ -127,7 +132,7 @@ module Pod
|
|
127
132
|
tmpdir = Pathname(Dir.mktmpdir)
|
128
133
|
blk.call(tmpdir)
|
129
134
|
ensure
|
130
|
-
FileUtils.remove_entry(tmpdir) if tmpdir.exist?
|
135
|
+
FileUtils.remove_entry(tmpdir) if tmpdir && tmpdir.exist?
|
131
136
|
end
|
132
137
|
|
133
138
|
# Copies the `source` directory to `destination`, cleaning the directory
|
@@ -28,6 +28,8 @@ module Pod
|
|
28
28
|
attr_reader :head
|
29
29
|
alias_method :head?, :head
|
30
30
|
|
31
|
+
# Initialize a new instance
|
32
|
+
#
|
31
33
|
# @param [Specification,Nil] spec
|
32
34
|
# see {#spec}
|
33
35
|
#
|
@@ -59,6 +61,9 @@ module Pod
|
|
59
61
|
# @param [Hash<#to_s, #to_s>] params
|
60
62
|
# the download parameters of the pod being downloaded.
|
61
63
|
#
|
64
|
+
# @param [Specification] spec
|
65
|
+
# the specification of the pod being downloaded.
|
66
|
+
#
|
62
67
|
# @return [String] The slug used to store the files resulting from this
|
63
68
|
# download request.
|
64
69
|
#
|
data/lib/cocoapods/executable.rb
CHANGED
@@ -83,7 +83,13 @@ module Pod
|
|
83
83
|
Thread.new { while s = o.gets; stdout << s; end }
|
84
84
|
Thread.new { while s = e.gets; stderr << s; end }
|
85
85
|
i.close
|
86
|
-
t.value
|
86
|
+
status = t.value
|
87
|
+
|
88
|
+
o.flush
|
89
|
+
e.flush
|
90
|
+
sleep(0.1)
|
91
|
+
|
92
|
+
status
|
87
93
|
end
|
88
94
|
end
|
89
95
|
|
@@ -101,6 +107,8 @@ module Pod
|
|
101
107
|
#
|
102
108
|
attr_accessor :io
|
103
109
|
|
110
|
+
# Init a new Indenter
|
111
|
+
#
|
104
112
|
# @param [IO] io @see io
|
105
113
|
#
|
106
114
|
def initialize(io = nil)
|
@@ -8,6 +8,14 @@ module Pod
|
|
8
8
|
# source.
|
9
9
|
#
|
10
10
|
module ExternalSources
|
11
|
+
# Instantiate a matching {AbstractExternalSource} for a given dependency.
|
12
|
+
#
|
13
|
+
# @param [Dependency] dependency
|
14
|
+
# the dependency
|
15
|
+
#
|
16
|
+
# @param [String] podfile_path
|
17
|
+
# @see AbstractExternalSource#podfile_path
|
18
|
+
#
|
11
19
|
# @return [AbstractExternalSource] an initialized instance of the concrete
|
12
20
|
# external source class associated with the option specified in the
|
13
21
|
# hash.
|
@@ -26,6 +34,11 @@ module Pod
|
|
26
34
|
end
|
27
35
|
end
|
28
36
|
|
37
|
+
# Get the class to represent the defined source type of a dependency
|
38
|
+
#
|
39
|
+
# @param [Array<Symbol>] params
|
40
|
+
# the source params of the dependency
|
41
|
+
#
|
29
42
|
# @return [Class]
|
30
43
|
#
|
31
44
|
def self.concrete_class_from_params(params)
|
@@ -17,6 +17,8 @@ module Pod
|
|
17
17
|
#
|
18
18
|
attr_reader :podfile_path
|
19
19
|
|
20
|
+
# Initialize a new instance
|
21
|
+
#
|
20
22
|
# @param [String] name @see name
|
21
23
|
# @param [Hash] params @see params
|
22
24
|
# @param [String] podfile_path @see podfile_path
|
@@ -41,7 +43,7 @@ module Pod
|
|
41
43
|
|
42
44
|
# Fetches the external source from the remote according to the params.
|
43
45
|
#
|
44
|
-
# @param [Sandbox]
|
46
|
+
# @param [Sandbox] _sandbox
|
45
47
|
# the sandbox where the specification should be stored.
|
46
48
|
#
|
47
49
|
# @return [void]
|
@@ -58,6 +60,11 @@ module Pod
|
|
58
60
|
|
59
61
|
protected
|
60
62
|
|
63
|
+
# Return the normalized path for a podspec for a relative declared path.
|
64
|
+
#
|
65
|
+
# @param [String] declared_path
|
66
|
+
# The path declared in the podfile.
|
67
|
+
#
|
61
68
|
# @return [String] The uri of the podspec appending the name of the file
|
62
69
|
# and expanding it if necessary.
|
63
70
|
#
|
@@ -13,9 +13,13 @@ module Pod
|
|
13
13
|
#
|
14
14
|
attr_reader :platform
|
15
15
|
|
16
|
-
#
|
17
|
-
#
|
18
|
-
# @param [
|
16
|
+
# Initialize a new instance
|
17
|
+
#
|
18
|
+
# @param [Hash<String, Array<String>>] resources_by_config
|
19
|
+
# @see resources_by_config
|
20
|
+
#
|
21
|
+
# @param [Platform] platform
|
22
|
+
# @see platform
|
19
23
|
#
|
20
24
|
def initialize(resources_by_config, platform)
|
21
25
|
@resources_by_config = resources_by_config
|
@@ -6,15 +6,17 @@ module Pod
|
|
6
6
|
# with existing headers of the podspec.
|
7
7
|
#
|
8
8
|
class ModuleMap
|
9
|
-
# @return [
|
9
|
+
# @return [PodTarget] the target represented by this Info.plist.
|
10
10
|
#
|
11
11
|
attr_reader :target
|
12
12
|
|
13
|
-
# @return [Array] the private headers of the module
|
13
|
+
# @return [Array<#to_s>] the private headers of the module
|
14
14
|
#
|
15
15
|
attr_accessor :private_headers
|
16
16
|
|
17
|
-
#
|
17
|
+
# Initialize a new instance
|
18
|
+
#
|
19
|
+
# @param [PodTarget] target @see target
|
18
20
|
#
|
19
21
|
def initialize(target)
|
20
22
|
@target = target
|
@@ -34,10 +34,7 @@ module Pod
|
|
34
34
|
@specs_by_configuration = specs_by_configuration
|
35
35
|
end
|
36
36
|
|
37
|
-
# Generates
|
38
|
-
#
|
39
|
-
# @param [Pathname] pathname
|
40
|
-
# The path where to save the generated file.
|
37
|
+
# Generates the file contents.
|
41
38
|
#
|
42
39
|
# @return [void]
|
43
40
|
#
|
@@ -8,6 +8,8 @@ module Pod
|
|
8
8
|
#
|
9
9
|
attr_reader :target
|
10
10
|
|
11
|
+
# Initialize a new instance
|
12
|
+
#
|
11
13
|
# @param [Target] target @see target
|
12
14
|
#
|
13
15
|
# @param [String] configuration_name
|
@@ -26,7 +28,7 @@ module Pod
|
|
26
28
|
# Generates and saves the xcconfig to the given path.
|
27
29
|
#
|
28
30
|
# @param [Pathname] path
|
29
|
-
# the path where the
|
31
|
+
# the path where the xcconfig should be stored.
|
30
32
|
#
|
31
33
|
# @return [void]
|
32
34
|
#
|
@@ -11,7 +11,8 @@ module Pod
|
|
11
11
|
# @param [Array<String>] strings
|
12
12
|
# a list of strings.
|
13
13
|
#
|
14
|
-
# @param [String]
|
14
|
+
# @param [String] prefix
|
15
|
+
# optional prefix, such as a flag or option.
|
15
16
|
#
|
16
17
|
# @return [String] the resulting string.
|
17
18
|
#
|
@@ -20,6 +21,12 @@ module Pod
|
|
20
21
|
strings.sort.map { |s| %W( #{prefix}"#{s}" ) }.join(' ')
|
21
22
|
end
|
22
23
|
|
24
|
+
# Return the default linker flags
|
25
|
+
#
|
26
|
+
# @param [Target] target
|
27
|
+
# the target, which is used to check if the ARC compatibility
|
28
|
+
# flag is required.
|
29
|
+
#
|
23
30
|
# @return [String] the default linker flags. `-ObjC` is always included
|
24
31
|
# while `-fobjc-arc` is included only if requested in the
|
25
32
|
# Podfile.
|
@@ -35,7 +42,7 @@ module Pod
|
|
35
42
|
|
36
43
|
# Configures the given Xcconfig
|
37
44
|
#
|
38
|
-
# @param [PodTarget]
|
45
|
+
# @param [PodTarget] target
|
39
46
|
# The pod target, which holds the list of +Spec::FileAccessor+.
|
40
47
|
#
|
41
48
|
# @param [Xcodeproj::Config] xcconfig
|
@@ -70,10 +77,10 @@ module Pod
|
|
70
77
|
add_developers_frameworks_if_needed(xcconfig, consumer.platform_name)
|
71
78
|
end
|
72
79
|
|
73
|
-
# Configures the given Xcconfig with the
|
80
|
+
# Configures the given Xcconfig with the build settings for the given
|
74
81
|
# framework path.
|
75
82
|
#
|
76
|
-
# @param [
|
83
|
+
# @param [Pathname] framework_path
|
77
84
|
# The path of the framework.
|
78
85
|
#
|
79
86
|
# @param [Xcodeproj::Config] xcconfig
|
@@ -92,11 +99,11 @@ module Pod
|
|
92
99
|
xcconfig.merge!(build_settings)
|
93
100
|
end
|
94
101
|
|
95
|
-
# Configures the given Xcconfig with the
|
102
|
+
# Configures the given Xcconfig with the build settings for the given
|
96
103
|
# library path.
|
97
104
|
#
|
98
|
-
# @param [
|
99
|
-
# The path of the
|
105
|
+
# @param [Pathname] library_path
|
106
|
+
# The path of the library.
|
100
107
|
#
|
101
108
|
# @param [Xcodeproj::Config] xcconfig
|
102
109
|
# The xcconfig to edit.
|