cocoapods-framework-tj 0.0.1 → 0.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bef056edb5ca6a35b70885b33b3fce211ccc9d0a3d53d24c0699b35f2d02d5e7
4
- data.tar.gz: 7de5b79d314ef0baa741c1eb18b3742df925a69f80bf5ed5b05d27ea9c892ab2
3
+ metadata.gz: 6fa1c4030d9894d2efbef086c08bd44536e1a6fc8e257cf236722fc78263f3f0
4
+ data.tar.gz: 87016ac391fc297eb0f47330a195ea01a0bb9a25721a51959d2b783391127b3a
5
5
  SHA512:
6
- metadata.gz: 0d1ab249ea50dc2072c9fc970856c365fb241d02a9de9fda155c8dc07ba0141533178def950769bd9d4e24039fee8eda1814b664d13e0bbe975948570075c972
7
- data.tar.gz: 42e9ae4a6f72da66efd63cd13d0f015ea1593fdb7674396801a7b9a517168518e5c59f7a33145ed0410d344a6ee4a9a1d8a4a4b1f0aace474f0e2f5d1e8849bf
6
+ metadata.gz: 18674f28cde047fc2b9318e3d27085e0af7c48ce7fee9e9a4ca111dbbf42fbf1518d2d5e377c6175a024c6b6331f39f8962db1658506811bdb2272d986fc24cd
7
+ data.tar.gz: 8731d7b898685ddc7dfe04caeae4d1e382e55bbf177fc6684e17d3f0090eaf2f8d03a5c21a39ac9818e863d0e226152873672ae9658336f665c81cbb97713d9e
data/Example/Gemfile ADDED
@@ -0,0 +1,11 @@
1
+ source "https://rubygems.org"
2
+ gem "fastlane"
3
+ gem "cocoapods", '1.10.0'
4
+ gem 'rest-client', '2.1.0'
5
+ gem 'mail', '2.7.1'
6
+ gem 'json', '2.3.1'
7
+ gem 'Martin', :path => '/Users/daiyichao/Desktop/work/martin/martin-ruby'
8
+ gem 'ipa_analyzer', :git=>'ssh://git@g.hz.netease.com:22222/cloudmusic-ruby/ipa_analyzer.git'
9
+ gem 'cocoapods-codegen', :git=>'ssh://git@g.hz.netease.com:22222/cloudmusic-ruby/cocoapods-codegen.git'
10
+ gem 'cocoapods-xcframework',:path=>'/Users/daiyichao/Desktop/work/cocoapods-framework'
11
+ gem 'ffi', '1.14.2'
@@ -0,0 +1,331 @@
1
+ PATH
2
+ remote: /Users/daiyichao/Desktop/work/cocoapods-framework
3
+ specs:
4
+ cocoapods-xcframework (0.1.0)
5
+ cocoapods (>= 1.10.0, < 2.0)
6
+
7
+ PATH
8
+ remote: /Users/daiyichao/Desktop/work/martin/martin-ruby
9
+ specs:
10
+ Martin (3.0.0)
11
+ cocoapods (= 1.10.0)
12
+ cocoapods-xcframework
13
+ fastlane
14
+ json (~> 2.1)
15
+ rest-client
16
+ rqrcode
17
+ rubyzip
18
+ xcodeproj
19
+
20
+ GIT
21
+ remote: ssh://git@g.hz.netease.com:22222/cloudmusic-ruby/cocoapods-codegen.git
22
+ revision: f330a2e222e1a9dcca593289ea496466d4681a79
23
+ specs:
24
+ cocoapods-codegen (0.1.3)
25
+ cocoapods
26
+ colored
27
+ xcodeproj
28
+
29
+ GIT
30
+ remote: ssh://git@g.hz.netease.com:22222/cloudmusic-ruby/ipa_analyzer.git
31
+ revision: ca854fa0763fa2ce90c283a56d381350b1ab75bf
32
+ specs:
33
+ ipa_analyzer (0.1.0)
34
+ plist (~> 3.1, >= 3.1.0)
35
+ rubyzip
36
+
37
+ GEM
38
+ remote: https://rubygems.org/
39
+ specs:
40
+ CFPropertyList (3.0.3)
41
+ activesupport (5.2.5)
42
+ concurrent-ruby (~> 1.0, >= 1.0.2)
43
+ i18n (>= 0.7, < 2)
44
+ minitest (~> 5.1)
45
+ tzinfo (~> 1.1)
46
+ addressable (2.7.0)
47
+ public_suffix (>= 2.0.2, < 5.0)
48
+ algoliasearch (1.27.5)
49
+ httpclient (~> 2.8, >= 2.8.3)
50
+ json (>= 1.5.1)
51
+ artifactory (3.0.15)
52
+ atomos (0.1.3)
53
+ aws-eventstream (1.1.1)
54
+ aws-partitions (1.446.0)
55
+ aws-sdk-core (3.114.0)
56
+ aws-eventstream (~> 1, >= 1.0.2)
57
+ aws-partitions (~> 1, >= 1.239.0)
58
+ aws-sigv4 (~> 1.1)
59
+ jmespath (~> 1.0)
60
+ aws-sdk-kms (1.43.0)
61
+ aws-sdk-core (~> 3, >= 3.112.0)
62
+ aws-sigv4 (~> 1.1)
63
+ aws-sdk-s3 (1.93.1)
64
+ aws-sdk-core (~> 3, >= 3.112.0)
65
+ aws-sdk-kms (~> 1)
66
+ aws-sigv4 (~> 1.1)
67
+ aws-sigv4 (1.2.3)
68
+ aws-eventstream (~> 1, >= 1.0.2)
69
+ babosa (1.0.4)
70
+ chunky_png (1.4.0)
71
+ claide (1.0.3)
72
+ cocoapods (1.10.0)
73
+ addressable (~> 2.6)
74
+ claide (>= 1.0.2, < 2.0)
75
+ cocoapods-core (= 1.10.0)
76
+ cocoapods-deintegrate (>= 1.0.3, < 2.0)
77
+ cocoapods-downloader (>= 1.4.0, < 2.0)
78
+ cocoapods-plugins (>= 1.0.0, < 2.0)
79
+ cocoapods-search (>= 1.0.0, < 2.0)
80
+ cocoapods-trunk (>= 1.4.0, < 2.0)
81
+ cocoapods-try (>= 1.1.0, < 2.0)
82
+ colored2 (~> 3.1)
83
+ escape (~> 0.0.4)
84
+ fourflusher (>= 2.3.0, < 3.0)
85
+ gh_inspector (~> 1.0)
86
+ molinillo (~> 0.6.6)
87
+ nap (~> 1.0)
88
+ ruby-macho (~> 1.4)
89
+ xcodeproj (>= 1.19.0, < 2.0)
90
+ cocoapods-core (1.10.0)
91
+ activesupport (> 5.0, < 6)
92
+ addressable (~> 2.6)
93
+ algoliasearch (~> 1.0)
94
+ concurrent-ruby (~> 1.1)
95
+ fuzzy_match (~> 2.0.4)
96
+ nap (~> 1.0)
97
+ netrc (~> 0.11)
98
+ public_suffix
99
+ typhoeus (~> 1.0)
100
+ cocoapods-deintegrate (1.0.4)
101
+ cocoapods-downloader (1.4.0)
102
+ cocoapods-plugins (1.0.0)
103
+ nap
104
+ cocoapods-search (1.0.0)
105
+ cocoapods-trunk (1.5.0)
106
+ nap (>= 0.8, < 2.0)
107
+ netrc (~> 0.11)
108
+ cocoapods-try (1.2.0)
109
+ colored (1.2)
110
+ colored2 (3.1.2)
111
+ commander-fastlane (4.4.6)
112
+ highline (~> 1.7.2)
113
+ concurrent-ruby (1.1.8)
114
+ declarative (0.0.20)
115
+ digest-crc (0.6.3)
116
+ rake (>= 12.0.0, < 14.0.0)
117
+ domain_name (0.5.20190701)
118
+ unf (>= 0.0.5, < 1.0.0)
119
+ dotenv (2.7.6)
120
+ emoji_regex (3.2.2)
121
+ escape (0.0.4)
122
+ ethon (0.12.0)
123
+ ffi (>= 1.3.0)
124
+ excon (0.80.1)
125
+ faraday (1.4.1)
126
+ faraday-excon (~> 1.1)
127
+ faraday-net_http (~> 1.0)
128
+ faraday-net_http_persistent (~> 1.1)
129
+ multipart-post (>= 1.2, < 3)
130
+ ruby2_keywords (>= 0.0.4)
131
+ faraday-cookie_jar (0.0.7)
132
+ faraday (>= 0.8.0)
133
+ http-cookie (~> 1.0.0)
134
+ faraday-excon (1.1.0)
135
+ faraday-net_http (1.0.1)
136
+ faraday-net_http_persistent (1.1.0)
137
+ faraday_middleware (1.0.0)
138
+ faraday (~> 1.0)
139
+ fastimage (2.2.3)
140
+ fastlane (2.181.0)
141
+ CFPropertyList (>= 2.3, < 4.0.0)
142
+ addressable (>= 2.3, < 3.0.0)
143
+ artifactory (~> 3.0)
144
+ aws-sdk-s3 (~> 1.0)
145
+ babosa (>= 1.0.3, < 2.0.0)
146
+ bundler (>= 1.12.0, < 3.0.0)
147
+ colored
148
+ commander-fastlane (>= 4.4.6, < 5.0.0)
149
+ dotenv (>= 2.1.1, < 3.0.0)
150
+ emoji_regex (>= 0.1, < 4.0)
151
+ excon (>= 0.71.0, < 1.0.0)
152
+ faraday (~> 1.0)
153
+ faraday-cookie_jar (~> 0.0.6)
154
+ faraday_middleware (~> 1.0)
155
+ fastimage (>= 2.1.0, < 3.0.0)
156
+ gh_inspector (>= 1.1.2, < 2.0.0)
157
+ google-api-client (>= 0.37.0, < 0.39.0)
158
+ google-cloud-storage (>= 1.15.0, < 2.0.0)
159
+ highline (>= 1.7.2, < 2.0.0)
160
+ json (< 3.0.0)
161
+ jwt (>= 2.1.0, < 3)
162
+ mini_magick (>= 4.9.4, < 5.0.0)
163
+ multipart-post (~> 2.0.0)
164
+ naturally (~> 2.2)
165
+ plist (>= 3.1.0, < 4.0.0)
166
+ rubyzip (>= 2.0.0, < 3.0.0)
167
+ security (= 0.1.3)
168
+ simctl (~> 1.6.3)
169
+ slack-notifier (>= 2.0.0, < 3.0.0)
170
+ terminal-notifier (>= 2.0.0, < 3.0.0)
171
+ terminal-table (>= 1.4.5, < 2.0.0)
172
+ tty-screen (>= 0.6.3, < 1.0.0)
173
+ tty-spinner (>= 0.8.0, < 1.0.0)
174
+ word_wrap (~> 1.0.0)
175
+ xcodeproj (>= 1.13.0, < 2.0.0)
176
+ xcpretty (~> 0.3.0)
177
+ xcpretty-travis-formatter (>= 0.0.3)
178
+ ffi (1.14.2)
179
+ fourflusher (2.3.1)
180
+ fuzzy_match (2.0.4)
181
+ gh_inspector (1.1.3)
182
+ google-api-client (0.38.0)
183
+ addressable (~> 2.5, >= 2.5.1)
184
+ googleauth (~> 0.9)
185
+ httpclient (>= 2.8.1, < 3.0)
186
+ mini_mime (~> 1.0)
187
+ representable (~> 3.0)
188
+ retriable (>= 2.0, < 4.0)
189
+ signet (~> 0.12)
190
+ google-apis-core (0.3.0)
191
+ addressable (~> 2.5, >= 2.5.1)
192
+ googleauth (~> 0.14)
193
+ httpclient (>= 2.8.1, < 3.0)
194
+ mini_mime (~> 1.0)
195
+ representable (~> 3.0)
196
+ retriable (>= 2.0, < 4.0)
197
+ rexml
198
+ signet (~> 0.14)
199
+ webrick
200
+ google-apis-iamcredentials_v1 (0.3.0)
201
+ google-apis-core (~> 0.1)
202
+ google-apis-storage_v1 (0.3.0)
203
+ google-apis-core (~> 0.1)
204
+ google-cloud-core (1.6.0)
205
+ google-cloud-env (~> 1.0)
206
+ google-cloud-errors (~> 1.0)
207
+ google-cloud-env (1.5.0)
208
+ faraday (>= 0.17.3, < 2.0)
209
+ google-cloud-errors (1.1.0)
210
+ google-cloud-storage (1.31.0)
211
+ addressable (~> 2.5)
212
+ digest-crc (~> 0.4)
213
+ google-apis-iamcredentials_v1 (~> 0.1)
214
+ google-apis-storage_v1 (~> 0.1)
215
+ google-cloud-core (~> 1.2)
216
+ googleauth (~> 0.9)
217
+ mini_mime (~> 1.0)
218
+ googleauth (0.16.1)
219
+ faraday (>= 0.17.3, < 2.0)
220
+ jwt (>= 1.4, < 3.0)
221
+ memoist (~> 0.16)
222
+ multi_json (~> 1.11)
223
+ os (>= 0.9, < 2.0)
224
+ signet (~> 0.14)
225
+ highline (1.7.10)
226
+ http-accept (1.7.0)
227
+ http-cookie (1.0.3)
228
+ domain_name (~> 0.5)
229
+ httpclient (2.8.3)
230
+ i18n (1.8.10)
231
+ concurrent-ruby (~> 1.0)
232
+ jmespath (1.4.0)
233
+ json (2.3.1)
234
+ jwt (2.2.3)
235
+ mail (2.7.1)
236
+ mini_mime (>= 0.1.1)
237
+ memoist (0.16.2)
238
+ mime-types (3.3.1)
239
+ mime-types-data (~> 3.2015)
240
+ mime-types-data (3.2021.0225)
241
+ mini_magick (4.11.0)
242
+ mini_mime (1.1.0)
243
+ minitest (5.14.4)
244
+ molinillo (0.6.6)
245
+ multi_json (1.15.0)
246
+ multipart-post (2.0.0)
247
+ nanaimo (0.3.0)
248
+ nap (1.1.0)
249
+ naturally (2.2.1)
250
+ netrc (0.11.0)
251
+ os (1.1.1)
252
+ plist (3.6.0)
253
+ public_suffix (4.0.6)
254
+ rake (13.0.3)
255
+ representable (3.1.1)
256
+ declarative (< 0.1.0)
257
+ trailblazer-option (>= 0.1.1, < 0.2.0)
258
+ uber (< 0.2.0)
259
+ rest-client (2.1.0)
260
+ http-accept (>= 1.7.0, < 2.0)
261
+ http-cookie (>= 1.0.2, < 2.0)
262
+ mime-types (>= 1.16, < 4.0)
263
+ netrc (~> 0.8)
264
+ retriable (3.1.2)
265
+ rexml (3.2.5)
266
+ rouge (2.0.7)
267
+ rqrcode (1.2.0)
268
+ chunky_png (~> 1.0)
269
+ rqrcode_core (~> 0.2)
270
+ rqrcode_core (0.2.0)
271
+ ruby-macho (1.4.0)
272
+ ruby2_keywords (0.0.4)
273
+ rubyzip (2.3.0)
274
+ security (0.1.3)
275
+ signet (0.15.0)
276
+ addressable (~> 2.3)
277
+ faraday (>= 0.17.3, < 2.0)
278
+ jwt (>= 1.5, < 3.0)
279
+ multi_json (~> 1.10)
280
+ simctl (1.6.8)
281
+ CFPropertyList
282
+ naturally
283
+ slack-notifier (2.3.2)
284
+ terminal-notifier (2.0.0)
285
+ terminal-table (1.8.0)
286
+ unicode-display_width (~> 1.1, >= 1.1.1)
287
+ thread_safe (0.3.6)
288
+ trailblazer-option (0.1.1)
289
+ tty-cursor (0.7.1)
290
+ tty-screen (0.8.1)
291
+ tty-spinner (0.9.3)
292
+ tty-cursor (~> 0.7)
293
+ typhoeus (1.4.0)
294
+ ethon (>= 0.9.0)
295
+ tzinfo (1.2.9)
296
+ thread_safe (~> 0.1)
297
+ uber (0.1.0)
298
+ unf (0.1.4)
299
+ unf_ext
300
+ unf_ext (0.0.7.7)
301
+ unicode-display_width (1.7.0)
302
+ webrick (1.7.0)
303
+ word_wrap (1.0.0)
304
+ xcodeproj (1.19.0)
305
+ CFPropertyList (>= 2.3.3, < 4.0)
306
+ atomos (~> 0.1.3)
307
+ claide (>= 1.0.2, < 2.0)
308
+ colored2 (~> 3.1)
309
+ nanaimo (~> 0.3.0)
310
+ xcpretty (0.3.0)
311
+ rouge (~> 2.0.7)
312
+ xcpretty-travis-formatter (1.0.1)
313
+ xcpretty (~> 0.2, >= 0.0.7)
314
+
315
+ PLATFORMS
316
+ ruby
317
+
318
+ DEPENDENCIES
319
+ Martin!
320
+ cocoapods (= 1.10.0)
321
+ cocoapods-codegen!
322
+ cocoapods-xcframework!
323
+ fastlane
324
+ ffi (= 1.14.2)
325
+ ipa_analyzer!
326
+ json (= 2.3.1)
327
+ mail (= 2.7.1)
328
+ rest-client (= 2.1.0)
329
+
330
+ BUNDLED WITH
331
+ 2.1.4
@@ -0,0 +1,7 @@
1
+ [
2
+ {
3
+ "name": "NKOpusModule",
4
+ "git_url": "ssh://git@g.hz.netease.com:22222/cloudmusic-ios/NKOpusModule.git",
5
+ "git_branch" : "feature/ktvroom"
6
+ }
7
+ ]
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2021 song <1173742025@qq.com>
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile ADDED
@@ -0,0 +1,13 @@
1
+ require 'bundler/gem_tasks'
2
+
3
+ def specs(dir)
4
+ FileList["spec/#{dir}/*_spec.rb"].shuffle.join(' ')
5
+ end
6
+
7
+ desc 'Runs all the specs'
8
+ task :specs do
9
+ sh "bundle exec bacon #{specs('**')}"
10
+ end
11
+
12
+ task :default => :specs
13
+
@@ -0,0 +1,24 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'cocoapods-framework/gem_version.rb'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'cocoapods-framework-tj'
8
+ spec.version = CocoapodsFramework::VERSION
9
+ spec.authors = ['song']
10
+ spec.email = ['1173742025@qq.com']
11
+ spec.description = %q{A short description of cocoapods-framework-tj.}
12
+ spec.summary = %q{A short description of cocoapods-framework-tj.}
13
+ spec.homepage = 'https://github.com/songpanfei/cocoapods-framework-tj'
14
+ spec.license = 'MIT'
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ['lib']
20
+ spec.add_dependency "cocoapods", '>= 1.10.0', '< 2.0'
21
+
22
+ spec.add_development_dependency 'bundler', '~> 1.3'
23
+ spec.add_development_dependency 'rake'
24
+ end
@@ -0,0 +1,66 @@
1
+ module Pod
2
+ class Command
3
+ # This is an example of a cocoapods plugin adding a top-level subcommand
4
+ # to the 'pod' command.
5
+ #
6
+ # You can also create subcommands of existing or new commands. Say you
7
+ # wanted to add a subcommand to `list` to show newly deprecated pods,
8
+ # (e.g. `pod list deprecated`), there are a few things that would need
9
+ # to change.
10
+ #
11
+ # - move this file to `lib/pod/command/list/deprecated.rb` and update
12
+ # the class to exist in the the Pod::Command::List namespace
13
+ # - change this class to extend from `List` instead of `Command`. This
14
+ # tells the plugin system that it is a subcommand of `list`.
15
+ # - edit `lib/cocoapods_plugins.rb` to require this file
16
+ #
17
+ # @todo Create a PR to add your plugin to CocoaPods/cocoapods.org
18
+ # in the `plugins.json` file, once your plugin is released.
19
+ #
20
+ class Framework < Command
21
+ self.summary = 'Package a podspec into a xcframework.'
22
+ self.arguments = [
23
+ CLAide::Argument.new('NAME', true),
24
+ CLAide::Argument.new('SOURCE', false)
25
+ ]
26
+ include Config::Mixin
27
+
28
+ def self.options
29
+ [
30
+ ['--no-force', 'Overwrite existing files.'],
31
+ ['--configuration', 'Build the specified configuration (e.g. Debug). Defaults to Release'],
32
+ ['--spec-sources=private,https://github.com/CocoaPods/Specs.git', 'The sources to pull dependent pods from (defaults to https://github.com/CocoaPods/Specs.git)'],
33
+ ['--subspecs', 'Only include the given subspecs'],
34
+ ['--use-modular-headers', 'pakcage uses modular headers during packaging'],
35
+ ['--no-static-library', 'package not use static library'],
36
+ ['--enable-bitcode', 'package enable bitcode']
37
+ ].concat super
38
+ end
39
+
40
+ def initialize(argv)
41
+ @name = argv.shift_argument
42
+ @source = argv.shift_argument
43
+ @spec_sources = argv.option('spec-sources', 'https://github.com/CocoaPods/Specs.git').split(',')
44
+ subspecs = argv.option('subspecs')
45
+ @subspecs = subspecs.split(',') unless subspecs.nil?
46
+ @configuration = argv.option('configuration', 'Release')
47
+ @use_modular_headers = argv.option('use-modular-headers', true)
48
+ @force = argv.flag?('force', true)
49
+ @use_static_library = argv.flag?('static-library',true)
50
+ @enable_bitcode = argv.flag?('enable-bitcode',false)
51
+ config.static_library_enable = @use_static_library
52
+ super
53
+ end
54
+
55
+ def validate!
56
+ super
57
+ help! 'A Pod name is required.' unless @name
58
+ end
59
+
60
+ def run
61
+ frameworker = Frameworker.new(@name, @source, @spec_sources, @subspecs, @configuration, @force, @use_modular_headers, @enable_bitcode)
62
+ frameworker.run
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,61 @@
1
+ module Pod
2
+ class Command
3
+ # This is an example of a cocoapods plugin adding a top-level subcommand
4
+ # to the 'pod' command.
5
+ #
6
+ # You can also create subcommands of existing or new commands. Say you
7
+ # wanted to add a subcommand to `list` to show newly deprecated pods,
8
+ # (e.g. `pod list deprecated`), there are a few things that would need
9
+ # to change.
10
+ #
11
+ # - move this file to `lib/pod/command/list/deprecated.rb` and update
12
+ # the class to exist in the the Pod::Command::List namespace
13
+ # - change this class to extend from `List` instead of `Command`. This
14
+ # tells the plugin system that it is a subcommand of `list`.
15
+ # - edit `lib/cocoapods_plugins.rb` to require this file
16
+ #
17
+ # @todo Create a PR to add your plugin to CocoaPods/cocoapods.org
18
+ # in the `plugins.json` file, once your plugin is released.
19
+ #
20
+ class MutiFramework < Command
21
+ self.summary = 'Package some podspec into a xcframework.'
22
+ self.arguments = [
23
+ CLAide::Argument.new('NAME', true),
24
+ CLAide::Argument.new('SOURCE', false)
25
+ ]
26
+ include Config::Mixin
27
+
28
+ def self.options
29
+ [
30
+ ['--no-force', 'Overwrite existing files.'],
31
+ ['--configuration', 'Build the specified configuration (e.g. Debug). Defaults to Release'],
32
+ ['--spec-sources=private,https://github.com/CocoaPods/Specs.git', 'The sources to pull dependent pods from (defaults to https://github.com/CocoaPods/Specs.git)'],
33
+ ['--use-modular-headers', 'pakcage uses modular headers during packaging'],
34
+ ['--no-static-library', 'package not use static library']
35
+ ].concat super
36
+ end
37
+
38
+ def initialize(argv)
39
+ @name = argv.shift_argument
40
+ @source = argv.shift_argument
41
+ @spec_sources = argv.option('spec-sources', 'https://github.com/CocoaPods/Specs.git').split(',')
42
+ @configuration = argv.option('configuration', 'Release')
43
+ @use_modular_headers = argv.option('use-modular-headers', true)
44
+ @force = argv.flag?('force', true)
45
+ @use_static_library = argv.flag?('static-library', true)
46
+ config.static_library_enable = @use_static_library
47
+ super
48
+ end
49
+
50
+ def validate!
51
+ super
52
+ help! 'A file written some pods need package is needed' unless @name
53
+ end
54
+
55
+ def run
56
+ frameworker = MutiFrameworker.new(@name, @source, @spec_sources, @configuration, @force, @use_modular_headers)
57
+ frameworker.run
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,2 @@
1
+ require 'cocoapods-framework/command/framework'
2
+ require 'cocoapods-framework/command/muti_framework'
@@ -0,0 +1,8 @@
1
+ module Pod
2
+ class Config
3
+ attr_accessor :xcframework_enable
4
+ alias_method :xcframework_enable?, :xcframework_enable
5
+ attr_accessor :static_library_enable
6
+ alias_method :static_library_enable?, :static_library_enable
7
+ end
8
+ end
@@ -0,0 +1,68 @@
1
+ module Pod
2
+ class Frameworker
3
+ include PodUtil
4
+ include DirUtil
5
+ include Config::Mixin
6
+ def initialize(name, source, spec_sources, subspecs, configuration, force, use_modular_headers, enable_bitcode)
7
+ @name = name
8
+ @source = source
9
+ @spec_sources = spec_sources
10
+ @subspecs = subspecs
11
+ @configuration = configuration
12
+ @force = force
13
+ @use_modular_headers = use_modular_headers
14
+ @enable_bitcode = enable_bitcode
15
+ end
16
+
17
+ def run
18
+ spec = spec_with_path @name
19
+ @is_spec_from_path = true if spec
20
+ spec ||= spec_with_name @name
21
+
22
+ target_dir, work_dir = create_working_directory_by_spec spec, @force
23
+ build_framework spec, work_dir, target_dir
24
+ end
25
+
26
+ def build_framework spec, work_dir, target_dir
27
+ build_in_sandbox(work_dir, spec, target_dir)
28
+ end
29
+
30
+ def build_in_sandbox work_dir, spec, target_dir
31
+ config.installation_root = Pathname.new work_dir
32
+ config.sandbox_root = "#{work_dir}/Pods"
33
+ sandbox = build_static_sandbox
34
+
35
+ sandbox_installer = installation_root(
36
+ sandbox,
37
+ spec,
38
+ @subspecs,
39
+ @spec_sources,
40
+ true,
41
+ @use_modular_headers,
42
+ @enable_bitcode
43
+ )
44
+
45
+ perform_build(
46
+ sandbox,
47
+ sandbox_installer,
48
+ spec,
49
+ target_dir
50
+ )
51
+ end
52
+
53
+ # def perform_build platform, sandbox, installer, spec
54
+ def perform_build sandbox, installer, spec, target_dir
55
+ sandbox_root = config.sandbox_root.to_s
56
+ builder = Pod::XBuilder.new(
57
+ installer,
58
+ Dir.pwd,
59
+ sandbox_root,
60
+ spec,
61
+ @configuration
62
+ )
63
+ builder.build
64
+ builder.outputs target_dir
65
+ target_dir
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,3 @@
1
+ module CocoapodsFramework
2
+ VERSION = "0.0.3"
3
+ end