fastlane-plugin-upload_dsym_to_bugly 1.1.0 → 1.1.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f2c02a47233bd9f60730b435c7fb47dfe4f299cf4604e4dcf08a2c78302ffe2e
4
- data.tar.gz: 12ab864ed723d68a947eebce9fc94452666afa74b28b865c3052638081718e7e
3
+ metadata.gz: 548083004333712175e0d6cf6a5b4f5a7ba2f141aa74dea2b9fd7af43def3408
4
+ data.tar.gz: 45734057d3fdeb56cddfc0175714d2da775b68f453b1d805982ec7d42a03966b
5
5
  SHA512:
6
- metadata.gz: 7da9f2eed269112425d7f13dc3fa683c6145f7f289cb7c3aa01b56d5515ad94ce8dc51bb30e3fb0d7b229df2784bcc5225d6ef4b8e3fcf4ccaf0241ff165de5c
7
- data.tar.gz: 9bcd4098261b6555f8d6ef485f2b17389118459d3856ef949415267f44480ac62b9b015977a71b3ba634d83d7d2fabd2325345c1d943ad5fece4be2b37ee06fa
6
+ metadata.gz: a9a5115b828e61939b08be35f161a0949308ffb26662cb148a57fc5027f879ecd315cb479a93bc80dfc4e8ef0b7625b33255be0fca0bf5057178d4ffec95f1f4
7
+ data.tar.gz: 3bf38946476d3001d677a19e4bb0423311ae169a72e09c5b75b1ccaf9d8af45e1d4c712c17233644c66fc299502036bf995576dff8ee7d4af593bebd7edbd0b0
data/README.md CHANGED
@@ -14,21 +14,21 @@ add the following to your `fastfile`
14
14
  ```ruby
15
15
  lane :upload_dysm do
16
16
  upload_dsym_to_bugly(
17
- file_path: "<your dSYM.zip path>",
17
+ file_path: "<your dSYM.zip path>/<your dSYM.zip name>",
18
18
  file_name: "<your dSYM.zip name>",
19
19
  app_key: "<your app_key>",
20
20
  app_id:"<your app_id>",
21
21
  api_version: 1,
22
22
  symbol_type: 2, # iOS => 2, Android => 1
23
23
  bundle_id: '<your bundle id>',
24
- product_version: `/usr/libexec/PlistBuddy -c \"print CFBundleShortVersionString\" \"<path/to/your/Info.plist>\"`,
24
+ product_version: get_version_number
25
25
  )
26
26
  end
27
27
  ```
28
28
 
29
29
  if you want to upload your ipa to bugly, add the following to your `fastfile`
30
30
  ```ruby
