pindo 4.6.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (120) hide show
  1. checksums.yaml +7 -0
  2. data/bin/pindo +35 -0
  3. data/lib/pindo/base/aeshelper.rb +31 -0
  4. data/lib/pindo/base/deviceinfo.rb +90 -0
  5. data/lib/pindo/base/executable.rb +224 -0
  6. data/lib/pindo/base/githelper.rb +489 -0
  7. data/lib/pindo/base/hashhelper.rb +134 -0
  8. data/lib/pindo/base/plaininformative.rb +15 -0
  9. data/lib/pindo/base/plistbuddyexecutable.rb +121 -0
  10. data/lib/pindo/base/standarderror.rb +14 -0
  11. data/lib/pindo/client/applovinclient.rb +156 -0
  12. data/lib/pindo/client/aws3sclient.rb +183 -0
  13. data/lib/pindo/client/bossclient.rb +229 -0
  14. data/lib/pindo/client/bossconfigclient.rb +175 -0
  15. data/lib/pindo/client/giteeclient.rb +65 -0
  16. data/lib/pindo/client/httpclient.rb +40 -0
  17. data/lib/pindo/client/pgyerclient.rb +439 -0
  18. data/lib/pindo/client/tgateclient.rb +103 -0
  19. data/lib/pindo/command.rb +101 -0
  20. data/lib/pindo/config/pindoconfig.rb +439 -0
  21. data/lib/pindo/config/pindouserlocalconfig.rb +81 -0
  22. data/lib/pindo/deploy/Fastfile +233 -0
  23. data/lib/pindo/deploy/build.rb +167 -0
  24. data/lib/pindo/deploy/bundleid.rb +245 -0
  25. data/lib/pindo/deploy/cert.rb +508 -0
  26. data/lib/pindo/deploy/check.rb +79 -0
  27. data/lib/pindo/deploy/configproj.rb +89 -0
  28. data/lib/pindo/deploy/confusecode.rb +248 -0
  29. data/lib/pindo/deploy/confuseproj.rb +112 -0
  30. data/lib/pindo/deploy/fabric.rb +58 -0
  31. data/lib/pindo/deploy/getitcinfo.rb +248 -0
  32. data/lib/pindo/deploy/iap.rb +796 -0
  33. data/lib/pindo/deploy/initconfig.rb +128 -0
  34. data/lib/pindo/deploy/itcapp.rb +147 -0
  35. data/lib/pindo/deploy/itcinfo.rb +369 -0
  36. data/lib/pindo/deploy/pem.rb +55 -0
  37. data/lib/pindo/deploy/pullconfig.rb +46 -0
  38. data/lib/pindo/deploy/pushconfig.rb +83 -0
  39. data/lib/pindo/deploy/quswark.rb +146 -0
  40. data/lib/pindo/deploy/quswauth.rb +67 -0
  41. data/lib/pindo/deploy/reportbug.rb +135 -0
  42. data/lib/pindo/deploy/resign.rb +338 -0
  43. data/lib/pindo/deploy/tag.rb +108 -0
  44. data/lib/pindo/deploy/updateconfig.rb +129 -0
  45. data/lib/pindo/deploy/uploadipa.rb +63 -0
  46. data/lib/pindo/deploy.rb +44 -0
  47. data/lib/pindo/dev/autobuild.rb +204 -0
  48. data/lib/pindo/dev/autoresign.rb +186 -0
  49. data/lib/pindo/dev/confusecode.rb +127 -0
  50. data/lib/pindo/dev/confuseproj.rb +111 -0
  51. data/lib/pindo/dev/createbuild.rb +159 -0
  52. data/lib/pindo/dev/debug.rb +141 -0
  53. data/lib/pindo/dev/pub.rb +171 -0
  54. data/lib/pindo/dev/renewcert.rb +142 -0
  55. data/lib/pindo/dev.rb +23 -0
  56. data/lib/pindo/env/dreamstudio.rb +53 -0
  57. data/lib/pindo/env/flutter.rb +59 -0
  58. data/lib/pindo/env/flutter.sh +116 -0
  59. data/lib/pindo/env/quarkenv.rb +58 -0
  60. data/lib/pindo/env/swarkenv.rb +62 -0
  61. data/lib/pindo/env/workhard.rb +56 -0
  62. data/lib/pindo/env.rb +17 -0
  63. data/lib/pindo/ipa/autoresign.rb +188 -0
  64. data/lib/pindo/ipa/import.rb +261 -0
  65. data/lib/pindo/ipa/output.rb +396 -0
  66. data/lib/pindo/ipa.rb +22 -0
  67. data/lib/pindo/lib/forcepush.rb +159 -0
  68. data/lib/pindo/lib/lint.rb +115 -0
  69. data/lib/pindo/lib/push.rb +143 -0
  70. data/lib/pindo/lib/update.rb +75 -0
  71. data/lib/pindo/lib.rb +18 -0
  72. data/lib/pindo/module/appselect.rb +200 -0
  73. data/lib/pindo/module/appstore_in_app_purchase.rb +1803 -0
  74. data/lib/pindo/module/appstore_metadata_connect_api_helper.rb +12 -0
  75. data/lib/pindo/module/appstore_metadata_fastlane_helper.rb +922 -0
  76. data/lib/pindo/module/buildconfighelper.rb +13 -0
  77. data/lib/pindo/module/buildhelper.rb +76 -0
  78. data/lib/pindo/module/commonconfuseproj.rb +271 -0
  79. data/lib/pindo/module/config_project.sh +143 -0
  80. data/lib/pindo/module/configprojhelper.rb +631 -0
  81. data/lib/pindo/module/iap_tier.json +813 -0
  82. data/lib/pindo/module/icon_contents.json +116 -0
  83. data/lib/pindo/module/imessage_icon.json +91 -0
  84. data/lib/pindo/module/imgset_contents.json +21 -0
  85. data/lib/pindo/module/launchimg_contents.json +21 -0
  86. data/lib/pindo/module/pemcreate.rb +63 -0
  87. data/lib/pindo/module/pgyerhelper.rb +339 -0
  88. data/lib/pindo/module/xcodebuildpre.rb +258 -0
  89. data/lib/pindo/module/xcodehelper.rb +521 -0
  90. data/lib/pindo/options/appconfigoptions.rb +23 -0
  91. data/lib/pindo/options/deployoptions.rb +363 -0
  92. data/lib/pindo/pgyer/apptest.rb +104 -0
  93. data/lib/pindo/pgyer/comment.rb +95 -0
  94. data/lib/pindo/pgyer/download.rb +105 -0
  95. data/lib/pindo/pgyer/login.rb +61 -0
  96. data/lib/pindo/pgyer/upload.rb +234 -0
  97. data/lib/pindo/pgyer.rb +17 -0
  98. data/lib/pindo/repo/clone.rb +78 -0
  99. data/lib/pindo/repo/create.rb +55 -0
  100. data/lib/pindo/repo/login.rb +64 -0
  101. data/lib/pindo/repo/search.rb +60 -0
  102. data/lib/pindo/repo.rb +16 -0
  103. data/lib/pindo/setup.rb +60 -0
  104. data/lib/pindo/upgrade.rb +56 -0
  105. data/lib/pindo/utils/applovin.rb +213 -0
  106. data/lib/pindo/utils/boss.rb +209 -0
  107. data/lib/pindo/utils/clearcert.rb +60 -0
  108. data/lib/pindo/utils/device.rb +279 -0
  109. data/lib/pindo/utils/icon.rb +91 -0
  110. data/lib/pindo/utils/icon.sh +133 -0
  111. data/lib/pindo/utils/podindex.rb +56 -0
  112. data/lib/pindo/utils/podindex.sh +30 -0
  113. data/lib/pindo/utils/renewproj.rb +146 -0
  114. data/lib/pindo/utils/tgate.rb +159 -0
  115. data/lib/pindo/utils/xcassets.rb +46 -0
  116. data/lib/pindo/utils/xcassets.sh +88 -0
  117. data/lib/pindo/utils.rb +29 -0
  118. data/lib/pindo/version.rb +110 -0
  119. data/lib/pindo.rb +34 -0
  120. metadata +364 -0
