fastlane-plugin-bundletool 1.0.3 → 1.0.6

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: 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