31
- lane :upload_ipa do
31
+ lane :upload_app do
32
32
  upload_app_to_bugly(
33
33
  file_path:"<your *.ipa filepath>",
34
34
  app_key:"<your app_key>",
@@ -0,0 +1,201 @@
1
+ require "fastlane/action"
2
+ require_relative "../helper/upload_dsym_to_bugly_helper"
3
+
4
+ module Fastlane
5
+ module Actions
6
+ module SharedValues
7
+ UPLOAD_APP_TO_BUGLY_DOWNLOAD_URL = :UPLOAD_APP_TO_BUGLY_DOWNLOAD_URL
8
+ end
9
+
10
+ # To share this integration with the other fastlane users:
11
+ # - Fork https://github.com/fastlane/fastlane/tree/master/fastlane
12
+ # - Clone the forked repository
13
+ # - Move this integration into lib/fastlane/actions
14
+ # - Commit, push and submit the pull request
15
+
16
+ class UploadAppToBuglyAction < Action
17
+ def self.run(params)
18
+ require "json"
19
+ # fastlane will take care of reading in the parameter and fetching the environment variable:
20
+ UI.message "file path: #{params[:file_path]}"
21
+
22
+ json_file = "upload_app_to_bugly_result.json"
23
+
24
+ begin
25
+ secret = ""
26
+ if !params[:secret].to_s.nil? && !params[:secret].empty?
27
+ secret = " -F \"secret=#{params[:secret]}\" "
28
+ UI.message "secret:#{secret}"
29
+ end
30
+ rescue Exception => e
31
+ UI.message "error at checking secret,caused by #{e}"
32
+ return
33
+ end
34
+
35
+ begin
36
+ users = ""
37
+ if !params[:users].nil? && !params[:users].empty?
38
+ users = " -F \"users=#{params[:users]}\" "
39
+ UI.message "users:#{users}"
40
+ end
41
+ rescue Exception => e
42
+ UI.message "error at checking users,caused by #{e}"
43
+ return
44
+ end
45
+
46
+ begin
47
+ password = ""
48
+ if !params[:password].nil? && !params[:password].empty?
49
+ password = " -F \"password=#{params[:password]}\" "
50
+ UI.message "password:#{password}"
51
+ end
52
+ rescue Exception => e
53
+ UI.message "error at checking password,caused by #{e}"
54
+ return
55
+ end
56
+
57
+ begin
58
+ download_limit = ""
59
+ if !params[:download_limit].nil? && params[:download_limit] > 0
60
+ download_limit = " -F \"download_limit=#{params[:download_limit]}\" "
61
+ UI.message "download_limit:#{download_limit}"
62
+ end
63
+ rescue Exception => e
64
+ UI.message "error at checking download_limit,caused by #{e}"
65
+ return
66
+ end
67
+
68
+ cmd = "curl --insecure -F \"file=@#{params[:file_path]}\" -F \"app_id=#{params[:app_id]}\" -F \"pid=#{params[:pid]}\" -F \"title=#{params[:title]}\" -F \"description=#{params[:desc]}\"" + secret + users + password + download_limit + " https://api.bugly.qq.com/beta/apiv1/exp?app_key=#{params[:app_key]} -o " + json_file
69
+ begin
70
+ sh(cmd)
71
+ obj = JSON.parse(File.read(json_file))
72
+ `rm upload_dsym_to_bugly_result.json`
73
+ ret = obj["rtcode"]
74
+ if ret == 0
75
+ UI.message "upload success"
76
+ url = obj["data"]["url"]
77
+ Actions.lane_context[SharedValues::UPLOAD_APP_TO_BUGLY_DOWNLOAD_URL] = url
78
+ UI.message "upload success, link: #{url}"
79
+ else
80
+ UI.message "upload failed,result is #{obj}"
81
+ raise if params[:raise_if_error]
82
+ end
83
+ rescue
84
+ UI.message "upload failed"
85
+ raise if params[:raise_if_error]
86
+ end
87
+ end
88
+
89
+ #####################################################
90
+ # @!group Documentation
91
+ #####################################################
92
+
93
+ def self.description
94
+ "upload_app_to_bugly"
95
+ end
96
+
97
+ def self.details
98
+ # Optional:
99
+ # this is your chance to provide a more detailed description of this action
100
+ "You can use this action to do cool things..."
101
+ end
102
+
103
+ def self.available_options
104
+ # Define all options your action supports.
105
+
106
+ # Below a few examples
107
+ [
108
+ FastlaneCore::ConfigItem.new(key: :file_path,
109
+ env_name: "FL_UPLOAD_APP_TO_BUGLY_FILE_PATH",
110
+ description: "file path for UploadAppToBuglyAction",
111
+ is_string: true,
112
+ verify_block: proc do |value|
113
+ UI.user_error!("No file path for UploadAppToBuglyAction given, pass using `file_path: 'path'`") unless value && !value.empty?
114
+ UI.user_error!("Couldn't find file at path '#{value}'") unless File.exist?(value)
115
+ end),
116
+ FastlaneCore::ConfigItem.new(key: :app_key,
117
+ env_name: "FL_UPLOAD_APP_TO_BUGLY_APP_KEY",
118
+ description: "app key for UploadAppToBuglyAction",
119
+ is_string: true,
120
+ verify_block: proc do |value|
121
+ UI.user_error!("NO app_key for UploadAppToBuglyAction given, pass using `app_key: 'app_key'`") unless value && !value.empty?
122
+ end),
123
+ FastlaneCore::ConfigItem.new(key: :app_id,
124
+ env_name: "FL_UPLOAD_APP_TO_BUGLY_APP_ID",
125
+ description: "app id for UploadAppToBuglyAction",
126
+ is_string: true,
127
+ verify_block: proc do |value|
128
+ UI.user_error!("No app_id for UploadAppToBuglyAction given, pass using `app_id: 'app_id'`") unless value && !value.empty?
129
+ end),
130
+ FastlaneCore::ConfigItem.new(key: :pid,
131
+ env_name: "FL_UPLOAD_APP_TO_BUGLY_PID",
132
+ description: "pid for UploadToBuglyAction",
133
+ is_string: true,
134
+ verify_block: proc do |value|
135
+ UI.user_error!("No pid for UploadAppToBuglyAction given, pass using `pid: 'pid'`") unless value && !value.empty?
136
+ end),
137
+ FastlaneCore::ConfigItem.new(key: :title,
138
+ env_name: "FL_UPLOAD_APP_TO_BUGLY_TITLE",
139
+ description: "title for UploadAppToBuglyAction",
140
+ is_string: true,
141
+ default_value: "title",
142
+ verify_block: proc do |value|
143
+ UI.user_error!("No title for UploadAppToBuglyAction given, pass using `title: 'title'`") unless value && !value.empty?
144
+ end),
145
+ FastlaneCore::ConfigItem.new(key: :desc,
146
+ env_name: "FL_UPLOAD_APP_TO_BUGLY_DESC",
147
+ description: "desc for UploadAppToBuglyAction",
148
+ is_string: true,
149
+ default_value: "desc"),
150
+ FastlaneCore::ConfigItem.new(key: :secret,
151
+ env_name: "FL_UPLOAD_APP_TO_BUGLY_SECRET",
152
+ description: "secret for UploadAppToBuglyAction",
153
+ is_string: true,
154
+ default_value: ""),
155
+ FastlaneCore::ConfigItem.new(key: :users,
156
+ env_name: "FL_UPLOAD_APP_TO_BUGLY_USERS",
157
+ description: "users for UploadAppToBuglyAction",
158
+ is_string: true,
159
+ default_value: ""),
160
+ FastlaneCore::ConfigItem.new(key: :password,
161
+ env_name: "FL_UPLOAD_APP_TO_BUGLY_PASSWORD",
162
+ description: "password for UploadAppToBuglyAction",
163
+ is_string: true,
164
+ default_value: ""),
165
+ FastlaneCore::ConfigItem.new(key: :download_limit,
166
+ env_name: "FL_UPLOAD_APP_TO_BUGLY_DOWNLOAD_LIMIT",
167
+ description: "download_limit for UploadAppToBuglyAction",
168
+ is_string: false, # true: verifies the input is a string, false: every kind of value
169
+ default_value: 10_000),
170
+ FastlaneCore::ConfigItem.new(key: :raise_if_error,
171
+ env_name: "FL_UPLOAD_APP_TO_BUGLY_RAISE_IF_ERROR",
172
+ description: "Raises an error if fails, so you can fail CI/CD jobs if necessary \(true/false)",
173
+ default_value: true,
174
+ is_string: false,
175
+ type: Boolean,
176
+ optional: false),
177
+ ]
178
+ end
179
+
180
+ def self.output
181
+ # Define the shared values you are going to provide
182
+ [
183
+ ["UPLOAD_APP_TO_BUGLY_DOWNLOAD_URL", "download url"],
184
+ ]
185
+ end
186
+
187
+ def self.return_value
188
+ # If you method provides a return value, you can describe here what it does
189
+ end
190
+
191
+ def self.authors
192
+ # So no one will ever forget your contribution to fastlane :) You are awesome btw!
193
+ ["liubo"]
194
+ end
195
+
196
+ def self.is_supported?(platform)
197
+ platform == :ios
198
+ end
199
+ end
200
+ end
201
+ end
@@ -1,18 +1,18 @@
1
- require 'fastlane/action'
2
- require_relative '../helper/upload_dsym_to_bugly_helper'
1
+ require "fastlane/action"
2
+ require_relative "../helper/upload_dsym_to_bugly_helper"
3
3
 
4
4
  module Fastlane
5
5
  module Actions
6
6
  class UploadDsymToBuglyAction < Action
7
7
  def self.run(params)
8
- require 'json'
8
+ require "json"
9
9
  # fastlane will take care of reading in the parameter and fetching the environment variable:
10
10
  UI.message "file path: #{params[:file_path]}"
11
11
 
12
- json_file = 'upload_dsym_to_bugly_result.json'
12
+ json_file = "upload_dsym_to_bugly_result.json"
13
13
 
14
14
  begin
15
- api_version = ''
15
+ api_version = ""
16
16
  if !params[:api_version].nil? && params[:api_version] > 0
17
17
  api_version = " --form \"api_version=#{params[:api_version]}\" "
18
18
  UI.message "api_version: #{api_version}"
@@ -20,9 +20,9 @@ module Fastlane
20
20
  rescue Exception => e
21
21
  UI.message "error at checking api version, caused by #{e}"
22
22
  end
23
-
23
+
24
24
  begin
25
- channel = ''
25
+ channel = ""
26
26
  if !params[:channel].nil? && !params[:channel].empty?
27
27
  channel = " --form \"channel=#{params[:channel]}\" "
28
28
  UI.message "channel: #{channel}"
@@ -31,16 +31,22 @@ module Fastlane
31
31
  UI.message "error at checking api version, caused by #{e}"
32
32
  end
33
33
 
34
- cmd = "curl -k \"https://api.bugly.qq.com/openapi/file/upload/symbol?app_key=#{params[:app_key]}&app_id=#{params[:app_id]}\"" + api_version + " --form \"app_id=#{params[:app_id]}\"" + " --form \"app_key=#{params[:app_key]}\"" + " --form \"symbolType=#{params[:symbol_type]}\"" + " --form \"bundleId=#{params[:bundle_id]}\"" + " --form \"productVersion=#{params[:product_version]}\"" + channel + " --form \"fileName=#{params[:file_name]}\"" + " --form \"file=@#{params[:file_path]}\"" + " -o " + json_file
35
- sh(cmd)
36
- obj = JSON.parse(File.read(json_file))
37
- ret = obj['rtcode']
38
- if ret == 0
39
- UI.message "upload success"
40
- else
41
- UI.message "upload failed, result is #{obj}"
34
+ cmd = "curl -k \"https://api.bugly.qq.com/openapi/file/upload/symbol?app_key=#{params[:app_key]}&app_id=#{params[:app_id]}\"" + api_version + " --form \"app_id=#{params[:app_id]}\"" + " --form \"app_key=#{params[:app_key]}\"" + " --form \"symbolType=#{params[:symbol_type]}\"" + " --form \"bundleId=#{params[:bundle_id]}\"" + " --form \"productVersion=#{params[:product_version]}\"" + channel + " --form \"fileName=#{params[:file_name]}\"" + " --form \"file=@#{params[:file_path]}\"" + " -o " + json_file
35
+ begin
36
+ sh(cmd)
37
+ obj = JSON.parse(File.read(json_file))
38
+ `rm upload_dsym_to_bugly_result.json`
39
+ ret = obj["rtcode"]
40
+ if ret == 0
41
+ UI.message "dSYM upload success"
42
+ else
43
+ UI.message "dSYM upload failed, result is #{obj}"
44
+ raise if params[:raise_if_error]
45
+ end
46
+ rescue
47
+ UI.message "dSYM upload failed"
48
+ raise if params[:raise_if_error]
42
49
  end
43
- `rm upload_dsym_to_bugly_result.json`
44
50
  end
45
51
 
46
52
  def self.description
@@ -63,64 +69,71 @@ module Fastlane
63
69
  def self.available_options
64
70
  [
65
71
  FastlaneCore::ConfigItem.new(key: :api_version,
66
- env_name: "FL_UPLOAD_DSYM_TO_BUGLY_API_VERSION",
67
- description: "api version for UploadDsymToBuglyAction",
68
- is_string: false,
69
- default_value: 1),
72
+ env_name: "FL_UPLOAD_DSYM_TO_BUGLY_API_VERSION",
73
+ description: "api version for UploadDsymToBuglyAction",
74
+ is_string: false,
75
+ default_value: 1),
70
76
  FastlaneCore::ConfigItem.new(key: :app_id,
71
- env_name: "FL_UPLOAD_DSYM_TO_BUGLY_APP_ID",
72
- description: "app id for UploadDsymToBuglyAction",
73
- is_string: true,
74
- verify_block: proc do |value|
75
- UI.user_error!("No APP id for UploadDsymToBuglyAction given, pass using `app_id: 'app_id'`") unless (value and not value.empty?)
76
- end),
77
+ env_name: "FL_UPLOAD_DSYM_TO_BUGLY_APP_ID",
78
+ description: "app id for UploadDsymToBuglyAction",
79
+ is_string: true,
80
+ verify_block: proc do |value|
81
+ UI.user_error!("No APP id for UploadDsymToBuglyAction given, pass using `app_id: 'app_id'`") unless (value and not value.empty?)
82
+ end),
77
83
  FastlaneCore::ConfigItem.new(key: :app_key,
78
- env_name: "FL_UPLOAD_DSYM_TO_BUGLY_APP_KEY",
79
- description: "app key for UploadDsymToBuglyAction",
80
- is_string: true,
81
- verify_block: proc do |value|
82
- UI.user_error!("No APP key for UploadDsymToBuglyAction given, pass using `api_key: 'app_key'`") unless (value and not value.empty?)
83
- end),
84
+ env_name: "FL_UPLOAD_DSYM_TO_BUGLY_APP_KEY",
85
+ description: "app key for UploadDsymToBuglyAction",
86
+ is_string: true,
87
+ verify_block: proc do |value|
88
+ UI.user_error!("No APP key for UploadDsymToBuglyAction given, pass using `api_key: 'app_key'`") unless (value and not value.empty?)
89
+ end),
84
90
  FastlaneCore::ConfigItem.new(key: :symbol_type,
85
- env_name: "FL_UPLOAD_DSYM_TO_BUGLY_SYMBOL_TYPE",
86
- description: "symbol type for UploadDsymToBuglyAction",
87
- is_string: false,
88
- verify_block: proc do |value|
89
- UI.user_error!("No symbol type for UploadDsymToBuglyAction given, pass using `symbol_type: 'symbol_type'`") unless (value and not value.to_s.empty?)
90
- end),
91
+ env_name: "FL_UPLOAD_DSYM_TO_BUGLY_SYMBOL_TYPE",
92
+ description: "symbol type for UploadDsymToBuglyAction",
93
+ is_string: false,
94
+ verify_block: proc do |value|
95
+ UI.user_error!("No symbol type for UploadDsymToBuglyAction given, pass using `symbol_type: 'symbol_type'`") unless (value and not value.to_s.empty?)
96
+ end),
91
97
  FastlaneCore::ConfigItem.new(key: :bundle_id,
92
- env_name: "FL_UPLOAD_DSYM_TO_BUGLY_BUNDLE_ID",
93
- description: "bundle id for UploadDsymToBuglyAction",
94
- is_string: true,
95
- verify_block: proc do |value|
96
- UI.user_error!("No symbol type for UploadDsymToBuglyAction given, pass using `bundle_id: 'bundle_id'`") unless (value and not value.empty?)
97
- end),
98
+ env_name: "FL_UPLOAD_DSYM_TO_BUGLY_BUNDLE_ID",
99
+ description: "bundle id for UploadDsymToBuglyAction",
100
+ is_string: true,
101
+ verify_block: proc do |value|
102
+ UI.user_error!("No symbol type for UploadDsymToBuglyAction given, pass using `bundle_id: 'bundle_id'`") unless (value and not value.empty?)
103
+ end),
98
104
  FastlaneCore::ConfigItem.new(key: :product_version,
99
- env_name: "FL_UPLOAD_DSYM_TO_BUGLY_PRODEUCT_VERSION",
100
- description: "product version for UploadDsymToBuglyAction",
101
- is_string: true,
102
- verify_block: proc do |value|
103
- UI.user_error!("No symbol type for UploadDsymToBuglyAction given, pass using `product_version: 'product_version'`") unless (value and not value.empty?)
104
- end),
105
+ env_name: "FL_UPLOAD_DSYM_TO_BUGLY_PRODEUCT_VERSION",
106
+ description: "product version for UploadDsymToBuglyAction",
107
+ is_string: true,
108
+ verify_block: proc do |value|
109
+ UI.user_error!("No symbol type for UploadDsymToBuglyAction given, pass using `product_version: 'product_version'`") unless (value and not value.empty?)
110
+ end),
105
111
  FastlaneCore::ConfigItem.new(key: :channel,
106
- env_name: "FL_UPLOAD_DSYM_TO_BUGLY_CHANNEL",
107
- description: "channel for UploadDsymToBuglyAction",
108
- is_string: true,
109
- default_value: "fastlane"),
112
+ env_name: "FL_UPLOAD_DSYM_TO_BUGLY_CHANNEL",
113
+ description: "channel for UploadDsymToBuglyAction",
114
+ is_string: true,
115
+ default_value: "fastlane"),
110
116
  FastlaneCore::ConfigItem.new(key: :file_name,
111
- env_name: "FL_UPLOAD_DSYM_TO_BUGLY_FILE_NAME",
112
- description: "file name for UploadDsymToBuglyAction",
113
- is_string: true,
114
- verify_block: proc do |value|
115
- UI.user_error!("No symbol type for UploadDsymToBuglyAction given, pass using `file_name: 'file_name'`") unless (value and not value.empty?)
116
- end),
117
+ env_name: "FL_UPLOAD_DSYM_TO_BUGLY_FILE_NAME",
118
+ description: "file name for UploadDsymToBuglyAction",
119
+ is_string: true,
120
+ verify_block: proc do |value|
121
+ UI.user_error!("No symbol type for UploadDsymToBuglyAction given, pass using `file_name: 'file_name'`") unless (value and not value.empty?)
122
+ end),
117
123
  FastlaneCore::ConfigItem.new(key: :file_path,
118
- env_name: "FL_UPLOAD_DSYM_TO_BUGLY_FILE",
119
- description: "file for UploadDsymToBuglyAction",
120
- is_string: true,
121
- verify_block: proc do |value|
122
- UI.user_error!("No symbol type for UploadDsymToBuglyAction given, pass using `file_path: 'file_path'`") unless (value and not value.empty?)
123
- end)
124
+ env_name: "FL_UPLOAD_DSYM_TO_BUGLY_FILE",
125
+ description: "file for UploadDsymToBuglyAction",
126
+ is_string: true,
127
+ verify_block: proc do |value|
128
+ UI.user_error!("No symbol type for UploadDsymToBuglyAction given, pass using `file_path: 'file_path'`") unless (value and not value.empty?)
129
+ end),
130
+ FastlaneCore::ConfigItem.new(key: :raise_if_error,
131
+ env_name: "FL_UPLOAD_DSYM_TO_BUGLY_RAISE_IF_ERROR",
132
+ description: "Raises an error if fails, so you can fail CI/CD jobs if necessary \(true/false)",
133
+ default_value: true,
134
+ is_string: false,
135
+ type: Boolean,
136
+ optional: false),
124
137
  ]
