fastlane-plugin-huawei_appgallery_connect 1.0.9 → 1.0.14

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: 62bb6d84620a12414a3f6fd792adba9b3ad8f88f3258a17b382748a985ad3d4b
4
- data.tar.gz: 159575bc63002b88227b152dd21bd5a0dba5ed52dd88345c989fab4c6eb6be50
3
+ metadata.gz: 7b26badca5c4e5028b8e90d24bdf2b300539f369b468ad182149c94bde47c406
4
+ data.tar.gz: 81b7075c7cc3f4bbfdc541e9cb82baad9636056b7773e0c5932ba4dd083bf3e2
5
5
  SHA512:
6
- metadata.gz: 1d8974e5e6bc637023efa2ef172d1a9b5fe2c17b783714f5d49090b15dd0b7de291bc6920990ff12a5f9c81cd6fbbbbb6d8e240ec2abd5ed5bfa5fc8b67ccac0
7
- data.tar.gz: 368c05e3a4aef7172aebada81fc17a1d71905b2e838de39f882068fcb8d5587bebd439ea909f8059d2c49332e45954c2ad26519e10a3097162b69510e8ef0bd0
6
+ metadata.gz: df7fcb9ba89d6708ea7c013e5f435935f9e608f8a8e8908fedb7016d1dd8b99c843707268786ad6638aa42b66ce54e68bea474046ff0e22fcb89d7c414c861fb
7
+ data.tar.gz: e50ad0fdbfd1933f26377752558d9cb0d1294c7ff6c99dec928c1d01fa39e4a5a366cbb78bc3e291fa4eb746947efb2f500da6cca95ece979565017ea0ae694f
data/README.md CHANGED
@@ -12,41 +12,70 @@ fastlane add_plugin huawei_appgallery_connect
12
12
 
13
13
  ## About huawei_appgallery_connect
14
14
 
15
- Huawei AppGallery Connect Plugin
15
+ Huawei AppGallery Connect Plugin can be used to upload Android application on the Huawei App Gallery using fastlane.
16
16
 
17
- **Note to author:** Add a more detailed description about this plugin here. If your plugin contains multiple actions, make sure to mention them here.
17
+ ## Usage
18
18
 
19
- ## Example
20
-
21
- Check out the [example `Fastfile`](fastlane/Fastfile) to see how to use this plugin. Try it by cloning the repo, running `fastlane install_plugins` and `bundle exec fastlane test`.
22
-
23
- **Note to author:** Please set up a sample project to make it easy for users to explore what your plugin does. Provide everything that is necessary to try out the plugin in this project (including a sample Xcode/Android project if necessary)
24
-
25
- ## Run tests for this plugin
26
-
27
- To run both the tests, and code style validation, run
19
+ To get started you will need the client id, client Secret & app ID which can be obtained from your Huawei AppGallery Connect account.
28
20
 
29
21
  ```
30
- rake
22
+ huawei_appgallery_connect(
23
+ client_id: "<CLIENT_ID>",
24
+ client_secret: "<CLIENT_SECRET>",
25
+ app_id: "<APP_ID>",
26
+ apk_path: "<APK_PATH>"
27
+
28
+ # Optional, Parameter beyond this are optional
29
+
30
+ # if you're uploading aab instead of apk, specify is_aab to true and specify path to aab file on apk_path
31
+ is_aab: true
32
+
33
+ submit_for_review: false,
34
+
35
+ privacy_policy_url: "https://example.com",
36
+ changelog_path: "<PATH_TO_CHANGELOG_FILE>",
37
+
38
+ # release time to release app on specific date
39
+ release_time: "2019-12-25T07:05:15+0000",
40
+
41
+ # For phase wise release: set these parameters
42
+ phase_wise_release: true,
43
+ phase_release_start_time: "2019-12-25T07:05:15+0000",
44
+ phase_release_end_time: "2019-12-28T07:05:15+0000",
45
+ phase_release_percent: "10.00",
46
+ phase_release_description: "<DESCRIPTION>"
47
+ )
31
48
  ```
32
49
 
33
- To automatically fix many of the styling issues, use
34
- ```
35
- rubocop -a
36
- ```
50
+ The following action can be used to submit the app for review if submit_for_review was set to false during the upload of apk
37
51
 
38
- ## Issues and Feedback
39
-
40
- For any other issues and feedback about this plugin, please submit it to this repository.
52
+ ```
53
+ huawei_appgallery_connect_submit_for_review(
54
+ client_id: "<CLIENT_ID>",
55
+ client_secret: "<CLIENT_SECRET>",
56
+ app_id: "<APP_ID>",
41
57
 
42
- ## Troubleshooting
43
58
 
44
- If you have trouble using plugins, check out the [Plugins Troubleshooting](https://docs.fastlane.tools/plugins/plugins-troubleshooting/) guide.
59
+ # Optional, Parameter beyond this are optional
45
60
 
46
- ## Using _fastlane_ Plugins
61
+ # release time to release app on specific date
62
+ release_time: "2019-12-25T07:05:15+0000",
47
63
 
48
- For more information about how the `fastlane` plugin system works, check out the [Plugins documentation](https://docs.fastlane.tools/plugins/create-plugin/).
64
+ # For phase wise release: set these parameters
65
+ phase_wise_release: true,
66
+ phase_release_start_time: "2019-12-25T07:05:15+0000",
67
+ phase_release_end_time: "2019-12-28T07:05:15+0000",
68
+ phase_release_percent: "10.00",
69
+ phase_release_description: "<DESCRIPTION>"
70
+ )
71
+ ```
72
+ You can also retreive app info by making use of the following action
49
73
 
