pindo 4.9.3 → 4.9.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.
@@ -64,21 +64,40 @@ module Pindo
64
64
  end
65
65
 
66
66
  def run
67
+ pindo_project_dir = Dir.pwd
67
68
 
68
- pindo_unity_project_dir = Dir.pwd
69
69
  build_helper = Pindo::BuildHelper.share_instance
70
- unless build_helper.ios_project?(pindo_unity_project_dir)
71
- raise Informative, "当前目录不是iOS工程,请在iOS工程根目录下执行此命令"
70
+ project_type = build_helper.project_type(pindo_project_dir)
71
+
72
+ args_temp = []
73
+ args_temp << "--proj=#{@args_proj_name}" if @args_proj_name
74
+ args_temp << "--upload" if @args_upload_flag
75
+ args_temp << "--send" if @args_send_flag
76
+ case project_type
77
+ when :ios
78
+ ios_build
79
+ when :android
80
+ raise Informative, "Android 工程, 请使用 pindo android build"
81
+ when :unity
82
+ raise Informative, "Unity 工程, 请使用 pindo unity ipa"
83
+ else
84
+ raise Informative, "当前目录不是工程目录,不能编译"
72
85
  end
86
+
87
+ end
73
88
 
89
+ def ios_build
90
+
91
+ pindo_project_dir = Dir.pwd
92
+ build_helper = Pindo::BuildHelper.share_instance
74
93
  if @args_upload_flag
75
- is_need_add_tag,tag_action_parms = build_helper.check_is_need_add_tag?(pindo_unity_project_dir)
94
+ build_helper.check_check_and_install_cliff(pindo_project_dir)
95
+ is_need_add_tag,tag_action_parms = build_helper.check_is_need_add_tag?(pindo_project_dir)
76
96
  if is_need_add_tag
77
97
  Pindo::Command::Dev::Tag::run(tag_action_parms)
78
98
  end
79
99
  end
80
100
 
81
-
82
101
  app_info_obj = nil
83
102
  if @args_upload_flag
84
103
  proj_name = @args_proj_name
@@ -90,24 +109,13 @@ module Pindo
90
109
  Pindo::Command::Deploy::Build::run(args_temp)
91
110
 
92
111
 
93
- pindo_new_project_dir = Dir.pwd
94
- build_path = File.join(pindo_new_project_dir, "build", "*.{ipa,app,apk}")
112
+ Dir.chdir(pindo_project_dir)
113
+ build_path = File.join(pindo_project_dir, "build", "*.{ipa,app,apk}")
95
114
  ipa_file_upload = Dir.glob(build_path).max_by {|f| File.mtime(f)}
96
115
 
97
116
  if !ipa_file_upload.nil? && !app_info_obj.nil?
98
117
 
99
118
  description = nil