125
138
  end
126
139
 
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module UploadDsymToBugly
3
- VERSION = "1.1.0"
3
+ VERSION = "1.1.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane-plugin-upload_dsym_to_bugly
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - liubo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-01-29 00:00:00.000000000 Z
11
+ date: 2020-12-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry
@@ -145,8 +145,8 @@ files:
145
145
  - LICENSE
146
146
  - README.md
147
147
  - lib/fastlane/plugin/upload_dsym_to_bugly.rb
148
+ - lib/fastlane/plugin/upload_dsym_to_bugly/actions/upload_app_to_bugly_action.rb
148
149
  - lib/fastlane/plugin/upload_dsym_to_bugly/actions/upload_dsym_to_bugly_action.rb
149
- - lib/fastlane/plugin/upload_dsym_to_bugly/actions/upload_ipa_to_bugly_action.rb
150
150
  - lib/fastlane/plugin/upload_dsym_to_bugly/helper/upload_dsym_to_bugly_helper.rb
151
151
  - lib/fastlane/plugin/upload_dsym_to_bugly/version.rb
152
152
  homepage: https://github.com/srv7/fastlane-plugin-upload_dsym_to_bugly
@@ -168,8 +168,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
168
168
  - !ruby/object:Gem::Version
169
169
  version: '0'
