fastlane-plugin-bundletool 1.0.3 → 1.0.6

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: 5ff6a7f211427f253c72806e89c9b3452fa65220f93c5e10ce821698287b027f
4
- data.tar.gz: dd0cbb37dd0e57fe7ae560eef1f1e4bfd7dd042efe5444f6327b94f0ad5ff0ee
3
+ metadata.gz: 767f07f7ad832c2f3fbd48a0042b61164401e17cb7036ec5443d3bf661b84398
4
+ data.tar.gz: 8471216a1e08a0d07ce357557b304cdf19cc2e50a19514bdb22bc6dc494102c3
5
5
  SHA512:
6
- metadata.gz: fbdeca04c44e500ae18f83704dc2305061663873199e2e054f21bdfe5d107d343b2cfd3416e66ea4d9300c2b18f569422141a5191faa505ae6037edd4a03deeb
7
- data.tar.gz: 052ac2bc4d209d0fc40582b2e1e8859004475a1f464ea4693af732808a1936f62afd2f2f684c6362a8f8be026a311bce238e19192b0c82608126c46bfa64a640
6
+ metadata.gz: 409b0158b1983b047670cc77ab5da427536d15ccc3073148a685f72b25ec19685913acc1a0aeef7c7caaba0878827e3c6e981e4a145140a6d884c1cd0aa653b3
7
+ data.tar.gz: 0d8e1689a07e0369579619d65b0ddaf11f20aa2121bef104990aa2fc4053fea9582eabd396d6131ce6380dfd0300305cf62fd2a9ea4437ae8d39aea9cbfea571
data/README.md CHANGED
@@ -13,7 +13,7 @@ fastlane add_plugin bundletool
13
13
  or in your Pluginfile under fastlane folder write the following line and run `bundle install`.
14
14
 
15
15
  ```
16
- gem 'fastlane-plugin-bundletool', '1.0.2'
16
+ gem 'fastlane-plugin-bundletool', '1.0.4'
17
17
  ```
18
18
 
19
19
  ## About bundletool
@@ -20,12 +20,13 @@ module Fastlane
20
20
  end
21
21
 
22
22
  bundletool_version = params[:bundletool_version]
23
+ download_url = params[:download_url]
23
24
  aab_path = params[:aab_path]
24
25
  output_path = params[:apk_output_path] || '.'
25
26
 
26
27
  return unless validate_aab!(aab_path)
27
28
 
28
- return unless download_bundletool(bundletool_version)
29
+ return unless download_bundletool(bundletool_version, download_url)
29
30
 
30
31
  extract_universal_apk_from(aab_path, output_path, keystore_info)
31
32
  end
@@ -39,20 +40,22 @@ module Fastlane
39
40
  puts_success('Checking if .aab file exists')
40
41
  end
41
42
 
42
- def self.download_bundletool(version)
43
- puts_message("Downloading bundletool (#{version}) from https://github.com/google/bundletool/releases/download/#{version}/bundletool-all-#{version}.jar...")
44
- Dir.mkdir "#{@project_root}/bundletool_temp"
45
- Kernel.open("https://github.com/google/bundletool/releases/download/#{version}/bundletool-all-#{version}.jar") do |bundletool|
46
- File.open("#{@bundletool_temp_path}/bundletool.jar", 'wb') do |file|
47
- file.write(bundletool.read)
48
- end
43
+ def self.download_bundletool(version, download_url)
44
+ Dir.mkdir "#{@project_root}/bundletool_temp"
45
+
46
+ unless download_url.nil?
47
+ puts_message("Downloading bundletool from #{download_url}")
48
+ download_and_write_bundletool(download_url)
49
+ else
50
+ puts_message("Downloading bundletool (#{version}) from https://github.com/google/bundletool/releases/download/#{version}/bundletool-all-#{version}.jar...")
51
+ download_and_write_bundletool("https://github.com/google/bundletool/releases/download/#{version}/bundletool-all-#{version}.jar")
49
52
  end
50
- puts_success('Downloading bundletool')
51
- rescue StandardError => e
53
+ puts_success('Downloaded bundletool')
54
+ rescue OpenURI::HTTPError => e
52
55
  clean_temp!
53
- puts_error!("Something went wrong when downloading bundletool version #{version}. \nError message\n #{e.message}")
54
- false
55
- end
56
+ puts_error!("Something went wrong when downloading bundletool version #{version}" + ". \nError message\n #{e.message}")
57
+ false
58
+ end
56
59
 
57
60
  def self.extract_universal_apk_from(aab_path, apk_output_path, keystore_info)
58
61
  aab_absolute_path = Pathname.new(File.expand_path(aab_path)).to_s
@@ -71,7 +74,7 @@ module Fastlane
71
74
  keystore_params = ''
72
75
 
73
76
  unless keystore_info.empty?
74
- 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]}\""
77
+ 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]}'"
75
78
  end
76
79
 
77
80
  cmd = "java -jar #{@bundletool_temp_path}/bundletool.jar build-apks --bundle=\"#{aab_path}\" --output=\"#{output_path}\" --mode=universal #{keystore_params}"
@@ -155,15 +158,19 @@ module Fastlane
155
158
  description: 'Version of bundletool to use, by default 0.11.0 will be used',
156
159
  is_string: true,
157
160
  default_value: '0.11.0'),
161
+ FastlaneCore::ConfigItem.new(key: :download_url,
162
+ description: 'Url to download bundletool from, should point to a jar file',
163
+ is_string: true,
164
+ optional: true),
158
165
  FastlaneCore::ConfigItem.new(key: :aab_path,
159
166
  description: 'Path where the aab file is',
160
167
  is_string: true,
161
168
  optional: false,
162
169
  verify_block: proc do |value|
163
- unless value && !value.empty?
164
- UI.user_error!('You must set aab_path.')
165
- end
166
- end),
170
+ unless value && !value.empty?
171
+ UI.user_error!('You must set aab_path.')
172
+ end
173
+ end),
167
174
  FastlaneCore::ConfigItem.new(key: :apk_output_path,
168
175
  description: 'Path where the apk file is going to be placed',
169
176
  is_string: true,
@@ -201,6 +208,16 @@ module Fastlane
201
208
  def self.is_supported?(platform)
202
209
  [:android].include?(platform)
203
210
  end
211
+
212
+ private
213
+
214
+ def self.download_and_write_bundletool(download_url)
215
+ URI.open(download_url) do |bundletool|
216
+ File.open("#{@bundletool_temp_path}/bundletool.jar", 'wb') do |file|
217
+ file.write(bundletool.read)
218
+ end
219
+ end
220
+ end
204
221
  end
205
222
  end
206
223
  end
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
2
  module Bundletool
3
- VERSION = "1.0.3"
3
+ VERSION = "1.0.6"
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.3
4
+ version: 1.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Gonzalez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-13 00:00:00.000000000 Z
11
+ date: 2022-03-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry
@@ -168,7 +168,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
168
168
  - !ruby/object:Gem::Version
169
169
  version: '0'
170
170
  requirements: []
171
- rubygems_version: 3.1.2
171
+ rubygems_version: 3.0.3.1
172
172
  signing_key:
173
173
  specification_version: 4
174
174
  summary: Extracts a universal apk from an .aab file