pindo 5.18.3 → 5.18.5
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/lib/pindo/command/android/autobuild.rb +27 -25
- data/lib/pindo/command/appstore/adhocbuild.rb +3 -3
- data/lib/pindo/command/appstore/autobuild.rb +3 -3
- data/lib/pindo/command/appstore/autoresign.rb +6 -2
- data/lib/pindo/command/appstore/cert.rb +12 -6
- data/lib/pindo/command/appstore/getitcinfo.rb +10 -8
- data/lib/pindo/command/appstore/iap.rb +9 -9
- data/lib/pindo/command/appstore/initconfig.rb +6 -7
- data/lib/pindo/command/appstore/itcinfo.rb +12 -12
- data/lib/pindo/command/appstore/metadata.rb +7 -6
- data/lib/pindo/command/appstore/screenshots.rb +7 -6
- data/lib/pindo/command/appstore/tag.rb +7 -4
- data/lib/pindo/command/gplay/iap.rb +7 -6
- data/lib/pindo/command/gplay/metadata.rb +7 -6
- data/lib/pindo/command/gplay/screenshots.rb +7 -6
- data/lib/pindo/command/ios/applovin.rb +9 -8
- data/lib/pindo/command/ios/autobuild.rb +1 -1
- data/lib/pindo/command/ios/autoresign.rb +6 -2
- data/lib/pindo/command/ios/cert.rb +11 -6
- data/lib/pindo/command/ios/fixproj.rb +9 -6
- data/lib/pindo/command/ios/podlint.rb +10 -5
- data/lib/pindo/command/ios/podpush.rb +13 -6
- data/lib/pindo/command/ios/podupdate.rb +10 -6
- data/lib/pindo/command/jps/apptest.rb +2 -2
- data/lib/pindo/command/jps/bind.rb +1 -1
- data/lib/pindo/command/jps/download.rb +11 -10
- data/lib/pindo/command/jps/login.rb +8 -7
- data/lib/pindo/command/jps/media.rb +1 -1
- data/lib/pindo/command/jps/upload.rb +56 -31
- data/lib/pindo/command/repo.rb +0 -6
- data/lib/pindo/command/unity/autobuild.rb +33 -41
- data/lib/pindo/command/unity/packpush.rb +14 -8
- data/lib/pindo/command/utils/renewcert.rb +15 -13
- data/lib/pindo/command/utils/repoinit.rb +12 -6
- data/lib/pindo/command/utils.rb +7 -7
- data/lib/pindo/command/web/autobuild.rb +29 -28
- data/lib/pindo/command/web/run.rb +9 -8
- data/lib/pindo/module/android/android_build_helper.rb +6 -6
- data/lib/pindo/module/android/keystore_helper.rb +1 -1
- data/lib/pindo/module/build/build_helper.rb +37 -3
- data/lib/pindo/module/cert/cert_helper.rb +1 -1
- data/lib/pindo/module/pgyer/pgyerhelper.rb +3 -3
- data/lib/pindo/module/task/core/task_executor.rb +2 -0
- data/lib/pindo/module/task/task_manager.rb +8 -0
- data/lib/pindo/options/core/global_options_state.rb +1 -1
- data/lib/pindo/options/core/option_item.rb +1 -1
- data/lib/pindo/options/groups/appstore_options.rb +114 -0
- data/lib/pindo/options/groups/build_options.rb +93 -4
- data/lib/pindo/options/groups/cert_options.rb +0 -52
- data/lib/pindo/options/groups/common_options.rb +27 -0
- data/lib/pindo/options/groups/global_options.rb +18 -0
- data/lib/pindo/options/groups/ios_tool_options.rb +60 -0
- data/lib/pindo/options/groups/jps_options.rb +41 -0
- data/lib/pindo/options/groups/option_group.rb +1 -1
- data/lib/pindo/options/groups/pod_options.rb +37 -0
- data/lib/pindo/options/groups/unity_options.rb +4 -4
- data/lib/pindo/options/groups/utils_options.rb +125 -0
- data/lib/pindo/options/options.rb +6 -0
- data/lib/pindo/version.rb +2 -2
- metadata +7 -1
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
require 'pindo/options/core/option_item'
|
|
2
|
+
require 'pindo/options/groups/option_group'
|
|
3
|
+
|
|
4
|
+
module Pindo
|
|
5
|
+
module Options
|
|
6
|
+
# iOS 工具命令参数组
|
|
7
|
+
# 定义 iOS 专属工具命令的参数(fixproj、applovin 等)
|
|
8
|
+
module IosToolOptions
|
|
9
|
+
extend OptionGroup
|
|
10
|
+
|
|
11
|
+
def self.all_options
|
|
12
|
+
@all_options ||= {
|
|
13
|
+
allproj: OptionItem.new(
|
|
14
|
+
key: :allproj,
|
|
15
|
+
name: '批量修复',
|
|
16
|
+
description: '扫描当前目录及 GoodPlatform/BaseiOS 下的所有 iOS 项目并修复',
|
|
17
|
+
type: OptionItem::Boolean,
|
|
18
|
+
env_name: 'PINDO_ALL_PROJ',
|
|
19
|
+
default_value: false,
|
|
20
|
+
optional: true,
|
|
21
|
+
example: 'pindo ios fixproj --allproj'
|
|
22
|
+
),
|
|
23
|
+
|
|
24
|
+
appstore: OptionItem.new(
|
|
25
|
+
key: :appstore,
|
|
26
|
+
name: 'App Store 模式',
|
|
27
|
+
description: 'App Store 模式(一般不使用)',
|
|
28
|
+
type: OptionItem::Boolean,
|
|
29
|
+
env_name: 'PINDO_IOS_APPSTORE',
|
|
30
|
+
default_value: false,
|
|
31
|
+
optional: true,
|
|
32
|
+
example: 'pindo ios applovin --appstore'
|
|
33
|
+
),
|
|
34
|
+
|
|
35
|
+
install: OptionItem.new(
|
|
36
|
+
key: :install,
|
|
37
|
+
name: '安装',
|
|
38
|
+
description: '运行安装脚本',
|
|
39
|
+
type: OptionItem::Boolean,
|
|
40
|
+
env_name: 'PINDO_IOS_INSTALL',
|
|
41
|
+
default_value: false,
|
|
42
|
+
optional: true,
|
|
43
|
+
example: 'pindo ios applovin --install'
|
|
44
|
+
),
|
|
45
|
+
|
|
46
|
+
upload: OptionItem.new(
|
|
47
|
+
key: :upload,
|
|
48
|
+
name: '保存配置',
|
|
49
|
+
description: '保存 SKAdNetwork IDs 配置到本地',
|
|
50
|
+
type: OptionItem::Boolean,
|
|
51
|
+
env_name: 'PINDO_IOS_UPLOAD',
|
|
52
|
+
default_value: false,
|
|
53
|
+
optional: true,
|
|
54
|
+
example: 'pindo ios applovin --upload'
|
|
55
|
+
)
|
|
56
|
+
}
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
end
|
|
@@ -99,6 +99,47 @@ module Pindo
|
|
|
99
99
|
env_name: 'PINDO_SEND_GROUP',
|
|
100
100
|
optional: true,
|
|
101
101
|
example: 'pindo jps apptest --group'
|
|
102
|
+
),
|
|
103
|
+
|
|
104
|
+
login: OptionItem.new(
|
|
105
|
+
key: :login,
|
|
106
|
+
name: '强制登录',
|
|
107
|
+
description: '强制重新登录 JPS 平台',
|
|
108
|
+
type: OptionItem::Boolean,
|
|
109
|
+
env_name: 'PINDO_JPS_LOGIN',
|
|
110
|
+
default_value: false,
|
|
111
|
+
optional: true,
|
|
112
|
+
example: 'pindo jps upload --login'
|
|
113
|
+
),
|
|
114
|
+
|
|
115
|
+
file: OptionItem.new(
|
|
116
|
+
key: :file,
|
|
117
|
+
name: '上传文件',
|
|
118
|
+
description: '指定要上传的文件路径(支持 ipa/apk/app/exe/html)',
|
|
119
|
+
type: String,
|
|
120
|
+
env_name: 'PINDO_JPS_FILE',
|
|
121
|
+
optional: true,
|
|
122
|
+
example: 'pindo jps upload --file=path/to/app.ipa'
|
|
123
|
+
),
|
|
124
|
+
|
|
125
|
+
attach: OptionItem.new(
|
|
126
|
+
key: :attach,
|
|
127
|
+
name: '附件',
|
|
128
|
+
description: '指定需要和安装包一起上传的附件文件',
|
|
129
|
+
type: String,
|
|
130
|
+
env_name: 'PINDO_JPS_ATTACH',
|
|
131
|
+
optional: true,
|
|
132
|
+
example: 'pindo jps upload --attach=file.zip'
|
|
133
|
+
),
|
|
134
|
+
|
|
135
|
+
index: OptionItem.new(
|
|
136
|
+
key: :index,
|
|
137
|
+
name: '版本序号',
|
|
138
|
+
description: '指定下载的版本序号',
|
|
139
|
+
type: String,
|
|
140
|
+
env_name: 'PINDO_JPS_INDEX',
|
|
141
|
+
optional: true,
|
|
142
|
+
example: 'pindo jps download --index=1'
|
|
102
143
|
)
|
|
103
144
|
}
|
|
104
145
|
end
|
|
@@ -41,7 +41,7 @@ module Pindo
|
|
|
41
41
|
# @param defaults [Hash{Symbol => Any}] key => default_value 的映射
|
|
42
42
|
# @return [Array<OptionItem>] 修改后的参数列表
|
|
43
43
|
# @example
|
|
44
|
-
# UnityOptions.select_with_defaults(
|
|
44
|
+
# UnityOptions.select_with_defaults(skipmacro: true, skiplib: true)
|
|
45
45
|
def select_with_defaults(**defaults)
|
|
46
46
|
defaults.map do |key, default_value|
|
|
47
47
|
option = all_options[key]
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
require 'pindo/options/core/option_item'
|
|
2
|
+
require 'pindo/options/groups/option_group'
|
|
3
|
+
|
|
4
|
+
module Pindo
|
|
5
|
+
module Options
|
|
6
|
+
# Pod 相关参数组
|
|
7
|
+
# 定义 CocoaPods 操作相关的参数(podupdate、podlint、podpush)
|
|
8
|
+
module PodOptions
|
|
9
|
+
extend OptionGroup
|
|
10
|
+
|
|
11
|
+
def self.all_options
|
|
12
|
+
@all_options ||= {
|
|
13
|
+
path: OptionItem.new(
|
|
14
|
+
key: :path,
|
|
15
|
+
name: '项目目录',
|
|
16
|
+
description: '指定 Pod 库所在的项目目录',
|
|
17
|
+
type: String,
|
|
18
|
+
env_name: 'PINDO_POD_PATH',
|
|
19
|
+
optional: true,
|
|
20
|
+
example: 'pindo ios podupdate --path=./MyPodLib'
|
|
21
|
+
),
|
|
22
|
+
|
|
23
|
+
install: OptionItem.new(
|
|
24
|
+
key: :install,
|
|
25
|
+
name: '执行安装',
|
|
26
|
+
description: '更新完 lib 之后执行 pod install',
|
|
27
|
+
type: OptionItem::Boolean,
|
|
28
|
+
env_name: 'PINDO_POD_INSTALL',
|
|
29
|
+
default_value: false,
|
|
30
|
+
optional: true,
|
|
31
|
+
example: 'pindo ios podupdate --install'
|
|
32
|
+
)
|
|
33
|
+
}
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -10,15 +10,15 @@ module Pindo
|
|
|
10
10
|
|
|
11
11
|
def self.all_options
|
|
12
12
|
@all_options ||= {
|
|
13
|
-
|
|
14
|
-
key: :
|
|
13
|
+
skipmacro: OptionItem.new(
|
|
14
|
+
key: :skipmacro,
|
|
15
15
|
name: '跳过宏设置',
|
|
16
16
|
description: '跳过Unity编译宏设置(加快构建速度)',
|
|
17
17
|
type: OptionItem::Boolean,
|
|
18
|
-
env_name: '
|
|
18
|
+
env_name: 'PINDO_SKIP_MACRO',
|
|
19
19
|
default_value: false,
|
|
20
20
|
optional: true,
|
|
21
|
-
example: 'pindo appstore autobuild --
|
|
21
|
+
example: 'pindo appstore autobuild --skipmacro'
|
|
22
22
|
),
|
|
23
23
|
|
|
24
24
|
skiplib: OptionItem.new(
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
require 'pindo/options/core/option_item'
|
|
2
|
+
require 'pindo/options/groups/option_group'
|
|
3
|
+
|
|
4
|
+
module Pindo
|
|
5
|
+
module Options
|
|
6
|
+
# 工具及辅助命令参数组
|
|
7
|
+
# 定义 utils、appstore、gplay 等命令中共享的辅助参数
|
|
8
|
+
module UtilsOptions
|
|
9
|
+
extend OptionGroup
|
|
10
|
+
|
|
11
|
+
def self.all_options
|
|
12
|
+
@all_options ||= {
|
|
13
|
+
down: OptionItem.new(
|
|
14
|
+
key: :down,
|
|
15
|
+
name: '下载',
|
|
16
|
+
description: '下载资源(元数据、截图等)',
|
|
17
|
+
type: OptionItem::Boolean,
|
|
18
|
+
env_name: 'PINDO_DOWN',
|
|
19
|
+
default_value: false,
|
|
20
|
+
optional: true,
|
|
21
|
+
example: 'pindo appstore metadata --down'
|
|
22
|
+
),
|
|
23
|
+
|
|
24
|
+
test: OptionItem.new(
|
|
25
|
+
key: :test,
|
|
26
|
+
name: '测试模式',
|
|
27
|
+
description: '使用测试环境仓库',
|
|
28
|
+
type: OptionItem::Boolean,
|
|
29
|
+
env_name: 'PINDO_TEST',
|
|
30
|
+
default_value: false,
|
|
31
|
+
optional: true,
|
|
32
|
+
example: 'pindo appstore initconfig --test'
|
|
33
|
+
),
|
|
34
|
+
|
|
35
|
+
mode: OptionItem.new(
|
|
36
|
+
key: :mode,
|
|
37
|
+
name: '版本模式',
|
|
38
|
+
description: '版本增加模式(major/minor/patch),默认 minor',
|
|
39
|
+
type: String,
|
|
40
|
+
env_name: 'PINDO_REPO_MODE',
|
|
41
|
+
default_value: 'minor',
|
|
42
|
+
optional: true,
|
|
43
|
+
example: 'pindo utils repoinit --mode=minor'
|
|
44
|
+
),
|
|
45
|
+
|
|
46
|
+
retag: OptionItem.new(
|
|
47
|
+
key: :retag,
|
|
48
|
+
name: '重新打标签',
|
|
49
|
+
description: '强制重新创建当前版本的 Git Tag',
|
|
50
|
+
type: OptionItem::Boolean,
|
|
51
|
+
env_name: 'PINDO_RETAG',
|
|
52
|
+
default_value: false,
|
|
53
|
+
optional: true,
|
|
54
|
+
example: 'pindo utils repoinit --retag'
|
|
55
|
+
),
|
|
56
|
+
|
|
57
|
+
fast: OptionItem.new(
|
|
58
|
+
key: :fast,
|
|
59
|
+
name: '快速模式',
|
|
60
|
+
description: '快速更新证书(跳过部分验证)',
|
|
61
|
+
type: OptionItem::Boolean,
|
|
62
|
+
env_name: 'PINDO_CERT_FAST',
|
|
63
|
+
default_value: false,
|
|
64
|
+
optional: true,
|
|
65
|
+
example: 'pindo utils renewcert --fast'
|
|
66
|
+
),
|
|
67
|
+
|
|
68
|
+
fixedid: OptionItem.new(
|
|
69
|
+
key: :fixedid,
|
|
70
|
+
name: '固定 ID',
|
|
71
|
+
description: '重新更新 Bundle ID 的功能配置',
|
|
72
|
+
type: OptionItem::Boolean,
|
|
73
|
+
env_name: 'PINDO_CERT_FIXEDID',
|
|
74
|
+
default_value: false,
|
|
75
|
+
optional: true,
|
|
76
|
+
example: 'pindo utils renewcert --fixedid'
|
|
77
|
+
),
|
|
78
|
+
|
|
79
|
+
nupkg: OptionItem.new(
|
|
80
|
+
key: :nupkg,
|
|
81
|
+
name: 'NuGet 包',
|
|
82
|
+
description: '指定要上传的 .nupkg 文件路径',
|
|
83
|
+
type: String,
|
|
84
|
+
env_name: 'PINDO_NUPKG',
|
|
85
|
+
optional: true,
|
|
86
|
+
example: 'pindo unity packpush --nupkg=path/to/package.nupkg'
|
|
87
|
+
),
|
|
88
|
+
|
|
89
|
+
run: OptionItem.new(
|
|
90
|
+
key: :run,
|
|
91
|
+
name: '本地运行',
|
|
92
|
+
description: '编译完成后在本地打开运行',
|
|
93
|
+
type: OptionItem::Boolean,
|
|
94
|
+
env_name: 'PINDO_RUN',
|
|
95
|
+
default_value: false,
|
|
96
|
+
optional: true,
|
|
97
|
+
example: 'pindo web autobuild --run'
|
|
98
|
+
),
|
|
99
|
+
|
|
100
|
+
port: OptionItem.new(
|
|
101
|
+
key: :port,
|
|
102
|
+
name: '端口号',
|
|
103
|
+
description: '指定本地 HTTP 服务器端口',
|
|
104
|
+
type: String,
|
|
105
|
+
env_name: 'PINDO_PORT',
|
|
106
|
+
default_value: '8000',
|
|
107
|
+
optional: true,
|
|
108
|
+
example: 'pindo web run --port=3000'
|
|
109
|
+
),
|
|
110
|
+
|
|
111
|
+
debug: OptionItem.new(
|
|
112
|
+
key: :debug,
|
|
113
|
+
name: '调试模式',
|
|
114
|
+
description: '显示详细的调试信息',
|
|
115
|
+
type: OptionItem::Boolean,
|
|
116
|
+
env_name: 'PINDO_DEBUG_MODE',
|
|
117
|
+
default_value: false,
|
|
118
|
+
optional: true,
|
|
119
|
+
example: 'pindo web run --debug'
|
|
120
|
+
)
|
|
121
|
+
}
|
|
122
|
+
end
|
|
123
|
+
end
|
|
124
|
+
end
|
|
125
|
+
end
|
|
@@ -10,8 +10,14 @@ require 'pindo/options/core/global_options_state'
|
|
|
10
10
|
|
|
11
11
|
# 参数组 (groups/)
|
|
12
12
|
require 'pindo/options/groups/option_group'
|
|
13
|
+
require 'pindo/options/groups/global_options'
|
|
14
|
+
require 'pindo/options/groups/common_options'
|
|
13
15
|
require 'pindo/options/groups/build_options'
|
|
14
16
|
require 'pindo/options/groups/jps_options'
|
|
15
17
|
require 'pindo/options/groups/unity_options'
|
|
16
18
|
require 'pindo/options/groups/git_options'
|
|
17
19
|
require 'pindo/options/groups/tool_options'
|
|
20
|
+
require 'pindo/options/groups/appstore_options'
|
|
21
|
+
require 'pindo/options/groups/pod_options'
|
|
22
|
+
require 'pindo/options/groups/ios_tool_options'
|
|
23
|
+
require 'pindo/options/groups/utils_options'
|
data/lib/pindo/version.rb
CHANGED
|
@@ -6,13 +6,13 @@ require 'time'
|
|
|
6
6
|
|
|
7
7
|
module Pindo
|
|
8
8
|
|
|
9
|
-
VERSION = "5.18.
|
|
9
|
+
VERSION = "5.18.5"
|
|
10
10
|
|
|
11
11
|
class VersionCheck
|
|
12
12
|
RUBYGEMS_API = 'https://rubygems.org/api/v1/gems/pindo.json'
|
|
13
13
|
VERSION_INFO_FILE = File.expand_path('~/.pindo/version_info.yml')
|
|
14
14
|
CHECK_INTERVAL = 5 * 60 * 60 # 5小时检查一次
|
|
15
|
-
CONFIG_MIN_VERSION = '1.
|
|
15
|
+
CONFIG_MIN_VERSION = '1.8.0' # 硬编码的配置版本要求
|
|
16
16
|
|
|
17
17
|
class << self
|
|
18
18
|
# 主版本检查方法(保持向后兼容)
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pindo
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 5.18.
|
|
4
|
+
version: 5.18.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- wade
|
|
@@ -486,14 +486,20 @@ files:
|
|
|
486
486
|
- lib/pindo/options/core/option_initializer.rb
|
|
487
487
|
- lib/pindo/options/core/option_item.rb
|
|
488
488
|
- lib/pindo/options/core/option_value_parser.rb
|
|
489
|
+
- lib/pindo/options/groups/appstore_options.rb
|
|
489
490
|
- lib/pindo/options/groups/build_options.rb
|
|
490
491
|
- lib/pindo/options/groups/cert_options.rb
|
|
492
|
+
- lib/pindo/options/groups/common_options.rb
|
|
491
493
|
- lib/pindo/options/groups/git_options.rb
|
|
494
|
+
- lib/pindo/options/groups/global_options.rb
|
|
495
|
+
- lib/pindo/options/groups/ios_tool_options.rb
|
|
492
496
|
- lib/pindo/options/groups/jps_options.rb
|
|
493
497
|
- lib/pindo/options/groups/option_group.rb
|
|
498
|
+
- lib/pindo/options/groups/pod_options.rb
|
|
494
499
|
- lib/pindo/options/groups/task_options.rb
|
|
495
500
|
- lib/pindo/options/groups/tool_options.rb
|
|
496
501
|
- lib/pindo/options/groups/unity_options.rb
|
|
502
|
+
- lib/pindo/options/groups/utils_options.rb
|
|
497
503
|
- lib/pindo/options/helpers/bundleid_selector.rb
|
|
498
504
|
- lib/pindo/options/helpers/git_constants.rb
|
|
499
505
|
- lib/pindo/options/options.rb
|