170
170
  requirements: []
171
- rubyforge_project:
172
- rubygems_version: 2.7.6
171
+ rubygems_version: 3.1.2
173
172
  signing_key:
174
173
  specification_version: 4
175
174
  summary: upload_dsym_to_bugly
@@ -1,186 +0,0 @@
1
- require 'fastlane/action'
2
- require_relative '../helper/upload_dsym_to_bugly_helper'
3
-
4
- module Fastlane
5
- module Actions
6
- module SharedValues
7
- UPLOAD_APP_TO_BUGLY_DOWNLOAD_URL = :UPLOAD_APP_TO_BUGLY_DOWNLOAD_URL
8
- end
9
-
10
- # To share this integration with the other fastlane users:
11
- # - Fork https://github.com/fastlane/fastlane/tree/master/fastlane
12
- # - Clone the forked repository
13
- # - Move this integration into lib/fastlane/actions
14
- # - Commit, push and submit the pull request
15
-
16
- class UploadAppToBuglyAction < Action
17
- def self.run(params)
18
- require 'json'
19
- # fastlane will take care of reading in the parameter and fetching the environment variable:
20
- UI.message "file path: #{params[:file_path]}"
21
-
22
- json_file = 'upload_app_to_bugly_result.json'
23
-
24
- begin
25
- secret = ''
26
- if !params[:secret].to_s.nil? && !params[:secret].empty?
27
- secret = " -F \"secret=#{params[:secret]}\" "
28
- UI.message "secret:#{secret}"
29
- end
30
- rescue Exception => e
31
- UI.message "error at checking secret,caused by #{e}"
32
- return
33
- end
34
-
35
- begin
36
- users = ''
37
- if !params[:users].nil? && !params[:users].empty?
38
- users = " -F \"users=#{params[:users]}\" "
39
- UI.message "users:#{users}"
40
- end
41
- rescue Exception => e
42
- UI.message "error at checking users,caused by #{e}"
43
- return
44
- end
45
-
46
- begin
47
- password = ''
48
- if !params[:password].nil? && !params[:password].empty?
49
- password = " -F \"password=#{params[:password]}\" "
50
- UI.message "password:#{password}"
51
- end
52
- rescue Exception => e
53
- UI.message "error at checking password,caused by #{e}"
54
- return
55
- end
56
-
57
- begin
58
- download_limit = ''
59
- if !params[:download_limit].nil? && params[:download_limit] > 0
60
- download_limit = " -F \"download_limit=#{params[:download_limit]}\" "
61
- UI.message "download_limit:#{download_limit}"
62
- end
63
- rescue Exception => e
64
- UI.message "error at checking download_limit,caused by #{e}"
65
- return
66
- end
67
-
68
- cmd = "curl --insecure -F \"file=@#{params[:file_path]}\" -F \"app_id=#{params[:app_id]}\" -F \"pid=#{params[:pid]}\" -F \"title=#{params[:title]}\" -F \"description=#{params[:desc]}\"" + secret + users + password + download_limit + " https://api.bugly.qq.com/beta/apiv1/exp?app_key=#{params[:app_key]} -o " + json_file
69
- sh(cmd)
70
- obj = JSON.parse(File.read(json_file))
71
- ret = obj['rtcode']
72
- if ret == 0
73
- UI.message "upload success"
74
- url = obj['data']['url']
75
- Actions.lane_context[SharedValues::UPLOAD_APP_TO_BUGLY_DOWNLOAD_URL] = url
76
- else
77
- UI.message "upload failed,result is #{obj}"
78
- end
79
- end
80
-
81
- #####################################################
82
- # @!group Documentation
83
- #####################################################
84
-
85
- def self.description
86
- 'A short description with <= 80 characters of what this action does'
87
- end
88
-
89
- def self.details
90
- # Optional:
91
- # this is your chance to provide a more detailed description of this action
92
- 'You can use this action to do cool things...'
93
- end
94
-
95
- def self.available_options
96
- # Define all options your action supports.
97
-
98
- # Below a few examples
99
- [
100
- FastlaneCore::ConfigItem.new(key: :file_path,
101
- env_name: 'FL_UPLOAD_APP_TO_BUGLY_FILE_PATH',
102
- description: 'file path for UploadAppToBuglyAction',
103
- is_string: true,
104
- verify_block: proc do |value|
105
- UI.user_error!("No file path for UploadAppToBuglyAction given, pass using `file_path: 'path'`") unless value && !value.empty?
106
- UI.user_error!("Couldn't find file at path '#{value}'") unless File.exist?(value)
107
- end),
108
- FastlaneCore::ConfigItem.new(key: :app_key,
109
- env_name: 'FL_UPLOAD_APP_TO_BUGLY_APP_KEY',
110
- description: 'app key for UploadAppToBuglyAction',
111
- is_string: true,
112
- verify_block: proc do |value|
113
- UI.user_error!("NO app_key for UploadAppToBuglyAction given, pass using `app_key: 'app_key'`") unless value && !value.empty?
114
- end),
115
- FastlaneCore::ConfigItem.new(key: :app_id,
116
- env_name: 'FL_UPLOAD_APP_TO_BUGLY_APP_ID',
117
- description: 'app id for UploadAppToBuglyAction',
118
- is_string: true,
119
- verify_block: proc do |value|
120
- UI.user_error!("No app_id for UploadAppToBuglyAction given, pass using `app_id: 'app_id'`") unless value && !value.empty?
121
- end),
122
- FastlaneCore::ConfigItem.new(key: :pid,
123
- env_name: 'FL_UPLOAD_APP_TO_BUGLY_PID',
124
- description: 'pid for UploadToBuglyAction',
125
- is_string: true,
126
- verify_block: proc do |value|
127
- UI.user_error!("No pid for UploadAppToBuglyAction given, pass using `pid: 'pid'`") unless value && !value.empty?
128
- end),
129
- FastlaneCore::ConfigItem.new(key: :title,
130
- env_name: 'FL_UPLOAD_APP_TO_BUGLY_TITLE',
131
- description: 'title for UploadAppToBuglyAction',
132
- is_string: true,
133
- default_value: 'title',
134
- verify_block: proc do |value|
135
- UI.user_error!("No title for UploadAppToBuglyAction given, pass using `title: 'title'`") unless value && !value.empty?
136
- end),
137
- FastlaneCore::ConfigItem.new(key: :desc,
138
- env_name: 'FL_UPLOAD_APP_TO_BUGLY_DESC',
139
- description: 'desc for UploadAppToBuglyAction',
140
- is_string: true,
141
- default_value: 'desc'),
142
- FastlaneCore::ConfigItem.new(key: :secret,
143
- env_name: 'FL_UPLOAD_APP_TO_BUGLY_DESCRIPTION',
144
- description: 'secret for UploadAppToBuglyAction',
145
- is_string: true,
146
- default_value: ''),
147
- FastlaneCore::ConfigItem.new(key: :users,
148
- env_name: 'FL_UPLOAD_APP_TO_BUGLY_DESCRIPTION',
149
- description: 'users for UploadAppToBuglyAction',
150
- is_string: true,
151
- default_value: ''),
152
- FastlaneCore::ConfigItem.new(key: :password,
153
- env_name: 'FL_UPLOAD_APP_TO_BUGLY_DESCRIPTION',
154
- description: 'password for UploadAppToBuglyAction',
155
- is_string: true,
156
- default_value: ''),
157
- FastlaneCore::ConfigItem.new(key: :download_limit,
158
- env_name: 'FL_UPLOAD_APP_TO_BUGLY_DESCRIPTION',
159
- description: 'download_limit for UploadAppToBuglyAction',
160
- is_string: false, # true: verifies the input is a string, false: every kind of value
161
- default_value: 10_000)
162
- ]
163
- end
164
-
165
- def self.output
166
- # Define the shared values you are going to provide
167
- [
168
- ['UPLOAD_APP_TO_BUGLY_DOWNLOAD_URL', 'download url']
169
- ]
170
- end
171
-
172
- def self.return_value
173
- # If you method provides a return value, you can describe here what it does
174
- end
175
-
176
- def self.authors
177
- # So no one will ever forget your contribution to fastlane :) You are awesome btw!
178
- ["liubo"]
179
- end
180
-
181
- def self.is_supported?(platform)
182
- platform == :ios
183
- end
184
- end
185
- end
186
- end