100
- if File.exist?(File.join(pindo_new_project_dir, ".release_info"))
101
- description = File.read(File.join(pindo_new_project_dir, ".release_info"))
102
- else
103
- if File.exist?(File.join(pindo_new_project_dir, ".git"))
104
- description = git!(%W(-C #{pindo_new_project_dir} show -s --format=%h::%s)).strip
105
- unless !description.nil? && description.length > 10
106
- description = nil
107
- end
108
- end
109
- end
110
-
111
119
  result_data = PgyerHelper.share_instace.start_upload(app_info_obj:app_info_obj, ipa_file_upload:ipa_file_upload, description:description)
112
120
  if !result_data.nil? && !result_data["data"].nil? && !result_data["data"]["id"].nil?
113
121
  msg_data = PgyerHelper.share_instace.make_msg_data(app_info_obj:app_info_obj, app_version_info_obj:result_data["data"])
@@ -118,11 +126,8 @@ module Pindo
118
126
  end
119
127
  end
120
128
  end
121
-
122
-
123
129
  end
124
130
 
125
-
126
131
  end
127
132
  end
128
133
  end
@@ -199,7 +199,7 @@ module Pindo
199
199
  applovin_args = []
200
200
  applovin_args << "--appstore"
201
201
  applovin_args << "--install"
202
- Pindo::Command::Dev::Applovin::run(applovin_args)
202
+ Pindo::Command::Ios::Applovin::run(applovin_args)
203
203
  end
204
204
 
205
205
  if @build_flag
@@ -1,5 +1,3 @@
1
-
2
-
3
1
  require 'highline/import'
4
2
  require 'fileutils'
5
3
  require 'pindo/module/pgyer/pgyerhelper'
@@ -9,11 +7,27 @@ module Pindo
9
7
  class Pgyer < Command
10
8
  class Apptest < Pgyer
11
9
 
12
-
13
10
  self.summary = '获取pgyer中指定app的测试链接和二维码'
14
11
 
15
12
  self.description = <<-DESC
16
- 获取pgyer中指定app的测试链接和二维码,终端运行:pindo pgyer apptest
13
+ 获取pgyer中指定app的测试链接和二维码。
14
+
15
+ 支持功能:
16
+
17
+ * 获取app测试链接
18
+ * 获取app二维码
19
+ * 发送测试信息
20
+ * 查看历史版本
21
+
22
+ 使用示例:
23
+
24
+ $ pindo pgyer apptest # 获取当前目录项目的测试链接
25
+
26
+ $ pindo pgyer apptest --proj=demo # 获取指定项目的测试链接
27
+
28
+ $ pindo pgyer apptest --list # 列出历史版本供选择
29
+
30
+ $ pindo pgyer apptest --send # 发送测试信息
17
31
  DESC
18
32
 
19
33
  self.arguments = [
@@ -29,7 +43,6 @@ module Pindo
29
43
  ].concat(super)
30
44
  end
31
45
 
32
-
33
46
  def initialize(argv)
34
47
 
35
48
  @args_login_flag = argv.flag?('login', false)
@@ -55,7 +68,6 @@ module Pindo
55
68
  raise Informative, "#{proj_name} 错误, 请输入正确的App代号名称, pgyer网站没有该App"
56
69
  end
57
70
 
58
-
59
71
  if !app_info_obj.nil?
60
72
 
61
73
  version_item_obj = PgyerHelper.share_instace.get_versioon_history_item(app_info_obj:app_info_obj, list_select_flat:@args_list_flag)
@@ -79,7 +91,6 @@ module Pindo
79
91
 
80
92
  end
81
93
 
82
-
83
94
  end
84
95
  end
85
96
  end
@@ -1,5 +1,3 @@
1
-
2
-
3
1
  require 'highline/import'
4
2
  require 'fileutils'
5
3
  require 'pindo/module/pgyer/pgyerhelper'
@@ -13,7 +11,21 @@ module Pindo
13
11
  self.summary = '修改pgyer中已经上传安装包的备注信息'
14
12
 
15
13
  self.description = <<-DESC
16
- 修改pgyer中已经上传安装包的备注信息,终端运行:pindo pgyer apptest
14
+ 修改pgyer中已经上传安装包的备注信息。
15
+
16
+ 支持功能:
17
+
18
+ * 修改版本备注
19
+ * 查看历史版本
20
+ * 选择指定版本
21
+
22
+ 使用示例:
23
+
24
+ $ pindo pgyer comment # 修改当前目录项目的最新版本备注
25
+
26
+ $ pindo pgyer comment --proj=demo # 修改指定项目的版本备注
27
+
28
+ $ pindo pgyer comment --list # 列出历史版本供选择修改
17
29
  DESC
18
30
 
19
31
  self.arguments = [
@@ -1,5 +1,3 @@
1
-
2
-
3
1
  require 'highline/import'
4
2
  require 'fileutils'
5
3
  require 'pindo/module/pgyer/pgyerhelper'
@@ -15,7 +13,21 @@ module Pindo
15
13
  self.summary = '从pgyer下载指定app的安装包'
16
14
 
17
15
  self.description = <<-DESC
18
- 从pgyer下载指定app的安装包。终端直接运行:pindo pgyer download
16
+ 从pgyer下载指定app的安装包。
17
+
18
+ 支持功能:
19
+
20
+ * 下载指定版本安装包
21
+ * 查看历史版本
22
+ * 显示下载进度
23
+
24
+ 使用示例:
25
+
26
+ $ pindo pgyer download # 下载当前目录项目的最新版本
27
+
28
+ $ pindo pgyer download --proj=demo # 下载指定项目的安装包
29
+
30
+ $ pindo pgyer download --list # 列出历史版本供选择下载
19
31
  DESC
20
32
 
21
33
  self.arguments = [
@@ -1,5 +1,3 @@
1
-
2
-
3
1
  require 'highline/import'
4
2
  require 'fileutils'
5
3
  require 'pindo/module/pgyer/pgyerhelper'
@@ -11,10 +9,22 @@ module Pindo
11
9
 
12
10
  class Login < Pgyer
13
11
 
14
- self.summary = '登录pgyer'
12
+ self.summary = '登录pgyer测试平台'
15
13
 
16
14
  self.description = <<-DESC
17
- 登录pgyer,终端运行:pindo pgyer login
15
+ 登录pgyer测试平台。
16
+
17
+ 支持功能:
18
+
19
+ * 账号密码登录
20
+ * 记住登录状态
21
+ * 强制重新登录
22
+
23
+ 使用示例:
24
+
25
+ $ pindo pgyer login # 登录pgyer
26
+
27
+ $ pindo pgyer login --force # 强制重新登录
18
28
  DESC
19
29
 
20
30
  self.arguments = [
@@ -1,5 +1,3 @@
1
-
2
-
3
1
  require 'highline/import'
4
2
  require 'fileutils'
5
3
  require 'pindo/module/pgyer/pgyerhelper'
@@ -10,10 +8,28 @@ module Pindo
10
8
  class Resign < Pgyer
11
9
 
12
10
 
13
- self.summary = '获取pgyer中指定app的测试链接和二维码'
11
+ self.summary = '重签名pgyer中的安装包'
14
12
 
15
13
  self.description = <<-DESC
16
- 获取pgyer中指定app的测试链接和二维码,终端运行:pindo pgyer resign
14
+ 重签名pgyer中的安装包。
15
+
16
+ 支持功能:
17
+
18
+ * 选择证书重签名
19
+ * 查看历史版本
20
+ * 发送测试信息
21
+
22
+ 使用示例:
23
+
24
+ $ pindo pgyer resign # 重签名当前项目最新版本
25
+
26
+ $ pindo pgyer resign --proj=demo # 重签名指定项目
27
+
28
+ $ pindo pgyer resign --list # 列出历史版本供选择
29
+
30
+ $ pindo pgyer resign --certid=xxx # 使用指定证书重签名
31
+
32
+ $ pindo pgyer resign --send # 重签名后发送测试信息
17
33
  DESC
18
34
 
19
35
  self.arguments = [
@@ -1,11 +1,9 @@
1
-
2
-
3
1
  require 'highline/import'
4
2
  require 'fileutils'
5
3
  require 'json'
6
4
  require 'faraday'
7
5
  require 'pindo/module/pgyer/pgyerhelper'
8
-
6
+ require 'pindo/module/build/buildhelper'
9
7
 
10
8
  module Pindo
11
9
  class Command
@@ -13,10 +11,32 @@ module Pindo
13
11
  class Upload < Pgyer
14
12
 
15
13
 
16
- self.summary = '上传ipa包到pgyer测试网站'
14
+ self.summary = '上传安装包到pgyer测试平台'
17
15
 
18
16
  self.description = <<-DESC
19
- 上传ipa包到pgyer。用法:例如:pindo pgyer upload path/to/demo.ipa
17
+ 上传安装包到pgyer测试平台。
18
+
19
+ 支持功能:
20
+
21
+ * 上传ipa/apk安装包
22
+ * 添加版本描述
23
+ * 上传附件
24
+ * 重签名
25
+ * 发送测试信息
26
+
27
+ 使用示例:
28
+
29
+ $ pindo pgyer upload path/to/app.ipa # 上传指定安装包
30
+
31
+ $ pindo pgyer upload --proj=demo # 上传到指定项目
32
+
33
+ $ pindo pgyer upload --desc="版本说明" # 添加版本描述
34
+
35
+ $ pindo pgyer upload --attach=file.zip # 上传附件
36
+
37
+ $ pindo pgyer upload --resign # 上传后重签名
38
+
39
+ $ pindo pgyer upload --send # 上传后发送企业微信测试信息
20
40
  DESC
21
41
 
22
42
  self.arguments = [
@@ -33,7 +53,7 @@ module Pindo
33
53
  ['--desc', '指定上传的备注信息: -pindo pgyer upload -desc="1.upload message"'],
34
54
  ['--resign', '上传到之后是否重签名,用法:pindo pgyer upload --resign'],
35
55
  ['--certid', '设置重签名的正式id,用法:pindo pgyer upload --certid=com.test.bundleid'],
36
-
56
+
37
57
  ].concat(super)
38
58
  end
39
59
 
@@ -85,9 +105,39 @@ module Pindo
85
105
  def run
86
106
 
87
107
  current_project_dir = Dir.pwd
108
+ build_helper = Pindo::BuildHelper.share_instance
109
+ build_helper.check_check_and_install_cliff(current_project_dir)
110
+ is_need_add_tag,tag_action_parms = build_helper.check_is_need_add_tag?(current_project_dir)
111
+
112
+ Dir.chdir(current_project_dir)
113
+ if is_need_add_tag
114
+ Pindo::Command::Dev::Tag::run(tag_action_parms)
115
+ end
116
+
88
117
  if @args_ipa_file.nil? || !File.exist?(@args_ipa_file)
89
- build_path = File.join(current_project_dir, "build", "*.{ipa,app,apk}")
90
- @args_ipa_file = Dir.glob(build_path).max_by {|f| File.mtime(f)}
118
+ # 获取build目录下的ipa文件
119
+ project_type = build_helper.project_type(current_project_dir)
120
+ case project_type
121
+ when :ios
122
+ build_path = File.join(current_project_dir, "build", "*.{ipa,app}")
123
+ @args_ipa_file = Dir.glob(build_path).max_by {|f| File.mtime(f)}
124
+ when :android
125
+ build_path = File.join(current_project_dir, "build", "*.{apk}")
126
+ @args_ipa_file = Dir.glob(build_path).max_by {|f| File.mtime(f)}
127
+ when :unity
128
+
129
+ if File.exist?(File.join(current_project_dir, "GoodPlatform/BaseiOS"))
130
+ build_path = File.join(current_project_dir, "GoodPlatform/BaseiOS/build", "*.{ipa,app}")
131
+ @args_ipa_file = Dir.glob(build_path).max_by {|f| File.mtime(f)}
132
+ else
133
+ build_path = File.join(current_project_dir, "GoodPlatform/iOS/build", "*.{ipa,app}")
134
+ @args_ipa_file = Dir.glob(build_path).max_by {|f| File.mtime(f)}
135
+ end
136
+ else
137
+ raise Informative, "当前目录不是工程目录,不能编译"
138
+ end
139
+
140
+
91
141
  if @args_ipa_file.nil?
92
142
  build_path = File.join(current_project_dir, "*.{ipa,app,apk}")
93
143
  @args_ipa_file = Dir.glob(build_path).max_by {|f| File.mtime(f)}
@@ -123,7 +173,6 @@ module Pindo
123
173
  msg_data = PgyerHelper.share_instace.make_msg_data(app_info_obj:app_info_obj, app_version_info_obj:result_data["data"])
124
174
  PgyerHelper.share_instace.print_app_version_info(msg_data:msg_data)
125
175
 
126
-
127
176
  if @args_send_flag
128
177
  if @args_resign_flag
129
178
  args = []
@@ -141,9 +190,6 @@ module Pindo
141
190
  end
142
191
  end
143
192
 
144
-
145
-
146
-
147
193
  end
148
194
 
149
195
  end
@@ -77,23 +77,24 @@ module Pindo
77
77
 
78
78
  def run
79
79
 
80
- pindo_unity_project_dir = Dir.pwd
80
+ pindo_project_dir = Dir.pwd
81
81
 
82
82
  # 检查是否是Unity工程
83
83
  unity_helper = Pindo::Client::UnityHelper.share_instance
84
- unless unity_helper.unity_project?(pindo_unity_project_dir)
84
+ unless unity_helper.unity_project?(pindo_project_dir)
85
85
  raise Informative, "当前目录不是Unity工程,请在Unity工程根目录下执行此命令"
86
86
  end
87
87
 
88
88
  if @args_upload_flag
89
89
  build_helper = Pindo::BuildHelper.share_instance
90
- is_need_add_tag,tag_action_parms = build_helper.check_is_need_add_tag?(pindo_unity_project_dir)
90
+ build_helper.check_check_and_install_cliff(pindo_project_dir)
91
+ is_need_add_tag,tag_action_parms = build_helper.check_is_need_add_tag?(pindo_project_dir)
91
92
  if is_need_add_tag
92
93
  Pindo::Command::Dev::Tag::run(tag_action_parms)
93
94
  end
94
95
  end
95
96
 
96
- project_unity_version = unity_helper.get_unity_version(pindo_unity_project_dir)
97
+ project_unity_version = unity_helper.get_unity_version(pindo_project_dir)
97
98
  project_unity_major_version = project_unity_version.split('.')[0..1].join('.')
98
99
  puts
99
100
  puts "工程的Unity版本: #{project_unity_version}"
@@ -106,7 +107,6 @@ module Pindo
106
107
  proj_name = @args_proj_name
107
108
  app_info_obj = PgyerHelper.share_instace.prepare_upload(working_directory:Dir.pwd, proj_name:proj_name)
108
109
  end
109
- puts app_info_obj
110
110
 
111
111
  mainapp_bundleid= nil
112
112
  if @args_deploy_flag
@@ -117,16 +117,16 @@ module Pindo
117
117
 
118
118
  isLibrary = @args_base_flag
119
119
 
120
- ios_export_lib_dir = File.join(pindo_unity_project_dir, "GoodPlatform/BaseiOS")
120
+ ios_export_lib_dir = File.join(pindo_project_dir, "GoodPlatform/BaseiOS")
121
121
  if File.directory?(ios_export_lib_dir)
122
122
  isLibrary = true
123
123
  end
124
124
 
125
- pindo_ios_project_dir = File.join(pindo_unity_project_dir, "GoodPlatform/iOS")
125
+ pindo_ios_project_dir = File.join(pindo_project_dir, "GoodPlatform/iOS")
126
126
  if isLibrary
127
127
  pindo_ios_project_dir = ios_export_lib_dir
128
128
  end
129
- unity_helper.build_project(unity_exe_full_path:unity_exe_path, project_path:pindo_unity_project_dir, platform:'iOS', isLibrary:isLibrary)
129
+ unity_helper.build_project(unity_exe_full_path:unity_exe_path, project_path:pindo_project_dir, platform:'iOS', isLibrary:isLibrary)
130
130
 
131
131
 
132
132
  args_temp = []
@@ -14,6 +14,95 @@ module Pindo
14
14
  end
15
15
  end
16
16
 
17
+ def check_check_and_install_cliff(project_path)
18
+ if is_git_directory?(local_repo_dir: project_path)
19
+ current_git_root_path = git_root_directory(local_repo_dir: project_path)
20
+ unless File.exist?(File.join(current_git_root_path, 'cliff.toml'))
21
+ add_git_cliffconfig(current_git_root_path)
22
+ end
23
+ end
24
+
25
+ begin
26
+ if !system('which git-cliff > /dev/null 2>&1')
27
+ puts "安装git-cliff..."
28
+ install_gitcliff()
29
+ end
30
+ rescue
31
+ raise Informative, "安装git-cliff出现错误"
32
+ end
33
+ end
34
+
35
+ def write_gitignore(git_root_dir)
36
+ gitignore_path = File.join(git_root_dir, '.gitignore')
37
+ gitignore_content = <<~GITIGNORE
38
+ # Build logs
39
+ build_ios.log
40
+ CHANGELOG.md
41
+
42
+ # Platform specific directories
43
+ /GoodPlatform/iOS/config.json
44
+ /GoodPlatform/iOS/*
45
+ /GoodPlatform/Android/*
46
+ /GoodPlatform/MacOS/*
47
+ /GoodPlatform/BaseiOS/Unity/*
48
+ /GoodPlatform/BaseiOS/Pods/
49
+ /GoodPlatform/BaseiOS/Podfile.lock
50
+ /GoodPlatform/BaseAndroid/Unity/*
51
+ /GoodPlatform/BaseMac/Unity/*
52
+ GITIGNORE
53
+ # Append to existing .gitignore or create new one
54
+ File.open(gitignore_path, 'a') do |f|
55
+ f.puts("\n# Added by Pindo")
56
+ f.puts(gitignore_content)
57
+ end
58
+ end
59
+
60
+ def add_git_cliffconfig(project_path)
61
+
62
+ temp_dir = Dir.pwd
63
+ Funlog.instance.fancyinfo_start("添加日志变更git-cliff配置...")
64
+ if is_git_directory?(local_repo_dir: project_path)
65
+ current_git_root_path = git_root_directory(local_repo_dir: project_path)
66
+ Dir.chdir(current_git_root_path)
67
+ pindo_common_dir = clone_pindo_common_config_repo(force_delete:false)
68
+ if File.exist?(File.join(pindo_common_dir, 'cliff.toml'))
69
+ FileUtils.cp_r(File.join(pindo_common_dir, 'cliff.toml'), File.join(current_git_root_path, 'cliff.toml'))
70
+ end
71
+ Funlog.instance.fancyinfo_update("仓库添加git-cliff配置")
72
+ write_gitignore(current_git_root_path)
73
+ Funlog.instance.fancyinfo_update("仓库添加.gitignore")
74
+ Dir.chdir(current_git_root_path)
75
+ current_branch = git!(%W(-C #{current_git_root_path} rev-parse --abbrev-ref HEAD)).strip
76
+ git!(%W(-C #{current_git_root_path} add cliff.toml))
77
+ git!(%W(-C #{current_git_root_path} add .gitignore))
78
+ commit_message = "docs: 添加日志变更配置".encode('UTF-8')
79
+ git!(%W(-C #{current_git_root_path} commit -m #{commit_message}))
80
+ git!(%W(-C #{current_git_root_path} push origin #{current_branch}))
81
+
82
+ else
83
+ Funlog.instance.fancyinfo_error("当前目录不是git仓库,请在git仓库根目录下执行此命令")
84
+ raise Informative, "当前目录不是git仓库,请在git仓库根目录下执行此命令"
85
+ Dir.chdir(temp_dir)
86
+ end
87
+ Funlog.instance.fancyinfo_success("日志变更git-cliff配置完成!")
88
+ Dir.chdir(temp_dir)
89
+ end
90
+
91
+ def install_gitcliff()
92
+ puts "\n检查git-cliff命令是否安装"
93
+ # 请检查git-cliff命令是否安装
94
+ begin
95
+ if !system('which git-cliff > /dev/null 2>&1')
96
+ # /bin/bash -c "$(curl -fsSL https://gitee.com/goodtools/env/raw/master/gitcliff_install.sh)"
97
+ #安装git-cliff
98
+ system('bash -c "$(curl -fsSL https://gitee.com/goodtools/env/raw/master/gitcliff_install.sh)"')
99
+ end
100
+ rescue
101
+ raise Informative, "安装git-cliff出现错误"
102
+ end
103
+ end
104
+
105
+
17
106
  def check_is_need_add_tag?(project_path)
18
107
  tag_action_parms = nil
19
108
  is_need_add_tag = false
data/lib/pindo/version.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  module Pindo
2
2
 
3
- VERSION = "4.9.3"
3
+ VERSION = "4.9.5"
4
4
 
5
5
  class VersionCheck
6
6
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pindo
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.9.3
4
+ version: 4.9.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - wade
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-02-22 00:00:00.000000000 Z
10
+ date: 2025-02-23 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: claide
@@ -274,15 +274,10 @@ files:
274
274
  - lib/pindo/command/deploy/updateconfig.rb
275
275
  - lib/pindo/command/deploy/uploadipa.rb
276
276
  - lib/pindo/command/dev.rb
277
- - lib/pindo/command/dev/applovin.rb
278
277
  - lib/pindo/command/dev/autobuild.rb
279
- - lib/pindo/command/dev/autoresign.rb
280
278
  - lib/pindo/command/dev/build.rb
281
- - lib/pindo/command/dev/confusecode.rb
282
- - lib/pindo/command/dev/confuseproj.rb
283
- - lib/pindo/command/dev/createbuild.rb
284
279
  - lib/pindo/command/dev/debug.rb
285
- - lib/pindo/command/dev/pgyercert.rb
280
+ - lib/pindo/command/dev/repoinit.rb
286
281
  - lib/pindo/command/dev/tag.rb
287
282
  - lib/pindo/command/env.rb
288
283
  - lib/pindo/command/env/dreamstudio.rb