@@ -0,0 +1,55 @@
1
+ require 'fileutils'
2
+
3
+ module Pindo
4
+ class Command
5
+ class Deploy < Command
6
+ class Pem < Deploy
7
+
8
+
9
+ include Command::DeployOptions
10
+ include Pemcreate
11
+
12
+ self.summary = '创建App的push证书'
13
+
14
+ self.description = <<-DESC
15
+ 创建App的push证书
16
+ DESC
17
+
18
+ self.arguments = [
19
+ CLAide::Argument.new('path/to/config.json', true),
20
+ ]
21
+
22
+ def run
23
+
24
+ login(apple_id:@apple_id)
25
+
26
+ pem_type="prod"
27
+ if @args_dev_flag
28
+ pem_type = "dev"
29
+ end
30
+
31
+ temp_dir = "push_" + Time.now.to_i.to_s
32
+ push_path = File.join(File.expand_path('~/Desktop/'), temp_dir)
33
+ FileUtils.mkdir_p(push_path) unless File.exist?(push_path)
34
+ puts push_path
35
+
36
+ x509_cert_path = create_certificate(bundle_id:@bundle_id,type: pem_type, output_path:push_path);
37
+
38
+ if File.exist?(x509_cert_path) && File.exist?(push_path)
39
+ app_config_dir = clong_buildconfig_repo(repo_name: @deploy_repo_name)
40
+ push_repo_dir = File.join(app_config_dir, "push")
41
+
42
+ if !File.exist?(push_repo_dir)
43
+ FileUtils.mkdir(push_repo_dir)
44
+ end
45
+ FileUtils.cp_r(File.join(push_path, "."), push_repo_dir)
46
+
47
+ git_addpush_repo(path:app_config_dir, message:"add push cert")
48
+ end
49
+ end
50
+
51
+ end
52
+ end
53
+ end
54
+ end
55
+
@@ -0,0 +1,46 @@
1
+ require 'fileutils'
2
+
3
+ module Pindo
4
+ class Command
5
+ class Deploy < Command
6
+
7
+ class Pullconfig < Deploy
8
+
9
+ self.summary = '下载并更新App配置仓库'
10
+ self.description = <<-DESC
11
+ 下载并更新App配置仓库.
12
+ DESC
13
+
14
+ self.arguments = [
15
+ CLAide::Argument.new('bundleid', true)
16
+ ]
17
+
18
+ def initialize(argv)
19
+ @args_appconfig_repo_name = argv.shift_argument
20
+ super
21
+ @additional_args = argv.remainder!
22
+ end
23
+
24
+ def validate!
25
+ super
26
+
27
+ if @args_appconfig_repo_name.nil?
28
+ say "You need input a bundle id"
29
+ @args_appconfig_repo_name = ask('App Config Repo Name : ') || nil
30
+ end
31
+ help! 'You need input a repo name' if @args_appconfig_repo_name.nil? || @args_appconfig_repo_name.empty?
32
+ end
33
+
34
+ def run
35
+
36
+ app_config_dir = clong_buildconfig_repo(repo_name: @args_appconfig_repo_name)
37
+ current=Dir.pwd
38
+ if !app_config_dir.eql?(current) && File.exist?(File.join(app_config_dir, 'config.json'))
39
+ FileUtils.cp_r(File.join(app_config_dir, "config.json"), current)
40
+ end
41
+ end
42
+
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,83 @@
1
+ require 'fileutils'
2
+ require 'json'
3
+
4
+ module Pindo
5
+ class Command
6
+ class Deploy < Command
7
+
8
+ class Pushconfig < Deploy
9
+
10
+ self.summary = '将app配置上传并且推送到远程仓库'
11
+
12
+ self.description = <<-DESC
13
+ 将app配置上传并且推送到远程仓库
14
+ DESC
15
+
16
+ self.arguments = [
17
+ CLAide::Argument.new('path/to/config.json', true)
18
+ ]
19
+
20
+ def self.options
21
+ [
22
+
23
+ ].concat(super)
24
+ end
25
+
26
+ def initialize(argv)
27
+ @args_appconfig = argv.shift_argument || './config.json'
28
+ super
29
+ @additional_args = argv.remainder!
30
+ end
31
+
32
+ def validate!
33
+ super
34
+
35
+ if !@args_appconfig.empty? && File::file?(@args_appconfig)
36
+ @args_appconfig_dir=File::expand_path(File::dirname(@args_appconfig))
37
+ @args_appconfig_fullname=File::join(@args_appconfig_dir, File::basename(@args_appconfig))
38
+ end
39
+
40
+ configJson=JSON.parse(File.read(@args_appconfig_fullname))
41
+ if configJson['account_info'] && configJson['account_info']['apple_acount_id']
42
+ @apple_id = configJson['account_info']['apple_acount_id']
43
+ end
44
+
45
+ if configJson['app_info'] && configJson['app_info']['app_identifier']
46
+ @bundle_id = configJson['app_info']['app_identifier']
47
+ end
48
+
49
+ help! 'Need correct config.json with a bundle id' if @bundle_id.nil? || @bundle_id.empty?
50
+
51
+ end
52
+
53
+ def run
54
+
55
+ app_config_dir = clong_buildconfig_repo(repo_name: @deploy_repo_name)
56
+
57
+ if !File.exist?(app_config_dir)
58
+ puts "Error !!!"
59
+ return
60
+ end
61
+
62
+ current=Dir.pwd
63
+
64
+ if File.exist?(File.join(current, 'config.json'))
65
+ FileUtils.cp_r(File.join(current, "config.json"), app_config_dir)
66
+ end
67
+
68
+ Dir.chdir(app_config_dir)
69
+ files_list = git! ['status', '--porcelain']
70
+ if !files_list.empty?
71
+ git! ['add', "-A"]
72
+ git! ['commit', '-m "update config.json"']
73
+ git! ['push']
74
+ else
75
+ puts "no thing commint"
76
+ end
77
+ Dir.chdir(current)
78
+
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,146 @@
1
+ require 'highline/import'
2
+ require 'fileutils'
3
+ require 'json'
4
+ require 'xcodeproj'
5
+ require 'match'
6
+ require 'yaml'
7
+
8
+ module Pindo
9
+ class Command
10
+ class Deploy < Command
11
+ class Quswark < Deploy
12
+
13
+ include Command::DeployOptions
14
+
15
+ self.summary = 'Xcode工程设置swark或quark'
16
+
17
+ self.description = <<-DESC
18
+ Xcode工程设置swark或quark
19
+ DESC
20
+
21
+ self.arguments = [
22
+ CLAide::Argument.new('path/to/config.json', true),
23
+ ]
24
+
25
+ def self.options
26
+ [
27
+
28
+ ].concat(super)
29
+ end
30
+
31
+ def initialize(argv)
32
+ super
33
+ @additional_args = argv.remainder!
34
+ end
35
+
36
+ def run
37
+
38
+ if @config_json['project_info']['xcode_build_type'] && @config_json["project_info"]["xcode_build_type"].include?("quark")
39
+ quark_run
40
+ elsif @config_json['project_info']['xcode_build_type'] && @config_json["project_info"]["xcode_build_type"].include?("swark")
41
+ swark_run
42
+ else
43
+ swark_run
44
+ end
45
+
46
+ end
47
+
48
+
49
+ def swark_run
50
+
51
+ Pindo::Command::Env::Swarkenv::run([])
52
+ Pindo::Command::Deploy::Quswauth::run([])
53
+
54
+ new_project_dir = Dir.pwd
55
+
56
+ swark_host_name= File.join(new_project_dir, "Swark.host.yaml")
57
+ host_json = {}
58
+
59
+ host_json["remote"] = {}
60
+ host_url = ""
61
+ host_json["remote"]["test"] = ""
62
+
63
+ if @config_json && @config_json['app_setting'] && @config_json['app_setting']['app_client_url']
64
+ host_url = File.join(@config_json['app_setting']['app_client_url'], 'api/v3/init')
65
+ end
66
+
67
+ if @config_json && @config_json['app_setting'] && @config_json['app_setting']['kGUKeyAppClientHost']
68
+ host_url = File.join(@config_json['app_setting']['kGUKeyAppClientHost'], 'api/v3/init')
69
+ end
70
+
71
+ host_json["remote"]["pre"] = host_url
72
+ host_json["remote"]["prod"] = host_url
73
+
74
+
75
+ embed_name = "vdisk.dat"
76
+ category_name = "VMDemo"
77
+ if @config_json['project_info'] && @config_json['project_info']['project_name']
78
+ category_name = @config_json['project_info']['project_name']
79
+ category_name = category_name.gsub(/ /, '');
80
+ category_name = category_name.gsub(/\'/, '');
81
+ embed_name = category_name + ".dat"
82
+ end
83
+ host_json["embed"] = embed_name
84
+
85
+ yaml_to_save = File.open(swark_host_name,"w")
86
+ YAML::dump(host_json,yaml_to_save)
87
+ yaml_to_save.close
88
+
89
+
90
+ swark_mode = 'prod'
91
+ if @args_adhoc_flag || @args_dev_flag
92
+ swark_mode = 'pre'
93
+ end
94
+ command = 'swark host ' + swark_mode
95
+
96
+ # if @config_json['project_info']['xcode_build_type'] && @config_json["project_info"]["xcode_build_type"].include?("swark") && @config_json["project_info"]["xcode_build_type"].include?("confuse")
97
+ # command = command + " --strip-compatibility-swift51"
98
+ # end
99
+ system command
100
+
101
+ end
102
+
103
+ def quark_run
104
+
105
+ Pindo::Command::Env::Quarkenv::run([])
106
+
107
+ new_project_dir = Dir.pwd
108
+
109
+ quark_mode = 'prod'
110
+ if @args_adhoc_flag || @args_dev_flag
111
+ quark_mode = 'test'
112
+ end
113
+ command = 'quark host ' + quark_mode
114
+ system command
115
+
116
+ quark_json_file = File.join(new_project_dir, "QuarkData/Quark.lock")
117
+ quark_json = JSON.parse(File.read(quark_json_file))
118
+
119
+ if @config_json && @config_json['app_setting'] && @config_json['app_setting']['app_client_url']
120
+ quark_json['remote'] = File.join(@config_json['app_setting']['app_client_url'], 'api/init')
121
+ end
122
+
123
+ embed_name = "Meety.dat"
124
+ category_name = "PodsDummy"
125
+ if @config_json['project_info'] && @config_json['project_info']['project_name']
126
+ category_name = @config_json['project_info']['project_name']
127
+ category_name = category_name.gsub(/ /, '');
128
+ category_name = category_name.gsub(/\'/, '');
129
+ embed_name = category_name + ".dat"
130
+ end
131
+ quark_json['embed'] = embed_name
132
+ quark_json['category'] = category_name
133
+ quark_json['env'] = quark_mode
134
+
135
+ File.open(quark_json_file, "w") do |file|
136
+ file.write(JSON.pretty_generate(quark_json))
137
+ file.close
138
+ end
139
+
140
+ end
141
+
142
+
143
+ end
144
+ end
145
+ end
146
+ end
@@ -0,0 +1,67 @@
1
+ require 'highline/import'
2
+ require 'fileutils'
3
+ require 'json'
4
+ require 'xcodeproj'
5
+
6
+ module Pindo
7
+ class Command
8
+ class Deploy < Command
9
+ class Quswauth < Deploy
10
+
11
+ include Command::DeployOptions
12
+
13
+ self.summary = 'Swark给bundle id授权'
14
+
15
+ self.description = <<-DESC
16
+ Swark给bundle id授权
17
+ DESC
18
+
19
+ self.arguments = [
20
+ CLAide::Argument.new('path/to/config.json', true),
21
+ ]
22
+
23
+ def self.options
24
+ [
25
+
26
+ ].concat(super)
27
+ end
28
+
29
+ def initialize(argv)
30
+ super
31
+ @additional_args = argv.remainder!
32
+ end
33
+
34
+ def run
35
+
36
+ swark_authorize_run
37
+ end
38
+
39
+ def swark_authorize_run
40
+
41
+ app_config_dir = File.join(File::expand_path(pindo_single_config.pindo_dir), @deploy_identifier)
42
+ swark_authorize_file = File.join(app_config_dir, "swark_authorize.json")
43
+ if File.exist?(swark_authorize_file)
44
+ swark_authorize_json=JSON.parse(File.read(swark_authorize_file))
45
+ unless swark_authorize_json && swark_authorize_json['swark_authorize_status']
46
+
47
+ command = "swark authorize "
48
+ command = command + swark_authorize_json["swark_authorize_teamid"] + "." + swark_authorize_json["swark_authorize_bundleid"]
49
+ puts
50
+ puts
51
+ puts command
52
+ puts
53
+ system command
54
+
55
+ swark_authorize_json['swark_authorize_status'] = true
56
+ File.open(swark_authorize_file, "w") do |f|
57
+ f.write(JSON.pretty_generate(swark_authorize_json))
58
+ end
59
+ git_addpush_repo(path:app_config_dir, message:"swark authorize success !!!")
60
+ end
61
+ end
62
+
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
@@ -0,0 +1,135 @@
1
+ require 'fileutils'
2
+
3
+ module Pindo
4
+ class Command
5
+ class Deploy < Command
6
+
7
+ class Reportbug < Deploy
8
+
9
+ self.summary = '发布编译时的bug重新'
10
+ self.description = <<-DESC
11
+ 发布编译时的bug重新
12
+ DESC
13
+
14
+ self.arguments = [
15
+ CLAide::Argument.new('bundleid', true)
16
+ ]
17
+
18
+ def initialize(argv)
19
+ @args_bundle_id = argv.shift_argument
20
+ super
21
+ @additional_args = argv.remainder!
22
+ end
23
+
24
+ def validate!
25
+ super
26
+
27
+ if @args_bundle_id.nil?
28
+ say "You need input a bundle id"
29
+ @args_bundle_id = ask('Bundle Id : ') || nil
30
+ end
31
+ help! 'You need input a bundle id' if @args_bundle_id.nil? || @args_bundle_id.empty?
32
+ end
33
+
34
+ def run
35
+
36
+ current=Dir.pwd
37
+
38
+ app_config_dir = clong_buildconfig_repo(repo_name: @args_bundle_id)
39
+
40
+ bugapp_config_dir = clong_buildconfig_repo(repo_name: pindo_single_config.crash_bundle_id)
41
+
42
+ if File.exist?(File.join(bugapp_config_dir, "config.json"))
43
+ FileUtils.rm_rf(File.join(bugapp_config_dir, "config.json"))
44
+ end
45
+ if File.exist?(File.join(app_config_dir, "config.json"))
46
+ FileUtils.cp_r(File.join(app_config_dir, "config.json"), File.join(bugapp_config_dir, "config.json"))
47
+ end
48
+
49
+ if File.exist?(File.join(bugapp_config_dir, "Podfile.lock"))
50
+ FileUtils.rm_rf(File.join(bugapp_config_dir, "Podfile.lock"))
51
+ end
52
+ if File.exist?(File.join(app_config_dir, "Podfile.lock"))
53
+ FileUtils.cp_r(File.join(app_config_dir, "Podfile.lock"), File.join(bugapp_config_dir, "Podfile.lock"))
54
+ end
55
+
56
+
57
+ if File.exist?(File.join(bugapp_config_dir, "Replaced.json"))
58
+ FileUtils.rm_rf(File.join(bugapp_config_dir, "Replaced.json"))
59
+ end
60
+ if File.exist?(File.join(app_config_dir, "Replaced.json"))
61
+ FileUtils.cp_r(File.join(app_config_dir, "Replaced.json"), File.join(bugapp_config_dir, "Replaced.json"))
62
+ end
63
+
64
+ if File.exist?(File.join(bugapp_config_dir, "Symash.json"))
65
+ FileUtils.rm_rf(File.join(bugapp_config_dir, "Symash.json"))
66
+ end
67
+ if File.exist?(File.join(app_config_dir, "Symash.json"))
68
+ FileUtils.cp_r(File.join(app_config_dir, "Symash.json"), File.join(bugapp_config_dir, "Symash.json"))
69
+ end
70
+
71
+ if File.exist?(File.join(bugapp_config_dir, "Backup_MapBundleName.json"))
72
+ FileUtils.rm_rf(File.join(bugapp_config_dir, "Backup_MapBundleName.json"))
73
+ end
74
+ if File.exist?(File.join(app_config_dir, "Backup_MapBundleName.json"))
75
+ FileUtils.cp_r(File.join(app_config_dir, "Backup_MapBundleName.json"), File.join(bugapp_config_dir, "Backup_MapBundleName.json"))
76
+ end
77
+
78
+
79
+ if File.exist?(File.join(bugapp_config_dir, "DupMethodCache.json"))
80
+ FileUtils.rm_rf(File.join(bugapp_config_dir, "DupMethodCache.json"))
81
+ end
82
+ if File.exist?(File.join(app_config_dir, "DupMethodCache.json"))
83
+ FileUtils.cp_r(File.join(app_config_dir, "DupMethodCache.json"), File.join(bugapp_config_dir, "DupMethodCache.json"))
84
+ end
85
+
86
+
87
+ if File.exist?(File.join(bugapp_config_dir, "import-sympkg.plist"))
88
+ FileUtils.rm_rf(File.join(bugapp_config_dir, "import-sympkg.plist"))
89
+ end
90
+ if File.exist?(File.join(app_config_dir, "import-sympkg.plist"))
91
+ FileUtils.cp_r(File.join(app_config_dir, "import-sympkg.plist"), File.join(bugapp_config_dir, "import-sympkg.plist"))
92
+ end
93
+
94
+ if File.exist?(File.join(bugapp_config_dir, "MergeClassFiles"))
95
+ FileUtils.rm_rf(File.join(bugapp_config_dir, "MergeClassFiles"))
96
+ end
97
+ if File.exist?(File.join(app_config_dir, "MergeClassFiles"))
98
+ FileUtils.cp_r(File.join(app_config_dir, "MergeClassFiles"), File.join(bugapp_config_dir, "MergeClassFiles"))
99
+ end
100
+
101
+ app_config_file = File.join(bugapp_config_dir, "config.json")
102
+ if !app_config_file.empty? && File::exist?(app_config_file)
103
+ default_config_json=JSON.parse(File.read(app_config_file))
104
+ if !default_config_json.nil?
105
+
106
+ default_config_json['account_info']['apple_acount_id'] = pindo_single_config.demo_apple_id
107
+ default_config_json['app_info']['app_identifier'] = pindo_single_config.crash_bundle_id
108
+ default_config_json['app_info']['app_identifier_pushcontent'] = pindo_single_config.crash_bundle_id + ".content"
109
+ default_config_json['app_info']['app_identifier_pushservice'] = pindo_single_config.crash_bundle_id + ".service"
110
+
111
+ if default_config_json['app_info'] && default_config_json['app_info']['app_identifier_keyboard']
112
+ default_config_json['app_info']['app_identifier_keyboard'] = pindo_single_config.crash_bundle_id + ".keyboard"
113
+ end
114
+ if default_config_json['app_info'] && default_config_json['app_info']['app_identifier_imessage']
115
+ default_config_json['app_info']['app_identifier_imessage'] = pindo_single_config.crash_bundle_id + ".imessage"
116
+ end
117
+
118
+ if default_config_json['app_info'] && default_config_json['app_info']['app_group_id']
119
+ default_config_json['app_info']['app_group_id'] = "group." + pindo_single_config.crash_bundle_id
120
+ end
121
+
122
+ File.open(app_config_file, "w") do |f|
123
+ f.write(JSON.pretty_generate(default_config_json))
124
+ end
125
+ end
126
+ end
127
+
128
+ git_addpush_repo(path:bugapp_config_dir, message:"report bugs #{@args_bundle_id}")
129
+
130
+ end
131
+
132
+ end
133
+ end
134
+ end
135
+ end