cocoapods-xccache 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/cocoapods-xccache/command/xccache.rb +60 -0
- data/lib/cocoapods-xccache/command/xcextract.rb +51 -0
- data/lib/cocoapods-xccache/command/xcprepare.rb +69 -0
- data/lib/cocoapods-xccache/command/xcprintenv.rb +60 -0
- data/lib/cocoapods-xccache/command.rb +4 -0
- data/lib/cocoapods-xccache/core/zabel.rb +1047 -0
- data/lib/cocoapods-xccache/gem_version.rb +4 -0
- data/lib/cocoapods-xccache.rb +1 -0
- data/lib/cocoapods_plugin.rb +19 -0
- metadata +94 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 325cc87a11da8b5f06044214944c22c20c67545678982c517c178fb8da6f0441
|
4
|
+
data.tar.gz: 59f1d145671817b473fcbde7b6a9686d9ad8dfef99a7435f267d896a36e6bf25
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: eaf3002c35757de8f074d248b48a9bb82171c9db2a158b429fa613cfe4a65b3106661bac1455a18db9cc76821cf3cf250547a278c602e27974363a3d39bf4d63
|
7
|
+
data.tar.gz: 1ceebcf23b418e6ce7bd8ff21bb982840fec18df645bc42c4f7d9eda017b7cf7dd5b0297a56f65fb2dff1d914b5499c1ee12cd8ee01be0aed8a1dc54acf0f70a
|
@@ -0,0 +1,60 @@
|
|
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 Xccache < Command
|
21
|
+
self.summary = '基于Xcode cache的缓存插件之缓存'
|
22
|
+
|
23
|
+
# 参数设置 https://juejin.cn/post/7005979638904127518
|
24
|
+
|
25
|
+
self.description = <<-DESC
|
26
|
+
一个CocoaPods插件,基于对zabel的封装
|
27
|
+
DESC
|
28
|
+
|
29
|
+
self.arguments = [
|
30
|
+
#CLAide::Argument.new('update',true)
|
31
|
+
]
|
32
|
+
|
33
|
+
# 可选参数
|
34
|
+
def self.options
|
35
|
+
[
|
36
|
+
['--update', 'need exec pod update'],
|
37
|
+
['--install', 'need exec pod install']
|
38
|
+
].concat(super)
|
39
|
+
end
|
40
|
+
|
41
|
+
def initialize(argv)
|
42
|
+
#puts "xccache 初始化参数 #{argv.to_s}"
|
43
|
+
#@name = argv.shift_argument
|
44
|
+
@update = argv.flag?("update")
|
45
|
+
@install = argv.flag?("install")
|
46
|
+
super
|
47
|
+
end
|
48
|
+
|
49
|
+
def validate!
|
50
|
+
super
|
51
|
+
#help! 'A Pod name is required.' unless @name
|
52
|
+
end
|
53
|
+
|
54
|
+
def run
|
55
|
+
UI.puts "[XCCACHE/I] 开始执行pod xccache 流程:"
|
56
|
+
Zabel.zabel_post({})
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
@@ -0,0 +1,51 @@
|
|
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 Xcextract < Command
|
21
|
+
self.summary = '基于Xcode cache的缓存插件之extract'
|
22
|
+
|
23
|
+
# 参数设置 https://juejin.cn/post/7005979638904127518
|
24
|
+
|
25
|
+
self.description = <<-DESC
|
26
|
+
一个CocoaPods插件,基于对zabel的封装
|
27
|
+
DESC
|
28
|
+
|
29
|
+
self.arguments = [
|
30
|
+
CLAide::Argument.new('targetcachedir', "${HOME}/zabel")
|
31
|
+
]
|
32
|
+
|
33
|
+
def initialize(argv)
|
34
|
+
@targetcachedir = argv.shift_argument
|
35
|
+
UI.print "[XCCACHE/I] extract target_cache_dir => #{@targetcachedir}"
|
36
|
+
super
|
37
|
+
end
|
38
|
+
|
39
|
+
def validate!
|
40
|
+
super
|
41
|
+
#help! 'A Pod name is required.' unless @name
|
42
|
+
end
|
43
|
+
|
44
|
+
def run
|
45
|
+
UI.puts "[XCCACHE/I] 开始执行 extract 函数"
|
46
|
+
Zabel.zabel_extract(@targetcachedir)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
@@ -0,0 +1,69 @@
|
|
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 Xcprepare < Command
|
21
|
+
self.summary = '基于Xcode cache的缓存插件之准备'
|
22
|
+
|
23
|
+
# 参数设置 https://juejin.cn/post/7005979638904127518
|
24
|
+
|
25
|
+
self.description = <<-DESC
|
26
|
+
一个CocoaPods插件,基于对zabel的封装
|
27
|
+
DESC
|
28
|
+
|
29
|
+
self.arguments = [
|
30
|
+
#CLAide::Argument.new('update',true)
|
31
|
+
]
|
32
|
+
|
33
|
+
# 可选参数
|
34
|
+
def self.options
|
35
|
+
[
|
36
|
+
['--update', 'need exec pod update'],
|
37
|
+
['--install', 'need exec pod install']
|
38
|
+
].concat(super)
|
39
|
+
end
|
40
|
+
|
41
|
+
def initialize(argv)
|
42
|
+
#puts "xccache 初始化参数 #{argv.to_s}"
|
43
|
+
#@name = argv.shift_argument
|
44
|
+
@update = argv.flag?("update")
|
45
|
+
@install = argv.flag?("install")
|
46
|
+
super
|
47
|
+
end
|
48
|
+
|
49
|
+
def validate!
|
50
|
+
super
|
51
|
+
#help! 'A Pod name is required.' unless @name
|
52
|
+
end
|
53
|
+
|
54
|
+
def run
|
55
|
+
UI.puts "开始进入准备阶段:"
|
56
|
+
|
57
|
+
#system "bundle install"
|
58
|
+
if @update
|
59
|
+
UI.puts "pod update"
|
60
|
+
# system "pod update"
|
61
|
+
else
|
62
|
+
UI.puts "pod install"
|
63
|
+
# system "pod install"
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
@@ -0,0 +1,60 @@
|
|
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 Xcprintenv < Command
|
21
|
+
self.summary = '打印环境变量'
|
22
|
+
|
23
|
+
# 参数设置 https://juejin.cn/post/7005979638904127518
|
24
|
+
|
25
|
+
self.description = <<-DESC
|
26
|
+
一个CocoaPods插件,基于对zabel的封装
|
27
|
+
DESC
|
28
|
+
|
29
|
+
self.arguments = [
|
30
|
+
# CLAide::Argument.new('update', true),
|
31
|
+
]
|
32
|
+
|
33
|
+
def self.options
|
34
|
+
[
|
35
|
+
['--targetname', 'target名称'],
|
36
|
+
["--projectpath", '工程路径']
|
37
|
+
].concat(super)
|
38
|
+
end
|
39
|
+
|
40
|
+
def initialize(argv)
|
41
|
+
#puts "xccache 初始化参数 #{argv.to_s}"
|
42
|
+
#@name = argv.shift_argument
|
43
|
+
@target_name = argv.option("targetname")
|
44
|
+
@project_path = argv.option("projectpath")
|
45
|
+
super
|
46
|
+
end
|
47
|
+
|
48
|
+
def validate!
|
49
|
+
super
|
50
|
+
#help! 'A Pod name is required.' unless @name
|
51
|
+
end
|
52
|
+
|
53
|
+
def run
|
54
|
+
UI.puts "[XCCACHE/I] 执行 printEnv"
|
55
|
+
Zabel.zabel_printenv(@target_name, @project_path)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|