fastlane-plugin-firebase 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/fastlane/plugin/firebase/actions/firebase_add_client_action.rb +17 -2
- data/lib/fastlane/plugin/firebase/actions/firebase_download_config_action.rb +1 -1
- data/lib/fastlane/plugin/firebase/actions/firebase_list_action.rb +2 -1
- data/lib/fastlane/plugin/firebase/actions/firebase_upload_certificate_action.rb +9 -3
- data/lib/fastlane/plugin/firebase/lib/api.rb +6 -1
- data/lib/fastlane/plugin/firebase/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8709ae7cfc1e92170d2c4e18efe1960c26df6281
|
4
|
+
data.tar.gz: 96a0afe222d6010f35a450caa88edfc0d5056540
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ccc8c899b5176e4cf535c01bd58f53423324724ec075b799a0fd7f9a487d60d5b0c8d87a5e518a6a88eb5d4393254c15b0438a29ea2a776cccff0319eede4d39
|
7
|
+
data.tar.gz: 6069a93a1ca51d2ce9211b410e81cac6e9af8b61e3ba04be6d3e7e41d8876b3822645b3a80eabed81741a23351328b35d2675f3de1fffe3f3ee265010ccb13c4
|
@@ -17,14 +17,28 @@ module Fastlane
|
|
17
17
|
name = params[:name]
|
18
18
|
appstore_id = params[:appstore_id]
|
19
19
|
|
20
|
+
begin
|
20
21
|
# Add client
|
21
22
|
client = api.add_client(project["projectNumber"], type, bundle_id, name, appstore_id)
|
22
|
-
|
23
|
+
rescue Firebase::Api::BadRequestError => e
|
24
|
+
if e.code == 409 then
|
25
|
+
client = project["clientSummary"].select { |client| client["clientId"] == "#{type}:#{bundle_id}" }.first
|
26
|
+
if client then
|
27
|
+
UI.success "Client already exists, skipping ..."
|
28
|
+
else
|
29
|
+
raise
|
30
|
+
end
|
31
|
+
else
|
32
|
+
raise
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
|
23
37
|
if params[:download_config] then
|
24
38
|
#Download config
|
25
39
|
config = api.download_config_file(project["projectNumber"], client["clientId"])
|
26
40
|
path = File.join(params[:output_path], params[:output_name] || config.filename)
|
27
|
-
config.save(path)
|
41
|
+
config.save!(path)
|
28
42
|
|
29
43
|
UI.success "Successfuly saved config at #{path}"
|
30
44
|
end
|
@@ -62,6 +76,7 @@ module Fastlane
|
|
62
76
|
env_name: "FIREBASE_DOWNLOAD_CONFIG",
|
63
77
|
description: "Should download config for created client",
|
64
78
|
optional: false,
|
79
|
+
is_string: false,
|
65
80
|
default_value: true),
|
66
81
|
FastlaneCore::ConfigItem.new(key: :type,
|
67
82
|
env_name: "FIREBASE_TYPE",
|
@@ -19,7 +19,7 @@ module Fastlane
|
|
19
19
|
#Download
|
20
20
|
config = api.download_config_file(project_number, client_id)
|
21
21
|
path = File.join(params[:output_path], params[:output_name] || config.filename)
|
22
|
-
config.save(path)
|
22
|
+
config.save!(path)
|
23
23
|
|
24
24
|
UI.success "Successfuly saved config at #{path}"
|
25
25
|
end
|
@@ -10,8 +10,9 @@ module Fastlane
|
|
10
10
|
|
11
11
|
# List projects
|
12
12
|
projects = api.project_list()
|
13
|
+
|
13
14
|
projects.each_with_index { |p, i|
|
14
|
-
UI.message "#{i+1}. #{p["displayName"]}"
|
15
|
+
UI.message "#{i+1}. #{p["displayName"]} (#{p["projectNumber"]})"
|
15
16
|
p["clientSummary"].sort {|left, right| left["clientId"] <=> right["clientId"] }.each_with_index { |client, j|
|
16
17
|
UI.message " - #{client["clientId"]} (#{client["displayName"]})"
|
17
18
|
}
|
@@ -24,7 +24,7 @@ module Fastlane
|
|
24
24
|
client_id = client["clientId"]
|
25
25
|
|
26
26
|
#Select certificate type
|
27
|
-
type = UI.select("Select type:", [
|
27
|
+
type = params[:type].to_sym # || UI.select("Select type:", ["development", "production"])).to_sym
|
28
28
|
|
29
29
|
#Base64 certificate
|
30
30
|
certificate_value = Base64.encode64(File.open(p12_path, "rb").read).delete!("\n")
|
@@ -76,7 +76,10 @@ module Fastlane
|
|
76
76
|
FastlaneCore::ConfigItem.new(key: :p12_path,
|
77
77
|
env_name: "FIREBASE_P12PATH",
|
78
78
|
description: "Path to certificate",
|
79
|
-
optional: false
|
79
|
+
optional: false,
|
80
|
+
verify_block: proc do |value|
|
81
|
+
UI.user_error! "Inserted value is not file - #{value}" unless File.exists? value
|
82
|
+
end),
|
80
83
|
FastlaneCore::ConfigItem.new(key: :p12_password,
|
81
84
|
env_name: "FIREBASE_PASSWORD",
|
82
85
|
description: "Password to the certicate",
|
@@ -88,7 +91,10 @@ module Fastlane
|
|
88
91
|
FastlaneCore::ConfigItem.new(key: :client_id,
|
89
92
|
env_name: "FIREBASE_CLIENT_ID",
|
90
93
|
description: "Project client id",
|
91
|
-
optional: true)
|
94
|
+
optional: true),
|
95
|
+
FastlaneCore::ConfigItem.new(key: :type,
|
96
|
+
env_name: "FIREBASE_TYPE",
|
97
|
+
description: "Type of certificate (development, production)")
|
92
98
|
]
|
93
99
|
end
|
94
100
|
|
@@ -6,6 +6,11 @@ module Fastlane
|
|
6
6
|
end
|
7
7
|
|
8
8
|
class BadRequestError < StandardError
|
9
|
+
attr_reader :code
|
10
|
+
def initialize(msg, code)
|
11
|
+
@code = code
|
12
|
+
super(msg)
|
13
|
+
end
|
9
14
|
end
|
10
15
|
|
11
16
|
require 'mechanize'
|
@@ -107,7 +112,7 @@ module Fastlane
|
|
107
112
|
code = e.response_code.to_i
|
108
113
|
if code >= 400 && code < 500 then
|
109
114
|
if body = JSON.parse(e.page.body) then
|
110
|
-
raise BadRequestError
|
115
|
+
raise BadRequestError.new(body["error"]["message"], code)
|
111
116
|
end
|
112
117
|
end
|
113
118
|
UI.crash! e.page.body
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane-plugin-firebase
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tomas Kohout
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-04-
|
11
|
+
date: 2017-04-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|