50
- ## About _fastlane_
74
+ ```
75
+ huawei_appgallery_connect_get_app_info(
76
+ client_id: "<CLIENT_ID>",
77
+ client_secret: "<CLIENT_SECRET>",
78
+ app_id: "<APP_ID>"
79
+ )
51
80
 
52
- _fastlane_ is the easiest way to automate beta deployments and releases for your iOS and Android apps. To learn more, check out [fastlane.tools](https://fastlane.tools).
81
+ ```
@@ -15,7 +15,7 @@ module Fastlane
15
15
  Helper::HuaweiAppgalleryConnectHelper.update_appinfo(params[:client_id], token, params[:app_id], params[:privacy_policy_url])
16
16
  end
17
17
 
18
- upload_app = Helper::HuaweiAppgalleryConnectHelper.upload_app(token, params[:client_id], params[:app_id], params[:apk_path])
18
+ upload_app = Helper::HuaweiAppgalleryConnectHelper.upload_app(token, params[:client_id], params[:app_id], params[:apk_path], params[:is_aab])
19
19
 
20
20
  if upload_app && params[:submit_for_review] != false
21
21
  Helper::HuaweiAppgalleryConnectHelper.submit_app_for_review(token, params)
@@ -67,6 +67,12 @@ module Fastlane
67
67
  optional: false,
68
68
  type: String),
69
69
 
70
+ FastlaneCore::ConfigItem.new(key: :is_aab,
71
+ env_name: "HUAWEI_APPGALLERY_CONNECT_IS_AAB",
72
+ description: "Specify this to be true if you're uploading aab instead of apk",
73
+ optional: true,
74
+ type: Boolean),
75
+
70
76
  FastlaneCore::ConfigItem.new(key: :changelog_path,
71
77
  env_name: "HUAWEI_APPGALLERY_CONNECT_CHANGELOG_PATH",
72
78
  description: "Path to Changelog file (Default empty)",
@@ -3,7 +3,7 @@ require_relative '../helper/huawei_appgallery_connect_helper'
3
3
 
4
4
  module Fastlane
5
5
  module Actions
6
- class HuaweiAppgalleryConnectAction < Action
6
+ class HuaweiAppgalleryConnectSubmitForReviewAction < Action
7
7
  def self.run(params)
8
8
  token = Helper::HuaweiAppgalleryConnectHelper.get_token(params[:client_id], params[:client_secret])
9
9
 
@@ -88,6 +88,12 @@ module Fastlane
88
88
  description: "Release time in UTC format for app release on a specific date. The format is yyyy-MM-dd'T'HH:mm:ssZZ)",
89
89
  optional: true,
90
90
  conflicting_options: [:phase_wise_release],
91
+ type: String),
92
+
93
+ FastlaneCore::ConfigItem.new(key: :changelog_path,
94
+ env_name: "HUAWEI_APPGALLERY_CONNECT_CHANGELOG_PATH",
95
+ description: "Path to Changelog file (Default empty)",
96
+ optional: true,
91
97
  type: String)
92
98
  ]
93
99
  end
@@ -76,10 +76,16 @@ module Fastlane
76
76
  end
77
77
 
78
78
 
79
- def self.upload_app(token, client_id, app_id, apk_path)
79
+ def self.upload_app(token, client_id, app_id, apk_path, is_aab)
80
80
  UI.message("Fetching upload URL")
81
81
 
82
- uri = URI.parse("https://connect-api.cloud.huawei.com/api/publish/v2/upload-url?appId=#{app_id}&suffix=apk")
82
+ if(is_aab)
83
+ uri = URI.parse("https://connect-api.cloud.huawei.com/api/publish/v2/upload-url?appId=#{app_id}&suffix=aab")
84
+ upload_filename = "release.aab"
85
+ else
86
+ uri = URI.parse("https://connect-api.cloud.huawei.com/api/publish/v2/upload-url?appId=#{app_id}&suffix=apk")
87
+ upload_filename = "release.apk"
88
+ end
83
89
 
84
90
  http = Net::HTTP.new(uri.host, uri.port)
85
91
  http.use_ssl = true
@@ -130,10 +136,11 @@ module Fastlane
130
136
  request = Net::HTTP::Put.new(uri.request_uri)
131
137
  request["client_id"] = client_id
132
138
  request["Authorization"] = "Bearer #{token}"
139
+ request['Content-Type'] = "application/json"
133
140
 
134
141
  data = {fileType: 5, files: [{
135
142
 
136
- fileName: "release.apk",
143
+ fileName: upload_filename,
137
144
  fileDestUrl: result_json['result']['UploadFileRsp']['fileInfoList'][0]['fileDestUlr'],
138
145
  size: result_json['result']['UploadFileRsp']['fileInfoList'][0]['size'].to_s
139
146
 
@@ -226,6 +233,11 @@ module Fastlane
226
233
 
227
234
  if result_json['ret']['code'] == 0
228
235
  UI.success("Successfully submitted app for review")
236
+ elsif result_json['ret']['code'] == 204144660 && result_json['ret']['msg'].include?("It may take 2-5 minutes")
237
+ UI.important(result_json)
238
+ UI.important("Build is currently processing, waiting for 2 minutes before submitting again...")
239
+ sleep(120)
240
+ self.submit_app_for_review(token, params)
229
241
  else
230
242
  UI.user_error!(result_json)
231
243
  UI.user_error!("Failed to submit app for review.")
@@ -235,3 +247,4 @@ module Fastlane
235
247
  end
236
248
  end
237
249
  end
250
+
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module HuaweiAppgalleryConnect
3
- VERSION = "1.0.9"
3
+ VERSION = "1.0.14"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane-plugin-huawei_appgallery_connect
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.9
4
+ version: 1.0.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shreejan Shrestha
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-07-04 00:00:00.000000000 Z
11
+ date: 2020-10-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry