cocoapods-framework-tj 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bef056edb5ca6a35b70885b33b3fce211ccc9d0a3d53d24c0699b35f2d02d5e7
4
- data.tar.gz: 7de5b79d314ef0baa741c1eb18b3742df925a69f80bf5ed5b05d27ea9c892ab2
3
+ metadata.gz: db4fa77e99be564b90e408b414f41f7039bd37d7e7632412c72a874ba824081e
4
+ data.tar.gz: '0691f362dc2b0e48ef2e8b98ca62b0b4f00811100523e6c3607a33a234dcbf8f'
5
5
  SHA512:
6
- metadata.gz: 0d1ab249ea50dc2072c9fc970856c365fb241d02a9de9fda155c8dc07ba0141533178def950769bd9d4e24039fee8eda1814b664d13e0bbe975948570075c972
7
- data.tar.gz: 42e9ae4a6f72da66efd63cd13d0f015ea1593fdb7674396801a7b9a517168518e5c59f7a33145ed0410d344a6ee4a9a1d8a4a4b1f0aace474f0e2f5d1e8849bf
6
+ metadata.gz: 6b16a7ade42c86e404cd99432f10d8eb436af37c5cdbe44cfb9b239fd130f80a62687c0dc4b09c1993315855c135f9c646949c4537c0662eecb695d437e6fb6e
7
+ data.tar.gz: ae724a9b2d0598282b28ff30b35e1e49010e7bf2356af60062daa3d2397357c50bb715dedd6a7772aef91e21f7e24f686538e21d08797542b3f709da90d1f77e
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.2"
3
+ end