cocoapods-packager-boco 1.5.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (78) hide show
  1. checksums.yaml +7 -0
  2. data/.coveralls.yml +1 -0
  3. data/.gitignore +3 -0
  4. data/.rubocop-cocoapods.yml +71 -0
  5. data/.rubocop.yml +38 -0
  6. data/.travis.yml +9 -0
  7. data/Gemfile +12 -0
  8. data/Gemfile.lock +129 -0
  9. data/LICENSE +22 -0
  10. data/README.md +42 -0
  11. data/Rakefile +12 -0
  12. data/cocoapods-packager-boco.gemspec +22 -0
  13. data/lib/cocoapods-packager/builder.rb +333 -0
  14. data/lib/cocoapods-packager/framework.rb +66 -0
  15. data/lib/cocoapods-packager/mangle.rb +32 -0
  16. data/lib/cocoapods-packager/pod_utils.rb +253 -0
  17. data/lib/cocoapods-packager/spec_builder.rb +63 -0
  18. data/lib/cocoapods-packager/symbols.rb +42 -0
  19. data/lib/cocoapods-packager/user_interface/build_failed_report.rb +15 -0
  20. data/lib/cocoapods_packager.rb +5 -0
  21. data/lib/cocoapods_plugin.rb +8 -0
  22. data/lib/pod/command/package.rb +179 -0
  23. data/scripts/lstconst.sh +9 -0
  24. data/scripts/lstsym.sh +8 -0
  25. data/spec/command/error_spec.rb +81 -0
  26. data/spec/command/package_spec.rb +410 -0
  27. data/spec/command/subspecs_spec.rb +30 -0
  28. data/spec/fixtures/Archs.podspec +13 -0
  29. data/spec/fixtures/Builder.podspec +25 -0
  30. data/spec/fixtures/CPDColors.podspec +19 -0
  31. data/spec/fixtures/FH.podspec +18 -0
  32. data/spec/fixtures/KFData.podspec +73 -0
  33. data/spec/fixtures/LibraryConsumerDemo/.gitignore +22 -0
  34. data/spec/fixtures/LibraryConsumerDemo/LibraryConsumer/AppDelegate.h +17 -0
  35. data/spec/fixtures/LibraryConsumerDemo/LibraryConsumer/AppDelegate.m +27 -0
  36. data/spec/fixtures/LibraryConsumerDemo/LibraryConsumer/Info.plist +40 -0
  37. data/spec/fixtures/LibraryConsumerDemo/LibraryConsumer/main.m +16 -0
  38. data/spec/fixtures/LibraryConsumerDemo/LibraryConsumer.xcodeproj/project.pbxproj +343 -0
  39. data/spec/fixtures/LibraryConsumerDemo/LibraryConsumer.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  40. data/spec/fixtures/LibraryConsumerDemo/LibraryConsumer.xcodeproj/xcshareddata/xcschemes/LibraryConsumer.xcscheme +100 -0
  41. data/spec/fixtures/LibraryConsumerDemo/LibraryConsumer.xcworkspace/contents.xcworkspacedata +10 -0
  42. data/spec/fixtures/LibraryConsumerDemo/Podfile +5 -0
  43. data/spec/fixtures/LibraryDemo.podspec +14 -0
  44. data/spec/fixtures/LocalSources/LICENSE +0 -0
  45. data/spec/fixtures/LocalSources/LocalNikeKit.h +4 -0
  46. data/spec/fixtures/LocalSources/LocalNikeKit.m +9 -0
  47. data/spec/fixtures/LocalSources/LocalNikeKit.podspec +19 -0
  48. data/spec/fixtures/NikeKit.podspec +19 -0
  49. data/spec/fixtures/OpenSans.podspec +18 -0
  50. data/spec/fixtures/PackagerTest/.gitignore +21 -0
  51. data/spec/fixtures/PackagerTest/PackagerTest/CPDAppDelegate.h +15 -0
  52. data/spec/fixtures/PackagerTest/PackagerTest/CPDAppDelegate.m +49 -0
  53. data/spec/fixtures/PackagerTest/PackagerTest/Images.xcassets/AppIcon.appiconset/Contents.json +23 -0
  54. data/spec/fixtures/PackagerTest/PackagerTest/Images.xcassets/LaunchImage.launchimage/Contents.json +23 -0
  55. data/spec/fixtures/PackagerTest/PackagerTest/PackagerTest-Info.plist +38 -0
  56. data/spec/fixtures/PackagerTest/PackagerTest/PackagerTest-Prefix.pch +16 -0
  57. data/spec/fixtures/PackagerTest/PackagerTest/en.lproj/InfoPlist.strings +2 -0
  58. data/spec/fixtures/PackagerTest/PackagerTest/main.m +18 -0
  59. data/spec/fixtures/PackagerTest/PackagerTest.xcodeproj/project.pbxproj +539 -0
  60. data/spec/fixtures/PackagerTest/PackagerTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  61. data/spec/fixtures/PackagerTest/PackagerTest.xcodeproj/xcshareddata/xcschemes/PackagerTest.xcscheme +110 -0
  62. data/spec/fixtures/PackagerTest/PackagerTest.xcworkspace/contents.xcworkspacedata +1 -0
  63. data/spec/fixtures/PackagerTest/PackagerTestTests/PackagerTestTests-Info.plist +22 -0
  64. data/spec/fixtures/PackagerTest/PackagerTestTests/PackagerTestTests.m +34 -0
  65. data/spec/fixtures/PackagerTest/PackagerTestTests/en.lproj/InfoPlist.strings +2 -0
  66. data/spec/fixtures/PackagerTest/Podfile +10 -0
  67. data/spec/fixtures/PackagerTest/Podfile.lock +32 -0
  68. data/spec/fixtures/Weakly.podspec +13 -0
  69. data/spec/fixtures/a.podspec +19 -0
  70. data/spec/fixtures/foo-bar.podspec +19 -0
  71. data/spec/fixtures/layer-client-messaging-schema.podspec +13 -0
  72. data/spec/integration/project_spec.rb +70 -0
  73. data/spec/pod/utils_spec.rb +58 -0
  74. data/spec/spec_helper.rb +50 -0
  75. data/spec/specification/builder_spec.rb +43 -0
  76. data/spec/specification/spec_builder_spec.rb +61 -0
  77. data/spec/user_interface/build_failed_report_spec.rb +11 -0
  78. metadata +222 -0
