cocoapods-packager 1.4.0 → 1.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +3 -0
- data/Gemfile.lock +41 -51
- data/cocoapods-packager.gemspec +1 -2
- data/lib/cocoapods-packager/builder.rb +8 -1
- data/lib/cocoapods-packager/pod_utils.rb +2 -2
- data/lib/cocoapods-packager/spec_builder.rb +4 -15
- data/lib/cocoapods_packager.rb +1 -1
- data/lib/pod/command/package.rb +4 -0
- data/spec/command/error_spec.rb +7 -0
- data/spec/command/package_spec.rb +60 -1
- data/spec/fixtures/LibraryConsumerDemo/LibraryConsumer.xcodeproj/project.pbxproj +26 -26
- data/spec/fixtures/PackagerTest/PackagerTest.xcodeproj/project.pbxproj +1 -1
- data/spec/fixtures/PackagerTest/Podfile.lock +1 -1
- data/spec/specification/builder_spec.rb +2 -2
- data/spec/specification/spec_builder_spec.rb +5 -0
- metadata +20 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 81f7219b6430af93165f010b5a91fba4f8f240c3
|
4
|
+
data.tar.gz: 41cb81d33f36cc76edafa92e17f7ac3b94e17a6d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 55bb7d7e09036c9ab7400cbd24e5edbedc1fa4e3a088d8897304a695cedb8d1a342404c3600d168966c2b51c68a7184fc3421805ec2e9a3a4bc1d99424a3e576
|
7
|
+
data.tar.gz: 8d95086b7260d92990639513f9a95757b94c4ccb0d7ed51539b80acf2caed4b232414ca302f8cd1d3fdb822ae5b0e9b5f4ae9305b4c6d6f8f67ab4a05dfbbae2
|
data/.rubocop.yml
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,100 +1,93 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
cocoapods-packager (1.
|
5
|
-
cocoapods (>= 1.
|
4
|
+
cocoapods-packager (1.5.0)
|
5
|
+
cocoapods (>= 1.1.1, < 2.0)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: https://rubygems.org/
|
9
9
|
specs:
|
10
|
-
activesupport (4.2.
|
10
|
+
activesupport (4.2.7.1)
|
11
11
|
i18n (~> 0.7)
|
12
12
|
json (~> 1.7, >= 1.7.7)
|
13
13
|
minitest (~> 5.1)
|
14
14
|
thread_safe (~> 0.3, >= 0.3.4)
|
15
15
|
tzinfo (~> 1.1)
|
16
|
-
ast (2.
|
16
|
+
ast (2.3.0)
|
17
17
|
bacon (1.2.0)
|
18
|
-
claide (1.0.
|
19
|
-
cocoapods (1.
|
20
|
-
activesupport (>= 4.0.2)
|
21
|
-
claide (>= 1.0.
|
22
|
-
cocoapods-core (= 1.
|
23
|
-
cocoapods-deintegrate (>= 1.0.
|
24
|
-
cocoapods-downloader (>= 1.
|
18
|
+
claide (1.0.1)
|
19
|
+
cocoapods (1.1.1)
|
20
|
+
activesupport (>= 4.0.2, < 5)
|
21
|
+
claide (>= 1.0.1, < 2.0)
|
22
|
+
cocoapods-core (= 1.1.1)
|
23
|
+
cocoapods-deintegrate (>= 1.0.1, < 2.0)
|
24
|
+
cocoapods-downloader (>= 1.1.2, < 2.0)
|
25
25
|
cocoapods-plugins (>= 1.0.0, < 2.0)
|
26
26
|
cocoapods-search (>= 1.0.0, < 2.0)
|
27
27
|
cocoapods-stats (>= 1.0.0, < 2.0)
|
28
|
-
cocoapods-trunk (>= 1.
|
29
|
-
cocoapods-try (>= 1.
|
28
|
+
cocoapods-trunk (>= 1.1.1, < 2.0)
|
29
|
+
cocoapods-try (>= 1.1.0, < 2.0)
|
30
30
|
colored (~> 1.2)
|
31
31
|
escape (~> 0.0.4)
|
32
|
-
fourflusher (~> 0.
|
33
|
-
|
32
|
+
fourflusher (~> 2.0.1)
|
33
|
+
gh_inspector (~> 1.0)
|
34
|
+
molinillo (~> 0.5.1)
|
34
35
|
nap (~> 1.0)
|
35
|
-
xcodeproj (>= 1.
|
36
|
-
cocoapods-core (1.
|
37
|
-
activesupport (>= 4.0.2)
|
36
|
+
xcodeproj (>= 1.3.3, < 2.0)
|
37
|
+
cocoapods-core (1.1.1)
|
38
|
+
activesupport (>= 4.0.2, < 5)
|
38
39
|
fuzzy_match (~> 2.0.4)
|
39
40
|
nap (~> 1.0)
|
40
|
-
cocoapods-deintegrate (1.0.
|
41
|
-
cocoapods-downloader (1.
|
41
|
+
cocoapods-deintegrate (1.0.1)
|
42
|
+
cocoapods-downloader (1.1.2)
|
42
43
|
cocoapods-plugins (1.0.0)
|
43
44
|
nap
|
44
45
|
cocoapods-search (1.0.0)
|
45
46
|
cocoapods-stats (1.0.0)
|
46
|
-
cocoapods-trunk (1.
|
47
|
+
cocoapods-trunk (1.1.1)
|
47
48
|
nap (>= 0.8, < 2.0)
|
48
49
|
netrc (= 0.7.8)
|
49
|
-
cocoapods-try (1.
|
50
|
+
cocoapods-try (1.1.0)
|
50
51
|
colored (1.2)
|
51
|
-
coveralls (0.8.
|
52
|
-
json (
|
53
|
-
|
54
|
-
simplecov (~> 0.10.0)
|
52
|
+
coveralls (0.8.14)
|
53
|
+
json (>= 1.8, < 3)
|
54
|
+
simplecov (~> 0.12.0)
|
55
55
|
term-ansicolor (~> 1.3)
|
56
56
|
thor (~> 0.19.1)
|
57
|
+
tins (~> 1.6.0)
|
57
58
|
docile (1.1.5)
|
58
|
-
domain_name (0.5.24)
|
59
|
-
unf (>= 0.0.5, < 1.0.0)
|
60
59
|
escape (0.0.4)
|
61
|
-
fourflusher (0.
|
60
|
+
fourflusher (2.0.1)
|
62
61
|
fuzzy_match (2.0.4)
|
63
|
-
|
64
|
-
domain_name (~> 0.5)
|
62
|
+
gh_inspector (1.0.2)
|
65
63
|
i18n (0.7.0)
|
66
64
|
json (1.8.3)
|
67
65
|
metaclass (0.0.4)
|
68
|
-
|
69
|
-
minitest (5.9.0)
|
66
|
+
minitest (5.9.1)
|
70
67
|
mocha (0.11.4)
|
71
68
|
metaclass (~> 0.0.1)
|
72
69
|
mocha-on-bacon (0.2.1)
|
73
70
|
mocha (>= 0.9.8)
|
74
|
-
molinillo (0.
|
71
|
+
molinillo (0.5.2)
|
75
72
|
nap (1.1.0)
|
76
73
|
netrc (0.7.8)
|
77
|
-
parser (2.3.1.
|
74
|
+
parser (2.3.1.2)
|
78
75
|
ast (~> 2.2)
|
79
76
|
powerpack (0.1.1)
|
80
77
|
prettybacon (0.0.2)
|
81
78
|
bacon (~> 1.2)
|
82
79
|
rainbow (2.1.0)
|
83
|
-
rake (
|
84
|
-
|
85
|
-
|
86
|
-
mime-types (>= 1.16, < 3.0)
|
87
|
-
netrc (~> 0.7)
|
88
|
-
rubocop (0.40.0)
|
89
|
-
parser (>= 2.3.1.0, < 3.0)
|
80
|
+
rake (11.2.2)
|
81
|
+
rubocop (0.41.2)
|
82
|
+
parser (>= 2.3.1.1, < 3.0)
|
90
83
|
powerpack (~> 0.1)
|
91
84
|
rainbow (>= 1.99.1, < 3.0)
|
92
85
|
ruby-progressbar (~> 1.7)
|
93
86
|
unicode-display_width (~> 1.0, >= 1.0.1)
|
94
87
|
ruby-progressbar (1.8.1)
|
95
|
-
simplecov (0.
|
88
|
+
simplecov (0.12.0)
|
96
89
|
docile (~> 1.1.0)
|
97
|
-
json (
|
90
|
+
json (>= 1.8, < 3)
|
98
91
|
simplecov-html (~> 0.10.0)
|
99
92
|
simplecov-html (0.10.0)
|
100
93
|
term-ansicolor (1.3.2)
|
@@ -104,13 +97,10 @@ GEM
|
|
104
97
|
tins (1.6.0)
|
105
98
|
tzinfo (1.2.2)
|
106
99
|
thread_safe (~> 0.1)
|
107
|
-
|
108
|
-
|
109
|
-
unf_ext (0.0.7.1)
|
110
|
-
unicode-display_width (1.0.5)
|
111
|
-
xcodeproj (1.1.0)
|
100
|
+
unicode-display_width (1.1.0)
|
101
|
+
xcodeproj (1.3.3)
|
112
102
|
activesupport (>= 3)
|
113
|
-
claide (>= 1.0.
|
103
|
+
claide (>= 1.0.1, < 2.0)
|
114
104
|
colored (~> 1.2)
|
115
105
|
|
116
106
|
PLATFORMS
|
@@ -128,4 +118,4 @@ DEPENDENCIES
|
|
128
118
|
rubocop
|
129
119
|
|
130
120
|
BUNDLED WITH
|
131
|
-
1.
|
121
|
+
1.13.5
|
data/cocoapods-packager.gemspec
CHANGED
@@ -15,9 +15,8 @@ Gem::Specification.new do |spec|
|
|
15
15
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
16
16
|
spec.require_paths = ["lib"]
|
17
17
|
|
18
|
-
spec.add_dependency "cocoapods", '>= 1.
|
18
|
+
spec.add_dependency "cocoapods", '>= 1.1.1', '< 2.0'
|
19
19
|
|
20
20
|
spec.add_development_dependency "bundler", "~> 1.3"
|
21
21
|
spec.add_development_dependency "rake"
|
22
22
|
end
|
23
|
-
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Pod
|
2
2
|
class Builder
|
3
|
-
def initialize(source_dir, static_sandbox_root, dynamic_sandbox_root, public_headers_root, spec, embedded, mangle, dynamic, config, exclude_deps)
|
3
|
+
def initialize(source_dir, static_sandbox_root, dynamic_sandbox_root, public_headers_root, spec, embedded, mangle, dynamic, config, bundle_identifier, exclude_deps)
|
4
4
|
@source_dir = source_dir
|
5
5
|
@static_sandbox_root = static_sandbox_root
|
6
6
|
@dynamic_sandbox_root = dynamic_sandbox_root
|
@@ -10,6 +10,7 @@ module Pod
|
|
10
10
|
@mangle = mangle
|
11
11
|
@dynamic = dynamic
|
12
12
|
@config = config
|
13
|
+
@bundle_identifier = bundle_identifier
|
13
14
|
@exclude_deps = exclude_deps
|
14
15
|
end
|
15
16
|
|
@@ -65,6 +66,10 @@ module Pod
|
|
65
66
|
def build_dynamic_framework(platform, defines, output)
|
66
67
|
UI.puts("Building dynamic Framework #{@spec} with configuration #{@config}")
|
67
68
|
|
69
|
+
if @bundle_identifier
|
70
|
+
defines = "#{defines} PRODUCT_BUNDLE_IDENTIFIER='#{@bundle_identifier}'"
|
71
|
+
end
|
72
|
+
|
68
73
|
clean_directory_for_dynamic_build
|
69
74
|
if platform.name == :ios
|
70
75
|
build_dynamic_framework_for_ios(platform, defines, output)
|
@@ -101,6 +106,7 @@ module Pod
|
|
101
106
|
|
102
107
|
FileUtils.mkdir(platform.name.to_s)
|
103
108
|
`mv #{@dynamic_sandbox_root}/build/#{@spec.name}.framework #{platform.name}`
|
109
|
+
`mv #{@dynamic_sandbox_root}/build/#{@spec.name}.framework.dSYM #{platform.name}`
|
104
110
|
end
|
105
111
|
|
106
112
|
def build_dynamic_framework_for_mac(platform, defines, _output)
|
@@ -114,6 +120,7 @@ module Pod
|
|
114
120
|
|
115
121
|
FileUtils.mkdir(platform.name.to_s)
|
116
122
|
`mv #{@dynamic_sandbox_root}/build/#{@spec.name}.framework #{platform.name}`
|
123
|
+
`mv #{@dynamic_sandbox_root}/build/#{@spec.name}.framework.dSYM #{platform.name}`
|
117
124
|
end
|
118
125
|
|
119
126
|
def build_sim_libraries(platform, defines)
|
@@ -206,13 +206,13 @@ module Pod
|
|
206
206
|
end
|
207
207
|
|
208
208
|
def install_file_references(dynamic_sandbox, pod_targets, pods_project)
|
209
|
-
installer = Pod::Installer::FileReferencesInstaller.new(dynamic_sandbox, pod_targets, pods_project)
|
209
|
+
installer = Pod::Installer::Xcode::PodsProjectGenerator::FileReferencesInstaller.new(dynamic_sandbox, pod_targets, pods_project)
|
210
210
|
installer.install!
|
211
211
|
end
|
212
212
|
|
213
213
|
def install_library(dynamic_sandbox, dynamic_target)
|
214
214
|
return if dynamic_target.target_definitions.flat_map(&:dependencies).empty?
|
215
|
-
target_installer = Pod::Installer::PodTargetInstaller.new(dynamic_sandbox, dynamic_target)
|
215
|
+
target_installer = Pod::Installer::Xcode::PodsProjectGenerator::PodTargetInstaller.new(dynamic_sandbox, dynamic_target)
|
216
216
|
target_installer.install!
|
217
217
|
|
218
218
|
# Installs System Frameworks
|
@@ -17,22 +17,12 @@ module Pod
|
|
17
17
|
|
18
18
|
def spec_platform(platform)
|
19
19
|
fwk_base = platform.name.to_s + '/' + framework_path
|
20
|
-
spec =
|
21
|
-
<<RB
|
20
|
+
spec = <<RB
|
22
21
|
s.#{platform.name}.deployment_target = '#{platform.deployment_target}'
|
23
22
|
s.#{platform.name}.vendored_framework = '#{fwk_base}'
|
24
23
|
RB
|
25
|
-
else
|
26
|
-
<<SPEC
|
27
|
-
s.#{platform.name}.deployment_target = '#{platform.deployment_target}'
|
28
|
-
s.#{platform.name}.preserve_paths = '#{fwk_base}'
|
29
|
-
s.#{platform.name}.public_header_files = '#{fwk_base}/Versions/A/Headers/*.h'
|
30
|
-
s.#{platform.name}.resource = '#{fwk_base}/Versions/A/Resources/**/*'
|
31
|
-
s.#{platform.name}.vendored_frameworks = '#{fwk_base}'
|
32
|
-
SPEC
|
33
|
-
end
|
34
24
|
|
35
|
-
%w(frameworks libraries requires_arc xcconfig).each do |attribute|
|
25
|
+
%w(frameworks weak_frameworks libraries requires_arc xcconfig).each do |attribute|
|
36
26
|
attributes_hash = @spec.attributes_hash[platform.name.to_s]
|
37
27
|
next if attributes_hash.nil?
|
38
28
|
value = attributes_hash[attribute]
|
@@ -59,12 +49,11 @@ SPEC
|
|
59
49
|
spec = "Pod::Spec.new do |s|\n"
|
60
50
|
|
61
51
|
%w(name version summary license authors homepage description social_media_url
|
62
|
-
docset_url documentation_url screenshots frameworks libraries requires_arc
|
52
|
+
docset_url documentation_url screenshots frameworks weak_frameworks libraries requires_arc
|
63
53
|
deployment_target xcconfig).each do |attribute|
|
64
54
|
value = @spec.attributes_hash[attribute]
|
65
55
|
next if value.nil?
|
66
|
-
|
67
|
-
value = "'#{value}'" if value.class == String
|
56
|
+
value = value.dump if value.class == String
|
68
57
|
spec += " s.#{attribute} = #{value}\n"
|
69
58
|
end
|
70
59
|
|
data/lib/cocoapods_packager.rb
CHANGED
data/lib/pod/command/package.rb
CHANGED
@@ -15,6 +15,7 @@ module Pod
|
|
15
15
|
['--embedded', 'Generate embedded frameworks.'],
|
16
16
|
['--library', 'Generate static libraries.'],
|
17
17
|
['--dynamic', 'Generate dynamic framework.'],
|
18
|
+
['--bundle-identifier', 'Bundle identifier for dynamic framework'],
|
18
19
|
['--exclude-deps', 'Exclude symbols from dependencies.'],
|
19
20
|
['--configuration', 'Build the specified configuration (e.g. Debug). Defaults to Release'],
|
20
21
|
['--subspecs', 'Only include the given subspecs'],
|
@@ -29,6 +30,7 @@ module Pod
|
|
29
30
|
@library = argv.flag?('library')
|
30
31
|
@dynamic = argv.flag?('dynamic')
|
31
32
|
@mangle = argv.flag?('mangle', true)
|
33
|
+
@bundle_identifier = argv.option('bundle-identifier', nil)
|
32
34
|
@exclude_deps = argv.flag?('exclude-deps', false)
|
33
35
|
@name = argv.shift_argument
|
34
36
|
@source = argv.shift_argument
|
@@ -49,6 +51,7 @@ module Pod
|
|
49
51
|
super
|
50
52
|
help! 'A podspec name or path is required.' unless @spec
|
51
53
|
help! 'podspec has binary-only depedencies, mangling not possible.' if @mangle && binary_only?(@spec)
|
54
|
+
help! '--bundle-identifier option can only be used for dynamic frameworks' if @bundle_identifier && !@dynamic
|
52
55
|
help! '--exclude-deps option can only be used for static libraries' if @exclude_deps && @dynamic
|
53
56
|
end
|
54
57
|
|
@@ -146,6 +149,7 @@ module Pod
|
|
146
149
|
@mangle,
|
147
150
|
@dynamic,
|
148
151
|
@config,
|
152
|
+
@bundle_identifier,
|
149
153
|
@exclude_deps
|
150
154
|
)
|
151
155
|
|
data/spec/command/error_spec.rb
CHANGED
@@ -28,6 +28,13 @@ module Pod
|
|
28
28
|
end.message.should.match /binary-only/
|
29
29
|
end
|
30
30
|
|
31
|
+
it 'presents the help if only --bundle-identifier is specified' do
|
32
|
+
command = Command.parse(%w{ package spec/fixtures/NikeKit.podspec --bundle-identifier=com.example.NikeKit })
|
33
|
+
should.raise CLAide::Help do
|
34
|
+
command.validate!
|
35
|
+
end.message.should.match /--bundle-identifier option can only be used for dynamic frameworks/
|
36
|
+
end
|
37
|
+
|
31
38
|
it 'presents the help if both --exclude-deps and --dynamic are specified' do
|
32
39
|
command = Command.parse(%w{ package spec/fixtures/NikeKit.podspec --exclude-deps --dynamic })
|
33
40
|
should.raise CLAide::Help do
|
@@ -49,6 +49,20 @@ module Pod
|
|
49
49
|
output[1].should.match /Mach-O dynamically linked shared library i386/
|
50
50
|
end
|
51
51
|
|
52
|
+
it "should produce a dSYM when dynamic is specified" do
|
53
|
+
Pod::Config.instance.sources_manager.stubs(:search).returns(nil)
|
54
|
+
|
55
|
+
command = Command.parse(%w{ package spec/fixtures/NikeKit.podspec --dynamic })
|
56
|
+
command.run
|
57
|
+
|
58
|
+
lib = Dir.glob("NikeKit-*/ios/NikeKit.framework.dSYM/Contents/Resources/DWARF/NikeKit").first
|
59
|
+
file_command = "file #{lib}"
|
60
|
+
output = `#{file_command}`.lines.to_a
|
61
|
+
|
62
|
+
output[0].should.match /Mach-O universal binary with 3 architectures/
|
63
|
+
output[1].should.match /Mach-O dSYM companion file arm/
|
64
|
+
end
|
65
|
+
|
52
66
|
it "should link category symbols when dynamic is specified" do
|
53
67
|
Pod::Config.instance.sources_manager.stubs(:search).returns(nil)
|
54
68
|
|
@@ -76,6 +90,51 @@ module Pod
|
|
76
90
|
output[0].should.match /Mach-O 64-bit dynamically linked shared library x86_64/
|
77
91
|
end
|
78
92
|
|
93
|
+
it "should produce a dSYM for OSX when dynamic is specified" do
|
94
|
+
Pod::Config.instance.sources_manager.stubs(:search).returns(nil)
|
95
|
+
|
96
|
+
command = Command.parse(%w{ package spec/fixtures/KFData.podspec --dynamic })
|
97
|
+
command.run
|
98
|
+
|
99
|
+
lib = Dir.glob("KFData-*/osx/KFData.framework.dSYM/Contents/Resources/DWARF/KFData").first
|
100
|
+
file_command = "file #{lib}"
|
101
|
+
output = `#{file_command}`.lines.to_a
|
102
|
+
|
103
|
+
output[0].should.match /Mach-O 64-bit dSYM companion file x86_64/
|
104
|
+
end
|
105
|
+
|
106
|
+
it "should produce the default plist for iOS and OSX when --dynamic is specified but --bundle-identifier is not" do
|
107
|
+
Pod::Config.instance.sources_manager.stubs(:search).returns(nil)
|
108
|
+
|
109
|
+
command = Command.parse(%w{ package spec/fixtures/KFData.podspec --dynamic})
|
110
|
+
command.run
|
111
|
+
|
112
|
+
ios_plist = File.expand_path(Dir.glob("KFData-*/ios/KFData.framework/Info.plist").first)
|
113
|
+
osx_plist = File.expand_path(Dir.glob("KFData-*/osx/KFData.framework/Resources/Info.plist").first)
|
114
|
+
|
115
|
+
ios_bundle_id = `defaults read #{ios_plist} CFBundleIdentifier`
|
116
|
+
osx_bundle_id = `defaults read #{osx_plist} CFBundleIdentifier`
|
117
|
+
|
118
|
+
ios_bundle_id.should.match /org.cocoapods.KFData/
|
119
|
+
osx_bundle_id.should.match /org.cocoapods.KFData/
|
120
|
+
end
|
121
|
+
|
122
|
+
it "should produce the correct plist for iOS and OSX when --dynamic and --bundle-identifier are specified" do
|
123
|
+
Pod::Config.instance.sources_manager.stubs(:search).returns(nil)
|
124
|
+
|
125
|
+
command = Command.parse(%w{ package spec/fixtures/KFData.podspec --dynamic --bundle-identifier=com.example.KFData})
|
126
|
+
command.run
|
127
|
+
|
128
|
+
ios_plist = File.expand_path(Dir.glob("KFData-*/ios/KFData.framework/Info.plist").first)
|
129
|
+
osx_plist = File.expand_path(Dir.glob("KFData-*/osx/KFData.framework/Resources/Info.plist").first)
|
130
|
+
|
131
|
+
ios_bundle_id = `defaults read #{ios_plist} CFBundleIdentifier`
|
132
|
+
osx_bundle_id = `defaults read #{osx_plist} CFBundleIdentifier`
|
133
|
+
|
134
|
+
ios_bundle_id.should.match /com.example.KFData/
|
135
|
+
osx_bundle_id.should.match /com.example.KFData/
|
136
|
+
end
|
137
|
+
|
79
138
|
it "should produce a static library when dynamic is not specified" do
|
80
139
|
Pod::Config.instance.sources_manager.stubs(:search).returns(nil)
|
81
140
|
|
@@ -87,7 +146,7 @@ module Pod
|
|
87
146
|
output = `#{file_command}`.lines.to_a
|
88
147
|
|
89
148
|
output[0].should.match /Mach-O universal binary with 5 architectures/
|
90
|
-
output[1].should.match /current ar archive
|
149
|
+
output[1].should.match /current ar archive/
|
91
150
|
end
|
92
151
|
|
93
152
|
it "mangles symbols if the Pod has dependencies" do
|
@@ -7,15 +7,15 @@
|
|
7
7
|
objects = {
|
8
8
|
|
9
9
|
/* Begin PBXBuildFile section */
|
10
|
+
7CE4CCEF5BF27FD4FBB972EB /* libPods-LibraryConsumer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 34AD1A407B865D05B65A5301 /* libPods-LibraryConsumer.a */; };
|
10
11
|
9B89D2E019EFC04D00803D42 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B89D2DF19EFC04D00803D42 /* main.m */; };
|
11
12
|
9B89D2E319EFC04D00803D42 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 9B89D2E219EFC04D00803D42 /* AppDelegate.m */; };
|
12
|
-
A1381F09576636A564E1CE00 /* libPods-LibraryConsumer.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1BFA015CA221FE724F8AAB81 /* libPods-LibraryConsumer.a */; };
|
13
13
|
/* End PBXBuildFile section */
|
14
14
|
|
15
15
|
/* Begin PBXFileReference section */
|
16
|
-
|
17
|
-
|
18
|
-
|
16
|
+
0AA277EF1097393AE42174B8 /* Pods-LibraryConsumer.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LibraryConsumer.release.xcconfig"; path = "Pods/Target Support Files/Pods-LibraryConsumer/Pods-LibraryConsumer.release.xcconfig"; sourceTree = "<group>"; };
|
17
|
+
34AD1A407B865D05B65A5301 /* libPods-LibraryConsumer.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-LibraryConsumer.a"; sourceTree = BUILT_PRODUCTS_DIR; };
|
18
|
+
4A66E303CCF429F9D7C502D1 /* Pods-LibraryConsumer.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-LibraryConsumer.debug.xcconfig"; path = "Pods/Target Support Files/Pods-LibraryConsumer/Pods-LibraryConsumer.debug.xcconfig"; sourceTree = "<group>"; };
|
19
19
|
9B89D2DA19EFC04D00803D42 /* LibraryConsumer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = LibraryConsumer.app; sourceTree = BUILT_PRODUCTS_DIR; };
|
20
20
|
9B89D2DE19EFC04D00803D42 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
21
21
|
9B89D2DF19EFC04D00803D42 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
@@ -28,28 +28,28 @@
|
|
28
28
|
isa = PBXFrameworksBuildPhase;
|
29
29
|
buildActionMask = 2147483647;
|
30
30
|
files = (
|
31
|
-
|
31
|
+
7CE4CCEF5BF27FD4FBB972EB /* libPods-LibraryConsumer.a in Frameworks */,
|
32
32
|
);
|
33
33
|
runOnlyForDeploymentPostprocessing = 0;
|
34
34
|
};
|
35
35
|
/* End PBXFrameworksBuildPhase section */
|
36
36
|
|
37
37
|
/* Begin PBXGroup section */
|
38
|
-
|
38
|
+
1CFA5E012476526B947AF945 /* Frameworks */ = {
|
39
39
|
isa = PBXGroup;
|
40
40
|
children = (
|
41
|
-
|
42
|
-
833DF35C723143E1561E07BD /* Pods-LibraryConsumer.release.xcconfig */,
|
41
|
+
34AD1A407B865D05B65A5301 /* libPods-LibraryConsumer.a */,
|
43
42
|
);
|
44
|
-
name =
|
43
|
+
name = Frameworks;
|
45
44
|
sourceTree = "<group>";
|
46
45
|
};
|
47
|
-
|
46
|
+
6DC8E89A3E645F7841B27894 /* Pods */ = {
|
48
47
|
isa = PBXGroup;
|
49
48
|
children = (
|
50
|
-
|
49
|
+
4A66E303CCF429F9D7C502D1 /* Pods-LibraryConsumer.debug.xcconfig */,
|
50
|
+
0AA277EF1097393AE42174B8 /* Pods-LibraryConsumer.release.xcconfig */,
|
51
51
|
);
|
52
|
-
name =
|
52
|
+
name = Pods;
|
53
53
|
sourceTree = "<group>";
|
54
54
|
};
|
55
55
|
9B89D2D119EFC04D00803D42 = {
|
@@ -57,8 +57,8 @@
|
|
57
57
|
children = (
|
58
58
|
9B89D2DC19EFC04D00803D42 /* LibraryConsumer */,
|
59
59
|
9B89D2DB19EFC04D00803D42 /* Products */,
|
60
|
-
|
61
|
-
|
60
|
+
6DC8E89A3E645F7841B27894 /* Pods */,
|
61
|
+
1CFA5E012476526B947AF945 /* Frameworks */,
|
62
62
|
);
|
63
63
|
sourceTree = "<group>";
|
64
64
|
};
|
@@ -96,12 +96,12 @@
|
|
96
96
|
isa = PBXNativeTarget;
|
97
97
|
buildConfigurationList = 9B89D2FD19EFC04D00803D42 /* Build configuration list for PBXNativeTarget "LibraryConsumer" */;
|
98
98
|
buildPhases = (
|
99
|
-
|
99
|
+
170A030C4EB518D9349852B9 /* [CP] Check Pods Manifest.lock */,
|
100
100
|
9B89D2D619EFC04D00803D42 /* Sources */,
|
101
101
|
9B89D2D719EFC04D00803D42 /* Frameworks */,
|
102
102
|
9B89D2D819EFC04D00803D42 /* Resources */,
|
103
|
-
|
104
|
-
|
103
|
+
66E97541EE256003BD711EDA /* [CP] Embed Pods Frameworks */,
|
104
|
+
DFB55D7B0E04E9E06397977F /* [CP] Copy Pods Resources */,
|
105
105
|
);
|
106
106
|
buildRules = (
|
107
107
|
);
|
@@ -155,37 +155,37 @@
|
|
155
155
|
/* End PBXResourcesBuildPhase section */
|
156
156
|
|
157
157
|
/* Begin PBXShellScriptBuildPhase section */
|
158
|
-
|
158
|
+
170A030C4EB518D9349852B9 /* [CP] Check Pods Manifest.lock */ = {
|
159
159
|
isa = PBXShellScriptBuildPhase;
|
160
160
|
buildActionMask = 2147483647;
|
161
161
|
files = (
|
162
162
|
);
|
163
163
|
inputPaths = (
|
164
164
|
);
|
165
|
-
name = "[CP]
|
165
|
+
name = "[CP] Check Pods Manifest.lock";
|
166
166
|
outputPaths = (
|
167
167
|
);
|
168
168
|
runOnlyForDeploymentPostprocessing = 0;
|
169
169
|
shellPath = /bin/sh;
|
170
|
-
shellScript = "\"${
|
170
|
+
shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n";
|
171
171
|
showEnvVarsInLog = 0;
|
172
172
|
};
|
173
|
-
|
173
|
+
66E97541EE256003BD711EDA /* [CP] Embed Pods Frameworks */ = {
|
174
174
|
isa = PBXShellScriptBuildPhase;
|
175
175
|
buildActionMask = 2147483647;
|
176
176
|
files = (
|
177
177
|
);
|
178
178
|
inputPaths = (
|
179
179
|
);
|
180
|
-
name = "[CP]
|
180
|
+
name = "[CP] Embed Pods Frameworks";
|
181
181
|
outputPaths = (
|
182
182
|
);
|
183
183
|
runOnlyForDeploymentPostprocessing = 0;
|
184
184
|
shellPath = /bin/sh;
|
185
|
-
shellScript = "
|
185
|
+
shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-LibraryConsumer/Pods-LibraryConsumer-frameworks.sh\"\n";
|
186
186
|
showEnvVarsInLog = 0;
|
187
187
|
};
|
188
|
-
|
188
|
+
DFB55D7B0E04E9E06397977F /* [CP] Copy Pods Resources */ = {
|
189
189
|
isa = PBXShellScriptBuildPhase;
|
190
190
|
buildActionMask = 2147483647;
|
191
191
|
files = (
|
@@ -293,7 +293,7 @@
|
|
293
293
|
};
|
294
294
|
9B89D2FE19EFC04D00803D42 /* Debug */ = {
|
295
295
|
isa = XCBuildConfiguration;
|
296
|
-
baseConfigurationReference =
|
296
|
+
baseConfigurationReference = 4A66E303CCF429F9D7C502D1 /* Pods-LibraryConsumer.debug.xcconfig */;
|
297
297
|
buildSettings = {
|
298
298
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
299
299
|
INFOPLIST_FILE = LibraryConsumer/Info.plist;
|
@@ -304,7 +304,7 @@
|
|
304
304
|
};
|
305
305
|
9B89D2FF19EFC04D00803D42 /* Release */ = {
|
306
306
|
isa = XCBuildConfiguration;
|
307
|
-
baseConfigurationReference =
|
307
|
+
baseConfigurationReference = 0AA277EF1097393AE42174B8 /* Pods-LibraryConsumer.release.xcconfig */;
|
308
308
|
buildSettings = {
|
309
309
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
310
310
|
INFOPLIST_FILE = LibraryConsumer/Info.plist;
|
@@ -271,7 +271,7 @@
|
|
271
271
|
);
|
272
272
|
runOnlyForDeploymentPostprocessing = 0;
|
273
273
|
shellPath = /bin/sh;
|
274
|
-
shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [
|
274
|
+
shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n";
|
275
275
|
showEnvVarsInLog = 0;
|
276
276
|
};
|
277
277
|
E32FAE278D58BC5B3F788CE7 /* [CP] Embed Pods Frameworks */ = {
|
@@ -6,7 +6,7 @@ module Pod
|
|
6
6
|
describe 'compiler flags' do
|
7
7
|
before do
|
8
8
|
@spec = Specification.from_file('spec/fixtures/Builder.podspec')
|
9
|
-
@builder = Builder.new(nil, nil, nil, nil, @spec, nil, nil, nil, nil, nil)
|
9
|
+
@builder = Builder.new(nil, nil, nil, nil, @spec, nil, nil, nil, nil, nil, nil)
|
10
10
|
end
|
11
11
|
|
12
12
|
it "includes proper compiler flags for iOS" do
|
@@ -23,7 +23,7 @@ module Pod
|
|
23
23
|
describe 'on build failure' do
|
24
24
|
before do
|
25
25
|
@spec = Specification.from_file('spec/fixtures/Builder.podspec')
|
26
|
-
@builder = Builder.new(nil, nil, nil, nil, @spec, nil, nil, nil, nil, nil)
|
26
|
+
@builder = Builder.new(nil, nil, nil, nil, @spec, nil, nil, nil, nil, nil, nil)
|
27
27
|
end
|
28
28
|
|
29
29
|
it 'dumps report and terminates' do
|
@@ -32,6 +32,11 @@ module Pod
|
|
32
32
|
compare_attributes(spec, @spec, 'frameworks')
|
33
33
|
end
|
34
34
|
|
35
|
+
it "preserves platform.weak_frameworks" do
|
36
|
+
spec = specification_from_builder(@builder)
|
37
|
+
compare_attributes(spec, @spec, 'weak_frameworks')
|
38
|
+
end
|
39
|
+
|
35
40
|
it "preserves platform.libraries" do
|
36
41
|
spec = specification_from_builder(@builder)
|
37
42
|
compare_attributes(spec, @spec, 'libraries')
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cocoapods-packager
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kyle Fuller
|
@@ -9,54 +9,54 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-
|
12
|
+
date: 2016-10-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: cocoapods
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- -
|
18
|
+
- - ">="
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: 1.
|
21
|
-
- - <
|
20
|
+
version: 1.1.1
|
21
|
+
- - "<"
|
22
22
|
- !ruby/object:Gem::Version
|
23
23
|
version: '2.0'
|
24
24
|
type: :runtime
|
25
25
|
prerelease: false
|
26
26
|
version_requirements: !ruby/object:Gem::Requirement
|
27
27
|
requirements:
|
28
|
-
- -
|
28
|
+
- - ">="
|
29
29
|
- !ruby/object:Gem::Version
|
30
|
-
version: 1.
|
31
|
-
- - <
|
30
|
+
version: 1.1.1
|
31
|
+
- - "<"
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '2.0'
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: bundler
|
36
36
|
requirement: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.3'
|
41
41
|
type: :development
|
42
42
|
prerelease: false
|
43
43
|
version_requirements: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '1.3'
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: rake
|
50
50
|
requirement: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
57
|
version_requirements: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
description:
|
@@ -65,11 +65,11 @@ executables: []
|
|
65
65
|
extensions: []
|
66
66
|
extra_rdoc_files: []
|
67
67
|
files:
|
68
|
-
- .coveralls.yml
|
69
|
-
- .gitignore
|
70
|
-
- .rubocop-cocoapods.yml
|
71
|
-
- .rubocop.yml
|
72
|
-
- .travis.yml
|
68
|
+
- ".coveralls.yml"
|
69
|
+
- ".gitignore"
|
70
|
+
- ".rubocop-cocoapods.yml"
|
71
|
+
- ".rubocop.yml"
|
72
|
+
- ".travis.yml"
|
73
73
|
- Gemfile
|
74
74
|
- Gemfile.lock
|
75
75
|
- LICENSE
|
@@ -146,17 +146,17 @@ require_paths:
|
|
146
146
|
- lib
|
147
147
|
required_ruby_version: !ruby/object:Gem::Requirement
|
148
148
|
requirements:
|
149
|
-
- -
|
149
|
+
- - ">="
|
150
150
|
- !ruby/object:Gem::Version
|
151
151
|
version: '0'
|
152
152
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
153
153
|
requirements:
|
154
|
-
- -
|
154
|
+
- - ">="
|
155
155
|
- !ruby/object:Gem::Version
|
156
156
|
version: '0'
|
157
157
|
requirements: []
|
158
158
|
rubyforge_project:
|
159
|
-
rubygems_version: 2.
|
159
|
+
rubygems_version: 2.6.7
|
160
160
|
signing_key:
|
161
161
|
specification_version: 4
|
162
162
|
summary: CocoaPods plugin which allows you to generate a framework or static library
|
@@ -210,4 +210,3 @@ test_files:
|
|
210
210
|
- spec/specification/builder_spec.rb
|
211
211
|
- spec/specification/spec_builder_spec.rb
|
212
212
|
- spec/user_interface/build_failed_report_spec.rb
|
213
|
-
has_rdoc:
|