fastlane-plugin-rustore 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fd8b75fbb201a3400db901e3d014e10697c12308b5c250fbc669d867181c1311
|
4
|
+
data.tar.gz: 2f5bbe7b9a5f5ab02531c81d47cbf7051eddbae7a338d747bc7befd204a0139a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1e2a1c5340c7c3a46aec090debc74b102123edc74cdb3b3222953cf82c29fa63e2dccf3f39571ec6d9186ad98dc220e34d2b9b0660eb2a6d8a8dc40b7788edf0
|
7
|
+
data.tar.gz: 10c5a5490ea0affce79e930e96c9e2de43fa5112c2768fe608a05140ee59054e3d584bba9b89a8f52ac3630647d33905c12fd1717bfea6ef21c8cdb6214d3ae5
|
data/README.md
CHANGED
@@ -7,6 +7,8 @@
|
|
7
7
|
|
8
8
|
Пока что реализован базовый функционал с заливкой апк. Скриншоты, описание и прочие материалы наследуются от предыдущего релиза. Обработки ошибок нет. Если у вас уже есть черновик релиза, то скорей всего ничего не заработает. Черновик, созданный через апи, в админке отображаться не будет. Если случилась ошибка где-то на этапе заливки, то останется черновик, который будет мешать следующему запуску скрипта, удалить его лучше с помощью [питонскрипта](https://github.com/stfbee/python-rustore-api), а экшен удаления тут будет чуть позже.
|
9
9
|
|
10
|
+
Также есть признаки того, что заливать апк из вне РФ больше нельзя (смотри [#2](https://github.com/stfbee/fastlane-plugin-rustore/issues/2)), так что выбирайте раннер, где будет запускаться скрипт.
|
11
|
+
|
10
12
|
## Поехали
|
11
13
|
|
12
14
|
Для начала добавь плагин в ваш fastlane проект:
|
@@ -20,7 +22,7 @@ fastlane add_plugin rustore
|
|
20
22
|
hms_apk: "../../app-release-hms.apk",
|
21
23
|
package_name: "com.example.example",
|
22
24
|
publish_type: "MANUAL"
|
23
|
-
|
25
|
+
key_id: "123123",
|
24
26
|
private_key: "MIIE....."
|
25
27
|
)
|
26
28
|
```
|
@@ -29,7 +31,7 @@ fastlane add_plugin rustore
|
|
29
31
|
* `hms_apk` - путь до .apk с Huawei-сервисами (опционально). У Рустора пока все плохо с документацией об этом, но залить его можно, что получится - пока хз.
|
30
32
|
* `package_name` - название пакета
|
31
33
|
* `publish_type` - тип публикации (MANUAL - ручная, DELAYED - отложенная, INSTANTLY - автоматическая после модерации). По умолчанию - INSTANTLY.
|
32
|
-
* `
|
34
|
+
* `key_id` и `private_key` надо взять в админке рустора, доступ к ним имеет только оунер.
|
33
35
|
|
34
36
|
## Ссылочки
|
35
37
|
* [_fastlane_](https://github.com/fastlane/fastlane)
|
@@ -14,14 +14,14 @@ module Fastlane
|
|
14
14
|
|
15
15
|
def self.run(params)
|
16
16
|
package_name = params[:package_name]
|
17
|
-
|
17
|
+
key_id = params[:key_id]
|
18
18
|
private_key = params[:private_key]
|
19
19
|
publish_type = params[:publish_type]
|
20
20
|
gms_apk = params[:gms_apk]
|
21
21
|
hms_apk = params[:hms_apk]
|
22
22
|
|
23
23
|
# Получение токена
|
24
|
-
token = Helper::RustoreHelper.get_token(
|
24
|
+
token = Helper::RustoreHelper.get_token(key_id: key_id, private_key: private_key)
|
25
25
|
# Создание черновика
|
26
26
|
draft_id = Helper::RustoreHelper.create_draft(token, package_name, publish_type)
|
27
27
|
# Загрузка апк
|
@@ -41,9 +41,9 @@ module Fastlane
|
|
41
41
|
env_name: "RUSTORE_PACKAGE_NAME",
|
42
42
|
description: "пакет приложения, например `com.example.example`",
|
43
43
|
optional: false),
|
44
|
-
FastlaneCore::ConfigItem.new(key: :
|
45
|
-
env_name: "
|
46
|
-
description: "
|
44
|
+
FastlaneCore::ConfigItem.new(key: :key_id,
|
45
|
+
env_name: "RUSTORE_KEY_ID",
|
46
|
+
description: "идентификатор приватного ключа в русторе",
|
47
47
|
optional: false),
|
48
48
|
FastlaneCore::ConfigItem.new(key: :private_key,
|
49
49
|
env_name: "RUSTORE_PRIVATE_KEY",
|
@@ -29,18 +29,18 @@ module Fastlane
|
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
32
|
-
def self.rsa_sign(timestamp,
|
32
|
+
def self.rsa_sign(timestamp, key_id, private_key)
|
33
33
|
key = OpenSSL::PKey::RSA.new("-----BEGIN RSA PRIVATE KEY-----\n#{private_key}\n-----END RSA PRIVATE KEY-----")
|
34
|
-
signature = key.sign(OpenSSL::Digest.new('SHA512'),
|
34
|
+
signature = key.sign(OpenSSL::Digest.new('SHA512'), key_id + timestamp)
|
35
35
|
Base64.encode64(signature)
|
36
36
|
end
|
37
37
|
|
38
|
-
def self.get_token(
|
38
|
+
def self.get_token(key_id:, private_key:)
|
39
39
|
timestamp = DateTime.now.iso8601(3)
|
40
|
-
signature = rsa_sign(timestamp,
|
40
|
+
signature = rsa_sign(timestamp, key_id, private_key)
|
41
41
|
url = "/public/auth/"
|
42
42
|
response = connection.post(url) do |req|
|
43
|
-
req.body = {
|
43
|
+
req.body = { keyId: key_id, timestamp: timestamp, signature: signature }
|
44
44
|
end
|
45
45
|
|
46
46
|
UI.message("Debug: response #{response.body}") if ENV['DEBUG']
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane-plugin-rustore
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vladislav Onishchenko
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-09-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -150,7 +150,7 @@ dependencies:
|
|
150
150
|
- - ">="
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: '0'
|
153
|
-
description:
|
153
|
+
description:
|
154
154
|
email: pinkey.950@gmail.com
|
155
155
|
executables: []
|
156
156
|
extensions: []
|
@@ -166,7 +166,7 @@ homepage: https://github.com/stfbee/fastlane-plugin-rustore
|
|
166
166
|
licenses:
|
167
167
|
- MIT
|
168
168
|
metadata: {}
|
169
|
-
post_install_message:
|
169
|
+
post_install_message:
|
170
170
|
rdoc_options: []
|
171
171
|
require_paths:
|
172
172
|
- lib
|
@@ -181,8 +181,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
181
181
|
- !ruby/object:Gem::Version
|
182
182
|
version: '0'
|
183
183
|
requirements: []
|
184
|
-
rubygems_version: 3.
|
185
|
-
signing_key:
|
184
|
+
rubygems_version: 3.5.16
|
185
|
+
signing_key:
|
186
186
|
specification_version: 4
|
187
187
|
summary: Rustore fastlane integration plugin
|
188
188
|
test_files: []
|