@@ -0,0 +1,43 @@
1
+ require File.expand_path('../../spec_helper', __FILE__)
2
+
3
+ module Pod
4
+ describe Builder do
5
+ describe 'Xcodebuild command' do
6
+ describe 'compiler flags' do
7
+ before do
8
+ @spec = Specification.from_file('spec/fixtures/Builder.podspec')
9
+ @installer = stub('Installer', :pod_targets => [])
10
+ end
11
+
12
+ it "includes proper compiler flags for iOS" do
13
+ @builder = Builder.new(Platform.new(:ios), @installer, nil, nil, nil, nil, @spec, nil, nil, nil, nil, nil, nil)
14
+ @builder.expects(:xcodebuild).with("GCC_PREPROCESSOR_DEFINITIONS='$(inherited) PodsDummy_Pods_Builder=PodsDummy_PodPackage_Builder' -DBASE_FLAG -DIOS_FLAG", "ARCHS='x86_64 i386 arm64 armv7 armv7s' OTHER_CFLAGS='-fembed-bitcode -Qunused-arguments'").returns(nil)
15
+ @builder.send(:compile)
16
+ end
17
+
18
+ it "includes proper compiler flags for OSX" do
19
+ @builder = Builder.new(Platform.new(:osx), @installer, nil, nil, nil, nil, @spec, nil, nil, nil, nil, nil, nil)
20
+ @builder.expects(:xcodebuild).with("GCC_PREPROCESSOR_DEFINITIONS='$(inherited) PodsDummy_Pods_Builder=PodsDummy_PodPackage_Builder' -DBASE_FLAG -DOSX_FLAG", nil).returns(nil)
21
+ @builder.send(:compile)
22
+ end
23
+ end
24
+
25
+ describe 'on build failure' do
26
+ before do
27
+ @spec = Specification.from_file('spec/fixtures/Builder.podspec')
28
+ @installer = stub('Installer', :pod_targets => [])
29
+ @builder = Builder.new(Platform.new(:ios), @installer, nil, nil, nil, nil, @spec, nil, nil, nil, nil, nil, nil)
30
+ end
31
+
32
+ it 'dumps report and terminates' do
33
+ UI::BuildFailedReport.expects(:report).returns(nil)
34
+
35
+ should.raise SystemExit do
36
+ # TODO: check that it dumps report
37
+ @builder.send(:compile)
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,61 @@
1
+ require File.expand_path('../../spec_helper', __FILE__)
2
+
3
+ module Pod
4
+ describe SpecBuilder do
5
+ def compare_attributes(first_spec, second_spec, attribute_name)
6
+ first_spec.attributes_hash[attribute_name].should ==
7
+ second_spec.attributes_hash[attribute_name]
8
+
9
+ %w(ios osx).each do |platform|
10
+ first_spec.attributes_hash[platform][attribute_name].should ==
11
+ second_spec.attributes_hash[platform][attribute_name]
12
+ end
13
+ end
14
+
15
+ def specification_from_builder(builder)
16
+ spec_string = builder.spec_metadata
17
+ spec_string += builder.spec_platform(Platform.ios)
18
+ spec_string += builder.spec_platform(Platform.osx)
19
+ spec_string += builder.spec_close
20
+
21
+ return Specification.from_string(spec_string, 'Builder.podspec')
22
+ end
23
+
24
+ describe 'Preserve attributes from source specification' do
25
+ before do
26
+ @spec = Specification.from_file('spec/fixtures/Builder.podspec')
27
+ @builder = SpecBuilder.new(@spec, nil, false, nil)
28
+ end
29
+
30
+ it "preserves platform.frameworks" do
31
+ spec = specification_from_builder(@builder)
32
+ compare_attributes(spec, @spec, 'frameworks')
33
+ end
34
+
35
+ it "preserves platform.weak_frameworks" do
36
+ spec = specification_from_builder(@builder)
37
+ compare_attributes(spec, @spec, 'weak_frameworks')
38
+ end
39
+
40
+ it "preserves platform.libraries" do
41
+ spec = specification_from_builder(@builder)
42
+ compare_attributes(spec, @spec, 'libraries')
43
+ end
44
+
45
+ it "preserves platform.requires_arc" do
46
+ spec = specification_from_builder(@builder)
47
+ compare_attributes(spec, @spec, 'requires_arc')
48
+ end
49
+
50
+ it "preserves platform.deployment_target" do
51
+ spec = specification_from_builder(@builder)
52
+ compare_attributes(spec, @spec, 'deployment_target')
53
+ end
54
+
55
+ it "preserves platform.xcconfig" do
56
+ spec = specification_from_builder(@builder)
57
+ compare_attributes(spec, @spec, 'xcconfig')
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,11 @@
1
+ require File.expand_path('../../spec_helper', __FILE__)
2
+
3
+ module Pod
4
+ module UserInterface
5
+ describe BuildFailedReport do
6
+ it 'should format a report correctly' do
7
+ UI::BuildFailedReport.report('a', ['b']).should == "Build command failed: a\nOutput:\n b\n"
8
+ end
9
+ end
10
+ end
11
+ end
metadata ADDED
@@ -0,0 +1,222 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cocoapods-packager-boco
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.5.2
5
+ platform: ruby
6
+ authors:
7
+ - Kyle Fuller
8
+ - Boris Bügling
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2018-09-18 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: cocoapods
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: 1.5.3
21
+ - - "<"
22
+ - !ruby/object:Gem::Version
23
+ version: '2.0'
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ version: 1.5.3
31
+ - - "<"
32
+ - !ruby/object:Gem::Version
33
+ version: '2.0'
34
+ - !ruby/object:Gem::Dependency
35
+ name: bundler
36
+ requirement: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.3'
41
+ type: :development
42
+ prerelease: false
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.3'
48
+ - !ruby/object:Gem::Dependency
49
+ name: rake
50
+ requirement: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ type: :development
56
+ prerelease: false
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ description:
63
+ email:
64
+ executables: []
65
+ extensions: []
66
+ extra_rdoc_files: []
67
+ files:
68
+ - ".coveralls.yml"
69
+ - ".gitignore"
70
+ - ".rubocop-cocoapods.yml"
71
+ - ".rubocop.yml"
72
+ - ".travis.yml"
73
+ - Gemfile
74
+ - Gemfile.lock
75
+ - LICENSE
76
+ - README.md
77
+ - Rakefile
78
+ - cocoapods-packager-boco.gemspec
79
+ - lib/cocoapods-packager/builder.rb
80
+ - lib/cocoapods-packager/framework.rb
81
+ - lib/cocoapods-packager/mangle.rb
82
+ - lib/cocoapods-packager/pod_utils.rb
83
+ - lib/cocoapods-packager/spec_builder.rb
84
+ - lib/cocoapods-packager/symbols.rb
85
+ - lib/cocoapods-packager/user_interface/build_failed_report.rb
86
+ - lib/cocoapods_packager.rb
87
+ - lib/cocoapods_plugin.rb
88
+ - lib/pod/command/package.rb
89
+ - scripts/lstconst.sh
90
+ - scripts/lstsym.sh
91
+ - spec/command/error_spec.rb
92
+ - spec/command/package_spec.rb
93
+ - spec/command/subspecs_spec.rb
94
+ - spec/fixtures/Archs.podspec
95
+ - spec/fixtures/Builder.podspec
96
+ - spec/fixtures/CPDColors.podspec
97
+ - spec/fixtures/FH.podspec
98
+ - spec/fixtures/KFData.podspec
99
+ - spec/fixtures/LibraryConsumerDemo/.gitignore
100
+ - spec/fixtures/LibraryConsumerDemo/LibraryConsumer.xcodeproj/project.pbxproj
101
+ - spec/fixtures/LibraryConsumerDemo/LibraryConsumer.xcodeproj/project.xcworkspace/contents.xcworkspacedata
102
+ - spec/fixtures/LibraryConsumerDemo/LibraryConsumer.xcodeproj/xcshareddata/xcschemes/LibraryConsumer.xcscheme
103
+ - spec/fixtures/LibraryConsumerDemo/LibraryConsumer.xcworkspace/contents.xcworkspacedata
104
+ - spec/fixtures/LibraryConsumerDemo/LibraryConsumer/AppDelegate.h
105
+ - spec/fixtures/LibraryConsumerDemo/LibraryConsumer/AppDelegate.m
106
+ - spec/fixtures/LibraryConsumerDemo/LibraryConsumer/Info.plist
107
+ - spec/fixtures/LibraryConsumerDemo/LibraryConsumer/main.m
108
+ - spec/fixtures/LibraryConsumerDemo/Podfile
109
+ - spec/fixtures/LibraryDemo.podspec
110
+ - spec/fixtures/LocalSources/LICENSE
111
+ - spec/fixtures/LocalSources/LocalNikeKit.h
112
+ - spec/fixtures/LocalSources/LocalNikeKit.m
113
+ - spec/fixtures/LocalSources/LocalNikeKit.podspec
114
+ - spec/fixtures/NikeKit.podspec
115
+ - spec/fixtures/OpenSans.podspec
116
+ - spec/fixtures/PackagerTest/.gitignore
117
+ - spec/fixtures/PackagerTest/PackagerTest.xcodeproj/project.pbxproj
118
+ - spec/fixtures/PackagerTest/PackagerTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata
119
+ - spec/fixtures/PackagerTest/PackagerTest.xcodeproj/xcshareddata/xcschemes/PackagerTest.xcscheme
120
+ - spec/fixtures/PackagerTest/PackagerTest.xcworkspace/contents.xcworkspacedata
121
+ - spec/fixtures/PackagerTest/PackagerTest/CPDAppDelegate.h
122
+ - spec/fixtures/PackagerTest/PackagerTest/CPDAppDelegate.m
123
+ - spec/fixtures/PackagerTest/PackagerTest/Images.xcassets/AppIcon.appiconset/Contents.json
124
+ - spec/fixtures/PackagerTest/PackagerTest/Images.xcassets/LaunchImage.launchimage/Contents.json
125
+ - spec/fixtures/PackagerTest/PackagerTest/PackagerTest-Info.plist
126
+ - spec/fixtures/PackagerTest/PackagerTest/PackagerTest-Prefix.pch
127
+ - spec/fixtures/PackagerTest/PackagerTest/en.lproj/InfoPlist.strings
128
+ - spec/fixtures/PackagerTest/PackagerTest/main.m
129
+ - spec/fixtures/PackagerTest/PackagerTestTests/PackagerTestTests-Info.plist
130
+ - spec/fixtures/PackagerTest/PackagerTestTests/PackagerTestTests.m
131
+ - spec/fixtures/PackagerTest/PackagerTestTests/en.lproj/InfoPlist.strings
132
+ - spec/fixtures/PackagerTest/Podfile
133
+ - spec/fixtures/PackagerTest/Podfile.lock
134
+ - spec/fixtures/Weakly.podspec
135
+ - spec/fixtures/a.podspec
136
+ - spec/fixtures/foo-bar.podspec
137
+ - spec/fixtures/layer-client-messaging-schema.podspec
138
+ - spec/integration/project_spec.rb
139
+ - spec/pod/utils_spec.rb
140
+ - spec/spec_helper.rb
141
+ - spec/specification/builder_spec.rb
142
+ - spec/specification/spec_builder_spec.rb
143
+ - spec/user_interface/build_failed_report_spec.rb
144
+ homepage: https://github.com/CocoaPods/cocoapods-packager
145
+ licenses:
146
+ - MIT
147
+ metadata: {}
148
+ post_install_message:
149
+ rdoc_options: []
150
+ require_paths:
151
+ - lib
152
+ required_ruby_version: !ruby/object:Gem::Requirement
153
+ requirements:
154
+ - - ">="
155
+ - !ruby/object:Gem::Version
156
+ version: '0'
157
+ required_rubygems_version: !ruby/object:Gem::Requirement
158
+ requirements:
159
+ - - ">="
160
+ - !ruby/object:Gem::Version
161
+ version: '0'
162
+ requirements: []
163
+ rubyforge_project:
164
+ rubygems_version: 2.5.2.3
165
+ signing_key:
166
+ specification_version: 4
167
+ summary: CocoaPods plugin which allows you to generate a framework or static library
168
+ from a podspec.
169
+ test_files:
170
+ - spec/command/error_spec.rb
171
+ - spec/command/package_spec.rb
172
+ - spec/command/subspecs_spec.rb
173
+ - spec/fixtures/Archs.podspec
174
+ - spec/fixtures/Builder.podspec
175
+ - spec/fixtures/CPDColors.podspec
176
+ - spec/fixtures/FH.podspec
177
+ - spec/fixtures/KFData.podspec
178
+ - spec/fixtures/LibraryConsumerDemo/.gitignore
179
+ - spec/fixtures/LibraryConsumerDemo/LibraryConsumer.xcodeproj/project.pbxproj
180
+ - spec/fixtures/LibraryConsumerDemo/LibraryConsumer.xcodeproj/project.xcworkspace/contents.xcworkspacedata
181
+ - spec/fixtures/LibraryConsumerDemo/LibraryConsumer.xcodeproj/xcshareddata/xcschemes/LibraryConsumer.xcscheme
182
+ - spec/fixtures/LibraryConsumerDemo/LibraryConsumer.xcworkspace/contents.xcworkspacedata
183
+ - spec/fixtures/LibraryConsumerDemo/LibraryConsumer/AppDelegate.h
184
+ - spec/fixtures/LibraryConsumerDemo/LibraryConsumer/AppDelegate.m
185
+ - spec/fixtures/LibraryConsumerDemo/LibraryConsumer/Info.plist
186
+ - spec/fixtures/LibraryConsumerDemo/LibraryConsumer/main.m
187
+ - spec/fixtures/LibraryConsumerDemo/Podfile
188
+ - spec/fixtures/LibraryDemo.podspec
189
+ - spec/fixtures/LocalSources/LICENSE
190
+ - spec/fixtures/LocalSources/LocalNikeKit.h
191
+ - spec/fixtures/LocalSources/LocalNikeKit.m
192
+ - spec/fixtures/LocalSources/LocalNikeKit.podspec
193
+ - spec/fixtures/NikeKit.podspec
194
+ - spec/fixtures/OpenSans.podspec
195
+ - spec/fixtures/PackagerTest/.gitignore
196
+ - spec/fixtures/PackagerTest/PackagerTest.xcodeproj/project.pbxproj
197
+ - spec/fixtures/PackagerTest/PackagerTest.xcodeproj/project.xcworkspace/contents.xcworkspacedata
198
+ - spec/fixtures/PackagerTest/PackagerTest.xcodeproj/xcshareddata/xcschemes/PackagerTest.xcscheme
199
+ - spec/fixtures/PackagerTest/PackagerTest.xcworkspace/contents.xcworkspacedata
200
+ - spec/fixtures/PackagerTest/PackagerTest/CPDAppDelegate.h
201
+ - spec/fixtures/PackagerTest/PackagerTest/CPDAppDelegate.m
202
+ - spec/fixtures/PackagerTest/PackagerTest/Images.xcassets/AppIcon.appiconset/Contents.json
203
+ - spec/fixtures/PackagerTest/PackagerTest/Images.xcassets/LaunchImage.launchimage/Contents.json
204
+ - spec/fixtures/PackagerTest/PackagerTest/PackagerTest-Info.plist
205
+ - spec/fixtures/PackagerTest/PackagerTest/PackagerTest-Prefix.pch
206
+ - spec/fixtures/PackagerTest/PackagerTest/en.lproj/InfoPlist.strings
207
+ - spec/fixtures/PackagerTest/PackagerTest/main.m
208
+ - spec/fixtures/PackagerTest/PackagerTestTests/PackagerTestTests-Info.plist
209
+ - spec/fixtures/PackagerTest/PackagerTestTests/PackagerTestTests.m
210
+ - spec/fixtures/PackagerTest/PackagerTestTests/en.lproj/InfoPlist.strings
211
+ - spec/fixtures/PackagerTest/Podfile
212
+ - spec/fixtures/PackagerTest/Podfile.lock
213
+ - spec/fixtures/Weakly.podspec
214
+ - spec/fixtures/a.podspec
215
+ - spec/fixtures/foo-bar.podspec
216
+ - spec/fixtures/layer-client-messaging-schema.podspec
217
+ - spec/integration/project_spec.rb
218
+ - spec/pod/utils_spec.rb
219
+ - spec/spec_helper.rb
220
+ - spec/specification/builder_spec.rb
221
+ - spec/specification/spec_builder_spec.rb
222
+ - spec/user_interface/build_failed_report_spec.rb