ocean_package 0.13.0 → 0.14.0
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 +4 -4
- data/.idea/ocean_package.iml +29 -1
- data/Gemfile.lock +1 -1
- data/lib/ocean_package/command.rb +29 -0
- data/lib/ocean_package/package.rb +7 -0
- data/lib/ocean_package/time_flow.rb +123 -0
- data/lib/ocean_package/version.rb +1 -1
- data/lib/ocean_package.rb +2 -0
- metadata +7 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 65d0074f1b3760d6b4012238dcf78594b486f5c542f08715a05823a31fbe1287
|
4
|
+
data.tar.gz: 75d9b7e786ab83e4543f0605a5742c5651f79e620b1996e941d8a541d687fc03
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7c5504cac2244dac99129a5aa61c84cbdba90a5502af1b4d5ce6b804f7c8a1566de3a6f767ce38232d8371bddc36fbb5cbc8a3f531998409fcfbdfd712d50570
|
7
|
+
data.tar.gz: 2d193b4b39545aa82f16fcf9bee364e98e1dfbf7d2eb6262687dcec41875c37885d252db866cac66ef72075d71eb016e23a3c08b0925e9b4db778d08ad882dd1
|
data/.idea/ocean_package.iml
CHANGED
@@ -20,10 +20,38 @@
|
|
20
20
|
<orderEntry type="library" scope="PROVIDED" name="httparty (v0.18.1, ruby-2.6.3-p62) [gem]" level="application" />
|
21
21
|
<orderEntry type="library" scope="PROVIDED" name="mime-types (v3.3.1, ruby-2.6.3-p62) [gem]" level="application" />
|
22
22
|
<orderEntry type="library" scope="PROVIDED" name="mime-types-data (v3.2020.0512, ruby-2.6.3-p62) [gem]" level="application" />
|
23
|
-
<orderEntry type="library" scope="PROVIDED" name="minitest (v5.
|
23
|
+
<orderEntry type="library" scope="PROVIDED" name="minitest (v5.11.3, ruby-2.6.3-p62) [gem]" level="application" />
|
24
24
|
<orderEntry type="library" scope="PROVIDED" name="multi_xml (v0.6.0, ruby-2.6.3-p62) [gem]" level="application" />
|
25
25
|
<orderEntry type="library" scope="PROVIDED" name="multipart-post (v2.1.1, ruby-2.6.3-p62) [gem]" level="application" />
|
26
26
|
<orderEntry type="library" scope="PROVIDED" name="rake (v10.5.0, ruby-2.6.3-p62) [gem]" level="application" />
|
27
27
|
<orderEntry type="library" scope="PROVIDED" name="semantic_logger (v4.7.1, ruby-2.6.3-p62) [gem]" level="application" />
|
28
28
|
</component>
|
29
|
+
<component name="RakeTasksCache">
|
30
|
+
<option name="myRootTask">
|
31
|
+
<RakeTaskImpl id="rake">
|
32
|
+
<subtasks>
|
33
|
+
<RakeTaskImpl description="Build ocean_package-0.14.0.gem into the pkg directory" fullCommand="build" id="build" />
|
34
|
+
<RakeTaskImpl description="Remove any temporary products" fullCommand="clean" id="clean" />
|
35
|
+
<RakeTaskImpl description="Remove any generated files" fullCommand="clobber" id="clobber" />
|
36
|
+
<RakeTaskImpl description="Build and install ocean_package-0.14.0.gem into system gems" fullCommand="install" id="install" />
|
37
|
+
<RakeTaskImpl id="install">
|
38
|
+
<subtasks>
|
39
|
+
<RakeTaskImpl description="Build and install ocean_package-0.14.0.gem into system gems without network access" fullCommand="install:local" id="local" />
|
40
|
+
</subtasks>
|
41
|
+
</RakeTaskImpl>
|
42
|
+
<RakeTaskImpl description="Create tag v0.14.0 and build and push ocean_package-0.14.0.gem to rubygems.org" fullCommand="release[remote]" id="release[remote]" />
|
43
|
+
<RakeTaskImpl description="Run tests" fullCommand="test" id="test" />
|
44
|
+
<RakeTaskImpl description="" fullCommand="default" id="default" />
|
45
|
+
<RakeTaskImpl description="" fullCommand="release" id="release" />
|
46
|
+
<RakeTaskImpl id="release">
|
47
|
+
<subtasks>
|
48
|
+
<RakeTaskImpl description="" fullCommand="release:guard_clean" id="guard_clean" />
|
49
|
+
<RakeTaskImpl description="" fullCommand="release:rubygem_push" id="rubygem_push" />
|
50
|
+
<RakeTaskImpl description="" fullCommand="release:source_control_push" id="source_control_push" />
|
51
|
+
</subtasks>
|
52
|
+
</RakeTaskImpl>
|
53
|
+
</subtasks>
|
54
|
+
</RakeTaskImpl>
|
55
|
+
</option>
|
56
|
+
</component>
|
29
57
|
</module>
|
data/Gemfile.lock
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
|
2
2
|
module OceanPackage
|
3
3
|
class Command
|
4
|
+
include OceanPackage::TimeFlow::Mixin
|
4
5
|
|
5
6
|
# xcodebuild 打包相关
|
6
7
|
attr_accessor :package
|
@@ -25,6 +26,7 @@ module OceanPackage
|
|
25
26
|
# 自定义的ipa文件路径
|
26
27
|
attr_accessor :custom_ipa_file_path
|
27
28
|
|
29
|
+
|
28
30
|
def initialize(params = [])
|
29
31
|
argv = CLAide::ARGV.new(params)
|
30
32
|
|
@@ -124,6 +126,7 @@ module OceanPackage
|
|
124
126
|
|
125
127
|
# 运行
|
126
128
|
def run
|
129
|
+
time_flow.point_start_time
|
127
130
|
# 没有自定义ipa文件,需要执行打包命令
|
128
131
|
unless has_custom_ipa_file
|
129
132
|
package.run
|
@@ -135,6 +138,8 @@ module OceanPackage
|
|
135
138
|
|
136
139
|
# 上传 ipa 文件
|
137
140
|
def upload
|
141
|
+
time_flow.point_upload_ipa_time
|
142
|
+
|
138
143
|
can_fir = fir.check
|
139
144
|
can_pgy = pgy.check
|
140
145
|
if can_fir
|
@@ -213,6 +218,8 @@ module OceanPackage
|
|
213
218
|
|
214
219
|
# 发送打包信息到钉钉
|
215
220
|
def send_ding_talk_msg
|
221
|
+
time_flow.point_notify_group_time
|
222
|
+
|
216
223
|
# 消息卡片,富文本
|
217
224
|
title = make_web_hook_message_title
|
218
225
|
content = make_web_hook_message
|
@@ -223,11 +230,33 @@ module OceanPackage
|
|
223
230
|
|
224
231
|
# 打包完成
|
225
232
|
def finished
|
233
|
+
time_flow.point_end_time
|
234
|
+
write_time_flow_data
|
235
|
+
|
226
236
|
Log.divider
|
227
237
|
Log.info("package finished")
|
228
238
|
Log.divider
|
229
239
|
end
|
230
240
|
|
241
|
+
def write_time_flow_data
|
242
|
+
time_flow_dir = @package.final_archive_path
|
243
|
+
time_flow_file_path = "#{time_flow_dir}timeflow.json"
|
244
|
+
params = time_flow.make_all_points
|
245
|
+
params['timeFlowPath'] = time_flow_file_path
|
246
|
+
json = JSON.dump(params)
|
247
|
+
|
248
|
+
unless File.exist?(time_flow_file_path)
|
249
|
+
FileUtils.touch(time_flow_file_path)
|
250
|
+
end
|
251
|
+
a_file = File.new(time_flow_file_path, "r+")
|
252
|
+
if a_file
|
253
|
+
a_file.syswrite(json)
|
254
|
+
Log.info("write time flow to path(success): #{time_flow_file_path}")
|
255
|
+
else
|
256
|
+
Log.error("write time flow to path(fail): #{time_flow_file_path}")
|
257
|
+
end
|
258
|
+
end
|
259
|
+
|
231
260
|
end
|
232
261
|
|
233
262
|
end
|
@@ -2,6 +2,7 @@
|
|
2
2
|
module OceanPackage
|
3
3
|
|
4
4
|
class Package
|
5
|
+
include OceanPackage::TimeFlow::Mixin
|
5
6
|
|
6
7
|
# .xcworkspace 文件路径
|
7
8
|
attr_accessor :workspace_path
|
@@ -186,6 +187,8 @@ module OceanPackage
|
|
186
187
|
|
187
188
|
# clean
|
188
189
|
def clean
|
190
|
+
time_flow.point_clean_time
|
191
|
+
|
189
192
|
res = system(clean_cmd)
|
190
193
|
Log.info("clean result: #{res}")
|
191
194
|
|
@@ -264,6 +267,8 @@ module OceanPackage
|
|
264
267
|
|
265
268
|
# archive
|
266
269
|
def archive
|
270
|
+
time_flow.point_archive_time
|
271
|
+
|
267
272
|
res = system(archive_cmd)
|
268
273
|
|
269
274
|
Log.info("archive result: #{res}")
|
@@ -305,6 +310,8 @@ module OceanPackage
|
|
305
310
|
end
|
306
311
|
|
307
312
|
def export
|
313
|
+
time_flow.point_export_time
|
314
|
+
|
308
315
|
res = system(export_cmd)
|
309
316
|
|
310
317
|
Log.info("export result: #{res}")
|
@@ -0,0 +1,123 @@
|
|
1
|
+
module OceanPackage
|
2
|
+
class TimeFlow
|
3
|
+
|
4
|
+
# 开始时间
|
5
|
+
attr_accessor :start_time
|
6
|
+
# git拉取仓库时间
|
7
|
+
attr_accessor :pull_git_time
|
8
|
+
# 安装相关依赖时间
|
9
|
+
attr_accessor :pull_dependency_time
|
10
|
+
# clean 项目时间
|
11
|
+
attr_accessor :clean_time
|
12
|
+
# archive 项目时间
|
13
|
+
attr_accessor :archive_time
|
14
|
+
# 加固 项目时间
|
15
|
+
attr_accessor :reinforce_time
|
16
|
+
# 导出ipa包时间
|
17
|
+
attr_accessor :export_time
|
18
|
+
# 上传ipa到分发平台时间
|
19
|
+
attr_accessor :upload_ipa_time
|
20
|
+
# 上传dsym符号表时间
|
21
|
+
attr_accessor :upload_dsym_time
|
22
|
+
# 群通知时间(钉钉群)
|
23
|
+
attr_accessor :notify_group_time
|
24
|
+
# 整个流程完成时间
|
25
|
+
attr_accessor :end_time
|
26
|
+
|
27
|
+
public
|
28
|
+
|
29
|
+
def self.instance
|
30
|
+
@instance ||= new
|
31
|
+
end
|
32
|
+
|
33
|
+
class << self
|
34
|
+
attr_writer :instance
|
35
|
+
end
|
36
|
+
|
37
|
+
def initialize()
|
38
|
+
@start_time = get_seconds
|
39
|
+
@pull_git_time = 0
|
40
|
+
@pull_dependency_time = 0
|
41
|
+
@clean_time = 0
|
42
|
+
@archive_time = 0
|
43
|
+
@reinforce_time = 0
|
44
|
+
@export_time = 0
|
45
|
+
@upload_ipa_time = 0
|
46
|
+
@upload_dsym_time = 0
|
47
|
+
@notify_group_time = 0
|
48
|
+
end
|
49
|
+
|
50
|
+
def get_seconds
|
51
|
+
Time.now.to_i
|
52
|
+
end
|
53
|
+
|
54
|
+
def point_pull_git_time
|
55
|
+
@pull_git_time = get_seconds
|
56
|
+
end
|
57
|
+
|
58
|
+
def point_pull_dependency_time
|
59
|
+
@pull_dependency_time = get_seconds
|
60
|
+
end
|
61
|
+
|
62
|
+
def point_clean_time
|
63
|
+
@clean_time = get_seconds
|
64
|
+
end
|
65
|
+
|
66
|
+
def point_archive_time
|
67
|
+
@archive_time = get_seconds
|
68
|
+
end
|
69
|
+
|
70
|
+
def point_reinforce_time
|
71
|
+
@reinforce_time = get_seconds
|
72
|
+
end
|
73
|
+
|
74
|
+
def point_export_time
|
75
|
+
@export_time = get_seconds
|
76
|
+
end
|
77
|
+
|
78
|
+
def point_upload_ipa_time
|
79
|
+
@upload_ipa_time = get_seconds
|
80
|
+
end
|
81
|
+
|
82
|
+
def point_upload_dsym_time
|
83
|
+
@upload_dsym_time = get_seconds
|
84
|
+
end
|
85
|
+
|
86
|
+
def point_notify_group_time
|
87
|
+
@notify_group_time = get_seconds
|
88
|
+
end
|
89
|
+
|
90
|
+
def point_start_time
|
91
|
+
@start_time = get_seconds
|
92
|
+
end
|
93
|
+
|
94
|
+
def point_end_time
|
95
|
+
@end_time = get_seconds
|
96
|
+
end
|
97
|
+
|
98
|
+
def make_all_points
|
99
|
+
params = {
|
100
|
+
"startTime" => @start_time,
|
101
|
+
"pullGitTime" => @pull_git_time,
|
102
|
+
"pullDependencyTime" => @pull_dependency_time,
|
103
|
+
"cleanTime" => @clean_time,
|
104
|
+
"archiveTime" => @archive_time,
|
105
|
+
"reinforceTime" => @reinforce_time,
|
106
|
+
"exportTime" => @export_time,
|
107
|
+
"uploadIpaTime" => @upload_ipa_time,
|
108
|
+
"uploadDsymTime" => @upload_dsym_time,
|
109
|
+
"notifyGroupTime" => @notify_group_time,
|
110
|
+
"endTime" => @end_time
|
111
|
+
}
|
112
|
+
json = JSON.dump(params)
|
113
|
+
json
|
114
|
+
end
|
115
|
+
|
116
|
+
module Mixin
|
117
|
+
def time_flow
|
118
|
+
TimeFlow.instance
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
end
|
123
|
+
end
|
data/lib/ocean_package.rb
CHANGED
@@ -10,6 +10,8 @@ require 'find'
|
|
10
10
|
# 注意:这里使用 require_relative 来引用文件
|
11
11
|
require_relative 'ocean_package/version'
|
12
12
|
require_relative 'ocean_package/config'
|
13
|
+
# 放在前面
|
14
|
+
require_relative 'ocean_package/time_flow'
|
13
15
|
require_relative 'ocean_package/command'
|
14
16
|
require_relative 'ocean_package/constants'
|
15
17
|
require_relative 'ocean_package/fir'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ocean_package
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.14.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ocean
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-07-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dingbot
|
@@ -160,13 +160,14 @@ files:
|
|
160
160
|
- lib/ocean_package/oss.rb
|
161
161
|
- lib/ocean_package/package.rb
|
162
162
|
- lib/ocean_package/pgy.rb
|
163
|
+
- lib/ocean_package/time_flow.rb
|
163
164
|
- lib/ocean_package/version.rb
|
164
165
|
- ocean_package.gemspec
|
165
166
|
homepage: https://github.com/oceanfive/ocean_package
|
166
167
|
licenses:
|
167
168
|
- MIT
|
168
169
|
metadata: {}
|
169
|
-
post_install_message:
|
170
|
+
post_install_message:
|
170
171
|
rdoc_options: []
|
171
172
|
require_paths:
|
172
173
|
- lib
|
@@ -181,8 +182,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
181
182
|
- !ruby/object:Gem::Version
|
182
183
|
version: '0'
|
183
184
|
requirements: []
|
184
|
-
rubygems_version: 3.
|
185
|
-
signing_key:
|
185
|
+
rubygems_version: 3.1.4
|
186
|
+
signing_key:
|
186
187
|
specification_version: 4
|
187
188
|
summary: ocean package
|
188
189
|
test_files: []
|