fastlane-plugin-match_keystore 0.1.0 → 0.1.1
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: f1078f38dbd52c6280d7c2324cb3d286ffe3792462797bf9f9eadb130cf5ae1c
|
4
|
+
data.tar.gz: 06e54a20de90f151ee42f796c40b7f33ffc102697136656ff15f8684e5926ae1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: de5fc0acdd46b143953957646016be3df6fbb0238157332f949fee5ca137e73e9f9bc0d636031d50df2fd2ba0c2d442ad4c0a93e12c223904c29a058222c3439
|
7
|
+
data.tar.gz: 203b48b2df41b4e8acc2f97c68cc5a694e1dcaa543039a2bfac2c38ba2706281d6717de2aaf51e1fa57245cbf593c6ee30c39a8876adc209e08e585794e6d2dc
|
data/README.md
CHANGED
@@ -16,6 +16,22 @@ Easily sync your Android keystores across your team
|
|
16
16
|
|
17
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.
|
18
18
|
|
19
|
+
## How to use
|
20
|
+
|
21
|
+
```ruby
|
22
|
+
lane :release_and_sign do |options|
|
23
|
+
|
24
|
+
gradle(task: "clean")
|
25
|
+
gradle(task: 'assemble', build_type: 'Release')
|
26
|
+
|
27
|
+
match_keystore(
|
28
|
+
git_url: "https://github.com/<GITHUB_USERNAME>/keystores.git",
|
29
|
+
package_name: "com.your.package.name",
|
30
|
+
apk_path: "/app/build/outputs/apk/app-release.apk"
|
31
|
+
)
|
32
|
+
end
|
33
|
+
```
|
34
|
+
|
19
35
|
## Example
|
20
36
|
|
21
37
|
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`.
|
@@ -76,7 +76,7 @@ module Fastlane
|
|
76
76
|
if zip_align == true
|
77
77
|
apk_path_aligned = apk_path.gsub(".apk", "-aligned.apk")
|
78
78
|
puts `rm -f #{apk_path_aligned}`
|
79
|
-
puts `#{build_tools_path}zipalign
|
79
|
+
puts `#{build_tools_path}zipalign 4 #{apk_path} #{apk_path_aligned}`
|
80
80
|
else
|
81
81
|
apk_path_aligned = apk_path
|
82
82
|
end
|
@@ -92,6 +92,20 @@ module Fastlane
|
|
92
92
|
apk_path_signed
|
93
93
|
end
|
94
94
|
|
95
|
+
def self.resolve_apk_path(apk_path)
|
96
|
+
if !apk_path.to_s.end_with?(".apk")
|
97
|
+
pattern = File.join(apk_path, '*.apk')
|
98
|
+
files = Dir[pattern]
|
99
|
+
for file in files
|
100
|
+
if file.to_s.end_with?(".apk") && !file.to_s.end_with?("-signed.apk")
|
101
|
+
apk_path = file
|
102
|
+
break
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
106
|
+
apk_path
|
107
|
+
end
|
108
|
+
|
95
109
|
def self.run(params)
|
96
110
|
|
97
111
|
git_url = params[:git_url]
|
@@ -218,9 +232,13 @@ module Fastlane
|
|
218
232
|
Actions.lane_context[SharedValues::MATCH_KEYSTORE_ALIAS_NAME] = alias_name
|
219
233
|
Actions.lane_context[SharedValues::MATCH_KEYSTORE_ALIAS_PASSWORD] = alias_password
|
220
234
|
|
235
|
+
output_signed_apk = ''
|
236
|
+
apk_path = self.resolve_apk_path(apk_path)
|
237
|
+
UI.message("APK to sign: " + apk_path)
|
238
|
+
|
221
239
|
if File.file?(keystore_path)
|
222
240
|
UI.message("Signing the APK...")
|
223
|
-
self.sign_apk(
|
241
|
+
output_signed_apk = self.sign_apk(
|
224
242
|
apk_path,
|
225
243
|
keystore_path,
|
226
244
|
key_password,
|
@@ -230,6 +248,8 @@ module Fastlane
|
|
230
248
|
)
|
231
249
|
end
|
232
250
|
|
251
|
+
output_signed_apk
|
252
|
+
|
233
253
|
end
|
234
254
|
|
235
255
|
def self.description
|
@@ -272,7 +292,7 @@ module Fastlane
|
|
272
292
|
type: String),
|
273
293
|
FastlaneCore::ConfigItem.new(key: :apk_path,
|
274
294
|
env_name: "MATCH_KEYSTORE_APK_PATH",
|
275
|
-
description: "Path of the APK file
|
295
|
+
description: "Path of the APK file to sign",
|
276
296
|
optional: false,
|
277
297
|
type: String),
|
278
298
|
FastlaneCore::ConfigItem.new(key: :override_keystore,
|