fastlane-plugin-bundletool 1.0.8 → 1.0.10

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: 0df0a840288a7028a5052aba0ab6beede179d3c7f8c8151c89ee5f6223779924
4
- data.tar.gz: 472c240a4018e1a22a91f14379944c8ecb764cf65c27792d7e30b966fb083943
3
+ metadata.gz: 22cb77c485e131d1f8b9128d298c5effc344d634469d710072927fee0be584ef
4
+ data.tar.gz: f78e42917e33f53a843f40bad59e3fc981f32ee29363701fd2cf7559f191e0ab
5
5
  SHA512:
6
- metadata.gz: 4640820cc8011541892f8979ccc870de5751d4f067d5ed74cfe6219317c09565b85f94b680dbc04b6e7952ef1b908f23792f7d9c04ba023ff2248293965a090d
7
- data.tar.gz: 5f9e32338638c28d7210bfbdc2ed100cac55f7ec7d66f6283c8d75e370e005b18bb1d2ad1e0e9d07b2272ce1592c3d038a43fc26822d4a3dd1a72bdabb444c31
6
+ metadata.gz: eb1f99005373b99554168e34d71331bcf6c4ae6461357ae7b90766df85139fb128d04f6de58e97aac58ebcf85149fec03d7f3e2c1b62d9d4dce08ff3ed07b3a0
7
+ data.tar.gz: e66c62ba7e0b16a3b773479f39a445615beb5502312b634108a6c9949000efc8b4a18dadad06a4bf30e12000621ea578a51e79d0c79d178964076a954dfe2fb1
data/README.md CHANGED
@@ -44,6 +44,24 @@ bundletool(
44
44
 
45
45
  This will output the universal `.apk` in the output path you set.
46
46
 
47
+ ## Options
48
+
49
+ | Key | Description | Env Var(s) | Default |
50
+ |-----------------------|---------------------------------------------------------|---------------------------------|---------|
51
+ | ks_path | Path to .jks file | FL_BUNDLETOOL_KEYSTORE_FILE | |
52
+ | ks_password | .jks password | FL_BUNDLETOOL_KEYSTORE_PASSWORD | |
53
+ | ks_key_alias | Alias for jks | FL_BUNDLETOOL_KEY_ALIAS | |
54
+ | ks_key_alias_password | Alias password for .jks | FL_BUNDLETOOL_KEY_PASSWORD | |
55
+ | bundletool_version | Version of bundletool to use, by default 0.11.0 will | FL_BUNDLETOOL_VERSION | 0.11.0 |
56
+ | | be used | | |
57
+ | download_url | Url to download bundletool from, should point to a jar | FL_BUNDLETOOL_DOWNLOAD_URL | |
58
+ | | file | | |
59
+ | aab_path | Path where the aab file is | FL_BUNDLETOOL_AAB_PATH | |
60
+ | apk_output_path | Path where the apk file is going to be placed | FL_BUNDLETOOL_APK_OUTPUT_PATH | . |
61
+ | verbose | Show every messages of the action | FL_BUNDLETOOL_VERBOSE | false |
62
+ | cache_path | Cache downloaded bundletool binary into the cache path | FL_BUNDLETOOL_CACHE_PATH | |
63
+ |-----------------------|---------------------------------------------------------|---------------------------------|---------|
64
+
47
65
  ## Use case
48
66
 
49
67
  Here you can find a post I did explaining why I have to create this action.
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'fastlane/action'
4
+ require 'shellwords'
4
5
  require_relative '../helper/bundletool_helper'
5
6
 
6
7
  module Fastlane
@@ -93,7 +94,10 @@ module Fastlane
93
94
  keystore_params = ''
94
95
 
95
96
  unless keystore_info.empty?
96
- keystore_params = "--ks='#{keystore_info[:keystore_path]}' --ks-pass='pass:#{keystore_info[:keystore_password]}' --ks-key-alias='#{keystore_info[:alias]}' --key-pass='pass:#{keystore_info[:alias_password]}'"
97
+ key_alias_password = Shellwords.shellescape("pass:#{keystore_info[:alias_password]}")
98
+ key_store_password = Shellwords.shellescape("pass:#{keystore_info[:keystore_password]}")
99
+ key_alias = Shellwords.shellescape(keystore_info[:alias])
100
+ keystore_params = "--ks=#{keystore_info[:keystore_path]} --ks-pass=#{key_store_password} --ks-key-alias=#{key_alias} --key-pass=#{key_alias_password}"
97
101
  end
98
102
 
99
103
  cmd = "java -jar #{installation_path}/#{bundletool_filename} build-apks --bundle=\"#{aab_path}\" --output=\"#{output_path}\" --mode=universal #{keystore_params}"
@@ -158,30 +162,37 @@ module Fastlane
158
162
  def self.available_options
159
163
  [
160
164
  FastlaneCore::ConfigItem.new(key: :ks_path,
165
+ env_name: 'FL_BUNDLETOOL_KEYSTORE_FILE',
161
166
  description: 'Path to .jks file',
162
167
  is_string: true,
163
168
  optional: true),
164
169
  FastlaneCore::ConfigItem.new(key: :ks_password,
170
+ env_name: 'FL_BUNDLETOOL_KEYSTORE_PASSWORD',
165
171
  description: '.jks password',
166
172
  is_string: true,
167
173
  optional: true),
168
174
  FastlaneCore::ConfigItem.new(key: :ks_key_alias,
175
+ env_name: 'FL_BUNDLETOOL_KEY_ALIAS',
169
176
  description: 'Alias for jks',
170
177
  is_string: true,
171
178
  optional: true),
172
179
  FastlaneCore::ConfigItem.new(key: :ks_key_alias_password,
180
+ env_name: 'FL_BUNDLETOOL_KEY_PASSWORD',
173
181
  description: 'Alias password for .jks',
174
182
  is_string: true,
175
183
  optional: true),
176
184
  FastlaneCore::ConfigItem.new(key: :bundletool_version,
185
+ env_name: 'FL_BUNDLETOOL_VERSION',
177
186
  description: 'Version of bundletool to use, by default 0.11.0 will be used',
178
187
  is_string: true,
179
188
  default_value: '0.11.0'),
180
189
  FastlaneCore::ConfigItem.new(key: :download_url,
190
+ env_name: 'FL_BUNDLETOOL_DOWNLOAD_URL',
181
191
  description: 'Url to download bundletool from, should point to a jar file',
182
192
  is_string: true,
183
193
  optional: true),
184
194
  FastlaneCore::ConfigItem.new(key: :aab_path,
195
+ env_name: 'FL_BUNDLETOOL_AAB_PATH',
185
196
  description: 'Path where the aab file is',
186
197
  is_string: true,
187
198
  optional: false,
@@ -191,21 +202,23 @@ module Fastlane
191
202
  end
192
203
  end),
193
204
  FastlaneCore::ConfigItem.new(key: :apk_output_path,
205
+ env_name: 'FL_BUNDLETOOL_APK_OUTPUT_PATH',
194
206
  description: 'Path where the apk file is going to be placed',
195
207
  is_string: true,
196
208
  optional: true,
197
209
  default_value: '.'),
198
210
  FastlaneCore::ConfigItem.new(key: :verbose,
211
+ env_name: 'FL_BUNDLETOOL_VERBOSE',
199
212
  description: 'Show every messages of the action',
200
213
  is_string: false,
201
214
  type: Boolean,
202
215
  optional: true,
203
216
  default_value: false),
204
- FastlaneCore::ConfigItem.new(key: :cache_path,
217
+ FastlaneCore::ConfigItem.new(key: :cache_path,
218
+ env_name: 'FL_BUNDLETOOL_CACHE_PATH',
205
219
  description: 'Cache downloaded bundletool binary into the cache path specified',
206
- is_string: true,
220
+ is_string: true,
207
221
  optional: true)
208
-
209
222
  ]
210
223
  end
211
224
 
@@ -239,7 +252,7 @@ module Fastlane
239
252
  puts_message("Using binary cached at #{installation_path}/#{bundletool_filename}")
240
253
  return
241
254
  end
242
-
255
+
243
256
  puts_message("Downloading bundletool from #{download_url}")
244
257
 
245
258
  URI.open(download_url) do |bundletool|
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module Bundletool
3
- VERSION = "1.0.8"
3
+ VERSION = "1.0.10"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fastlane-plugin-bundletool
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.8
4
+ version: 1.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Gonzalez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-03-08 00:00:00.000000000 Z
11
+ date: 2024-05-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry
@@ -136,6 +136,20 @@ dependencies:
136
136
  - - ">="
137
137
  - !ruby/object:Gem::Version
138
138
  version: 2.137.0
139
+ - !ruby/object:Gem::Dependency
140
+ name: shellwords
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 0.2.0
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 0.2.0
139
153
  description:
140
154
  email: gonzalez.martin90@gmail.com
141
155
  executables: []
@@ -168,7 +182,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
168
182
  - !ruby/object:Gem::Version
169
183
  version: '0'
170
184
  requirements: []
171
- rubygems_version: 3.1.6
185
+ rubygems_version: 3.2.3
172
186
  signing_key:
173
187
  specification_version: 4
174
188
  summary: Extracts a universal apk from an .aab file