supply 0.5.2 → 0.5.3

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
  SHA1:
3
- metadata.gz: 2962e8c36a67b8e1fc920269e1052c3f3392de08
4
- data.tar.gz: 5313215b362d0c842128f7f6d49614a10cbb6948
3
+ metadata.gz: eff55accd696bce7ea7f682dbe1f1201abaab960
4
+ data.tar.gz: 6904059222901364058d75845490675f9a001df2
5
5
  SHA512:
6
- metadata.gz: 9430225bf759727b2d9c3a72dcd434c11bc5883ec2e52e53e8a580b6cad19607c0387f8d00323a014b2dd0c799e0dff279e39b88afe046e8373a8cb1d664c9b6
7
- data.tar.gz: 89fd60fe08bb2b6bba279ee7eeb2f88432ea1602aa4bc25d22296c201b1d57d26c045d556a102c24288d7e87b36960c9e1b56e3f9af12589f8e5e53885265c3d
6
+ metadata.gz: 8443859f5876dd6dd7bc1015f91ab49a96cc0c96a28045e5ff4402be07b6fb3d77e4385b94551df679b8506994760274331c52a80aa3b208a99c5ca64dee35e1
7
+ data.tar.gz: 9d879c1ae4f98e4a119970306277f807d5d3cf38a7312f8e1401ab8ac09353da6b52967299031d4f3afad94af87e483865c434be9cde9ee36e002c3805d087e2
data/README.md CHANGED
@@ -1,24 +1,24 @@
1
1
  <h3 align="center">
2
- <a href="https://github.com/fastlane/fastlane">
3
- <img src="assets/fastlane.png" width="150" />
2
+ <a href="https://github.com/fastlane/fastlane/tree/master/fastlane">
3
+ <img src="../fastlane/assets/fastlane.png" width="150" />
4
4
  <br />
5
5
  fastlane
6
6
  </a>
7
7
  </h3>
8
8
  <p align="center">
9
- <a href="https://github.com/fastlane/deliver">deliver</a> &bull;
10
- <a href="https://github.com/fastlane/snapshot">snapshot</a> &bull;
11
- <a href="https://github.com/fastlane/frameit">frameit</a> &bull;
12
- <a href="https://github.com/fastlane/pem">pem</a> &bull;
13
- <a href="https://github.com/fastlane/sigh">sigh</a> &bull;
14
- <a href="https://github.com/fastlane/produce">produce</a> &bull;
15
- <a href="https://github.com/fastlane/cert">cert</a> &bull;
16
- <a href="https://github.com/fastlane/spaceship">spaceship</a> &bull;
17
- <a href="https://github.com/fastlane/pilot">pilot</a> &bull;
9
+ <a href="https://github.com/fastlane/fastlane/tree/master/deliver">deliver</a> &bull;
10
+ <a href="https://github.com/fastlane/fastlane/tree/master/snapshot">snapshot</a> &bull;
11
+ <a href="https://github.com/fastlane/fastlane/tree/master/frameit">frameit</a> &bull;
12
+ <a href="https://github.com/fastlane/fastlane/tree/master/pem">pem</a> &bull;
13
+ <a href="https://github.com/fastlane/fastlane/tree/master/sigh">sigh</a> &bull;
14
+ <a href="https://github.com/fastlane/fastlane/tree/master/produce">produce</a> &bull;
15
+ <a href="https://github.com/fastlane/fastlane/tree/master/cert">cert</a> &bull;
16
+ <a href="https://github.com/fastlane/fastlane/tree/master/spaceship">spaceship</a> &bull;
17
+ <a href="https://github.com/fastlane/fastlane/tree/master/pilot">pilot</a> &bull;
18
18
  <a href="https://github.com/fastlane/boarding">boarding</a> &bull;
19
- <a href="https://github.com/fastlane/gym">gym</a> &bull;
20
- <a href="https://github.com/fastlane/scan">scan</a> &bull;
21
- <a href="https://github.com/fastlane/match">match</a>
19
+ <a href="https://github.com/fastlane/fastlane/tree/master/gym">gym</a> &bull;
20
+ <a href="https://github.com/fastlane/fastlane/tree/master/scan">scan</a> &bull;
21
+ <a href="https://github.com/fastlane/fastlane/tree/master/match">match</a>
22
22
  </p>
23
23
  -------
24
24
 
@@ -30,9 +30,9 @@ supply
30
30
  ============
31
31
 
32
32
  [![Twitter: @FastlaneTools](https://img.shields.io/badge/contact-@FastlaneTools-blue.svg?style=flat)](https://twitter.com/FastlaneTools)
33
- [![License](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/fastlane/supply/blob/master/LICENSE)
33
+ [![License](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/fastlane/fastlane/blob/master/supply/LICENSE)
34
34
  [![Gem](https://img.shields.io/gem/v/supply.svg?style=flat)](http://rubygems.org/gems/supply)
35
- [![Build Status](https://img.shields.io/travis/fastlane/supply/master.svg?style=flat)](https://travis-ci.org/KrauseFx/supply)
35
+ [![Build Status](https://img.shields.io/circleci/project/fastlane/fastlane/master.svg?style=flat)](https://circleci.com/gh/fastlane/fastlane)
36
36
 
37
37
  ###### Command line tool for updating Android apps and their metadata on the Google Play Store
38
38
 
@@ -41,12 +41,12 @@ Get in contact with the developer on Twitter: [@FastlaneTools](https://twitter.c
41
41
 
42
42
  -------
43
43
  <p align="center">
44
- <a href="#features">Features</a> &bull;
45
- <a href="#installation">Installation</a> &bull;
46
- <a href="#setup">Setup</a> &bull;
47
- <a href="#quick-start">Quick Start</a> &bull;
48
- <a href="#available-commands">Commands</a> &bull;
49
- <a href="#uploading-an-apk">Uploading an APK</a> &bull;
44
+ <a href="#features">Features</a> &bull;
45
+ <a href="#installation">Installation</a> &bull;
46
+ <a href="#setup">Setup</a> &bull;
47
+ <a href="#quick-start">Quick Start</a> &bull;
48
+ <a href="#available-commands">Commands</a> &bull;
49
+ <a href="#uploading-an-apk">Uploading an APK</a> &bull;
50
50
  <a href="#images-and-screenshots">Images</a>
51
51
  </p>
52
52
 
@@ -161,7 +161,7 @@ You can add changelog files under the `changelogs/` directory for each locale. T
161
161
  ```
162
162
  └── fastlane
163
163
  └── metadata
164
- └── android
164
+ └── android
165
165
  ├── en-US
166
166
  │ └── changelogs
167
167
  │ ├── 100000.txt
@@ -176,19 +176,18 @@ You can add changelog files under the `changelogs/` directory for each locale. T
176
176
  ### [`fastlane`](https://fastlane.tools) Toolchain
177
177
 
178
178
  - [`fastlane`](https://fastlane.tools): Connect all deployment tools into one streamlined workflow
179
- - [`deliver`](https://github.com/fastlane/deliver): Upload screenshots, metadata and your app to the App Store
180
- - [`snapshot`](https://github.com/fastlane/snapshot): Automate taking localized screenshots of your iOS app on every device
181
- - [`frameit`](https://github.com/fastlane/frameit): Quickly put your screenshots into the right device frames
182
- - [`pem`](https://github.com/fastlane/pem): Automatically generate and renew your push notification profiles
183
- - [`sigh`](https://github.com/fastlane/sigh): Because you would rather spend your time building stuff than fighting provisioning
184
- - [`produce`](https://github.com/fastlane/produce): Create new iOS apps on iTunes Connect and Dev Portal using the command line
185
- - [`cert`](https://github.com/fastlane/cert): Automatically create and maintain iOS code signing certificates
186
- - [`codes`](https://github.com/fastlane/codes): Create promo codes for iOS Apps using the command line
187
- - [`spaceship`](https://github.com/fastlane/spaceship): Ruby library to access the Apple Dev Center and iTunes Connect
188
- - [`pilot`](https://github.com/fastlane/pilot): The best way to manage your TestFlight testers and builds from your terminal
189
- - [`boarding`](https://github.com/fastlane/boarding): The easiest way to invite your TestFlight beta testers
190
- - [`gym`](https://github.com/fastlane/gym): Building your iOS apps has never been easier
191
- - [`match`](https://github.com/fastlane/match): Easily sync your certificates and profiles across your team using git
179
+ - [`deliver`](https://github.com/fastlane/fastlane/tree/master/deliver): Upload screenshots, metadata and your app to the App Store
180
+ - [`snapshot`](https://github.com/fastlane/fastlane/tree/master/snapshot): Automate taking localized screenshots of your iOS app on every device
181
+ - [`frameit`](https://github.com/fastlane/fastlane/tree/master/frameit): Quickly put your screenshots into the right device frames
182
+ - [`pem`](https://github.com/fastlane/fastlane/tree/master/pem): Automatically generate and renew your push notification profiles
183
+ - [`sigh`](https://github.com/fastlane/fastlane/tree/master/sigh): Because you would rather spend your time building stuff than fighting provisioning
184
+ - [`produce`](https://github.com/fastlane/fastlane/tree/master/produce): Create new iOS apps on iTunes Connect and Dev Portal using the command line
185
+ - [`cert`](https://github.com/fastlane/fastlane/tree/master/cert): Automatically create and maintain iOS code signing certificates
186
+ - [`spaceship`](https://github.com/fastlane/fastlane/tree/master/spaceship): Ruby library to access the Apple Dev Center and iTunes Connect
187
+ - [`pilot`](https://github.com/fastlane/fastlane/tree/master/pilot): The best way to manage your TestFlight testers and builds from your terminal
188
+ - [`boarding`](https://github.com/fastlane/boarding): The easiest way to invite your TestFlight beta testers
189
+ - [`gym`](https://github.com/fastlane/fastlane/tree/master/gym): Building your iOS apps has never been easier
190
+ - [`match`](https://github.com/fastlane/fastlane/tree/master/match): Easily sync your certificates and profiles across your team using git
192
191
 
193
192
  ##### [Like this tool? Be the first to know about updates and new fastlane tools](https://tinyletter.com/krausefx)
194
193
 
@@ -196,7 +195,7 @@ You can add changelog files under the `changelogs/` directory for each locale. T
196
195
  Please submit an issue on GitHub and provide information about your setup
197
196
 
198
197
  # Code of Conduct
199
- Help us keep `supply` open and inclusive. Please read and follow our [Code of Conduct](https://github.com/fastlane/code-of-conduct).
198
+ Help us keep `supply` open and inclusive. Please read and follow our [Code of Conduct](https://github.com/fastlane/fastlane/blob/master/CODE_OF_CONDUCT.md).
200
199
 
201
200
  ## License
202
201
 
data/lib/supply/client.rb CHANGED
@@ -52,7 +52,7 @@ module Supply
52
52
 
53
53
  auth_client = Google::Auth::ServiceAccountCredentials.make_creds(json_key_io: key_io, scope: scope)
54
54
 
55
- Helper.log.debug "Fetching a new access token from Google..."
55
+ UI.verbose("Fetching a new access token from Google...")
56
56
 
57
57
  auth_client.fetch_access_token!
58
58
 
@@ -76,7 +76,7 @@ module Supply
76
76
 
77
77
  # Begin modifying a certain package
78
78
  def begin_edit(package_name: nil)
79
- raise "You currently have an active edit" if @current_edit
79
+ UI.user_error!("You currently have an active edit") if @current_edit
80
80
 
81
81
  self.current_edit = android_publisher.insert_edit(package_name)
82
82
 
@@ -280,7 +280,7 @@ module Supply
280
280
  private
281
281
 
282
282
  def ensure_active_edit!
283
- raise "You need to have an active edit, make sure to call `begin_edit`" unless @current_edit
283
+ UI.user_error!("You need to have an active edit, make sure to call `begin_edit`") unless @current_edit
284
284
  end
285
285
  end
286
286
  end
@@ -22,7 +22,7 @@ module Supply
22
22
  program :description, Supply::DESCRIPTION
23
23
  program :help, 'Author', 'Felix Krause <supply@krausefx.com>'
24
24
  program :help, 'Website', 'https://fastlane.tools'
25
- program :help, 'GitHub', 'https://github.com/fastlane/supply'
25
+ program :help, 'GitHub', 'https://github.com/fastlane/fastlane/tree/master/supply'
26
26
  program :help_formatter, :compact
27
27
 
28
28
  always_trace!
@@ -37,18 +37,17 @@ module Supply
37
37
  env_name: "SUPPLY_KEY",
38
38
  short_option: "-k",
39
39
  conflicting_options: [:json_key],
40
- optional: true, # deprecated
40
+ deprecated: 'Use --json_key instead',
41
41
  description: "The p12 File used to authenticate with Google",
42
42
  default_value: Dir["*.p12"].first || CredentialsManager::AppfileConfig.try_fetch_value(:keyfile),
43
43
  verify_block: proc do |value|
44
- UI.important("DEPRECATED --key OPTION. Use --json_key instead")
45
44
  UI.user_error! "Could not find p12 file at path '#{File.expand_path(value)}'" unless File.exist?(File.expand_path(value))
46
45
  end),
47
46
  FastlaneCore::ConfigItem.new(key: :issuer,
48
47
  env_name: "SUPPLY_ISSUER",
49
48
  short_option: "-i",
50
49
  conflicting_options: [:json_key],
51
- optional: true, # deprecated
50
+ deprecated: 'Use --json_key instead',
52
51
  description: "The issuer of the p12 file (email address of the service account)",
53
52
  default_value: CredentialsManager::AppfileConfig.try_fetch_value(:issuer),
54
53
  verify_block: proc do |value|
data/lib/supply/setup.rb CHANGED
@@ -2,7 +2,7 @@ module Supply
2
2
  class Setup
3
3
  def perform_download
4
4
  if File.exist?(metadata_path)
5
- Helper.log.info "Metadata already exists at path '#{metadata_path}'".yellow
5
+ UI.important("Metadata already exists at path '#{metadata_path}'")
6
6
  return
7
7
  end
8
8
 
@@ -22,7 +22,7 @@ module Supply
22
22
 
23
23
  client.abort_current_edit
24
24
 
25
- Helper.log.info "Successfully stored metadata in '#{metadata_path}'".green
25
+ UI.success("Successfully stored metadata in '#{metadata_path}'")
26
26
  end
27
27
 
28
28
  def store_metadata(listing)
@@ -31,8 +31,8 @@ module Supply
31
31
 
32
32
  Supply::AVAILABLE_METADATA_FIELDS.each do |key|
33
33
  path = File.join(containing, "#{key}.txt")
34
- Helper.log.info "Writing to #{path}..."
35
- File.write(path, listing.send(key))
34
+ UI.message("Writing to #{path}...")
35
+ File.open(path, 'w:UTF-8') { |file| file.write(listing.send(key)) }
36
36
  end
37
37
  end
38
38
 
@@ -44,12 +44,12 @@ module Supply
44
44
  IMAGES_TYPES.each do |image_type|
45
45
  if ['featureGraphic'].include?(image_type)
46
46
  # we don't get all files in full resolution :(
47
- Helper.log.info "Due to the limit of the Google Play API `supply` can't download your existing feature graphics..."
47
+ UI.message("Due to the limit of the Google Play API `supply` can't download your existing feature graphics...")
48
48
  next
49
49
  end
50
50
 
51
51
  begin
52
- Helper.log.info "Downloading #{image_type} for #{listing.language}..."
52
+ UI.message("Downloading #{image_type} for #{listing.language}...")
53
53
 
54
54
  url = client.fetch_images(image_type: image_type, language: listing.language).last
55
55
  next unless url
@@ -57,8 +57,8 @@ module Supply
57
57
  path = File.join(metadata_path, listing.language, IMAGES_FOLDER_NAME, "#{image_type}.png")
58
58
  File.write(path, Net::HTTP.get(URI.parse(url)))
59
59
  rescue => ex
60
- Helper.log.error ex.to_s
61
- Helper.log.error "Error downloading '#{image_type}' for #{listing.language}...".red
60
+ UI.error(ex.to_s)
61
+ UI.error("Error downloading '#{image_type}' for #{listing.language}...")
62
62
  end
63
63
  end
64
64
  end
@@ -71,7 +71,7 @@ module Supply
71
71
  FileUtils.mkdir_p(File.join(containing, IMAGES_FOLDER_NAME, screenshot_type))
72
72
  end
73
73
 
74
- Helper.log.info "Due to the limit of the Google Play API `supply` can't download your existing screenshots..."
74
+ UI.message("Due to the limit of the Google Play API `supply` can't download your existing screenshots...")
75
75
  end
76
76
 
77
77
  def store_apk_listing(apk_listing)
@@ -81,7 +81,7 @@ module Supply
81
81
  end
82
82
 
83
83
  path = File.join(containing, "#{apk_listing.apk_version_code}.txt")
84
- Helper.log.info "Writing to #{path}..."
84
+ UI.message("Writing to #{path}...")
85
85
  File.write(path, apk_listing.recent_changes)
86
86
  end
87
87
 
@@ -5,14 +5,14 @@ module Supply
5
5
 
6
6
  client.begin_edit(package_name: Supply.config[:package_name])
7
7
 
8
- raise "No local metadata found, make sure to run `supply init` to setup supply".red unless metadata_path || Supply.config[:apk]
8
+ UI.user_error!("No local metadata found, make sure to run `supply init` to setup supply") unless metadata_path || Supply.config[:apk]
9
9
 
10
10
  if metadata_path
11
11
  UI.user_error!("Could not find folder #{metadata_path}") unless File.directory? metadata_path
12
12
 
13
13
  all_languages.each do |language|
14
14
  next if language.start_with?('.') # e.g. . or .. or hidden folders
15
- Helper.log.info "Preparing to upload for language '#{language}'..."
15
+ UI.message("Preparing to upload for language '#{language}'...")
16
16
 
17
17
  listing = client.listing_for_language(language)
18
18
 
@@ -25,9 +25,9 @@ module Supply
25
25
 
26
26
  upload_binary unless Supply.config[:skip_upload_apk]
27
27
 
28
- Helper.log.info "Uploading all changes to Google Play..."
28
+ UI.message("Uploading all changes to Google Play...")
29
29
  client.commit_current_edit!
30
- Helper.log.info "Successfully finished the upload to Google Play".green
30
+ UI.success("Successfully finished the upload to Google Play")
31
31
  end
32
32
 
33
33
  def upload_changelogs(language)
@@ -39,7 +39,7 @@ module Supply
39
39
  def upload_changelog(language, apk_version_code)
40
40
  path = File.join(metadata_path, language, Supply::CHANGELOGS_FOLDER_NAME, "#{apk_version_code}.txt")
41
41
  if File.exist?(path)
42
- Helper.log.info "Updating changelog for code version '#{apk_version_code}' and language '#{language}'..."
42
+ UI.message("Updating changelog for code version '#{apk_version_code}' and language '#{language}'...")
43
43
  apk_listing = ApkListing.new(File.read(path), language, apk_version_code)
44
44
  client.update_apk_listing_for_language(apk_listing)
45
45
  end
@@ -50,7 +50,12 @@ module Supply
50
50
  path = File.join(metadata_path, language, "#{key}.txt")
51
51
  listing.send("#{key}=".to_sym, File.read(path)) if File.exist?(path)
52
52
  end
53
- listing.save
53
+ begin
54
+ listing.save
55
+ rescue Encoding::InvalidByteSequenceError => ex
56
+ message = (ex.message || '').capitalize
57
+ UI.user_error!("Metadata must be UTF-8 encoded. #{message}")
58
+ end
54
59
  end
55
60
 
56
61
  def upload_images(language)
@@ -59,7 +64,7 @@ module Supply
59
64
  path = Dir.glob(search, File::FNM_CASEFOLD).last
60
65
  next unless path
61
66
 
62
- Helper.log.info "Uploading image file #{path}..."
67
+ UI.message("Uploading image file #{path}...")
63
68
  client.upload_image(image_path: File.expand_path(path),
64
69
  image_type: image_type,
65
70
  language: language)
@@ -75,7 +80,7 @@ module Supply
75
80
  client.clear_screenshots(image_type: screenshot_type, language: language)
76
81
 
77
82
  paths.sort.each do |path|
78
- Helper.log.info "Uploading screenshot #{path}..."
83
+ UI.message("Uploading screenshot #{path}...")
79
84
  client.upload_image(image_path: File.expand_path(path),
80
85
  image_type: screenshot_type,
81
86
  language: language)
@@ -87,10 +92,10 @@ module Supply
87
92
  apk_path = Supply.config[:apk]
88
93
 
89
94
  if apk_path
90
- Helper.log.info "Preparing apk at path '#{apk_path}' for upload..."
95
+ UI.message("Preparing apk at path '#{apk_path}' for upload...")
91
96
  apk_version_code = client.upload_apk(apk_path)
92
97
 
93
- Helper.log.info "Updating track '#{Supply.config[:track]}'..."
98
+ UI.message("Updating track '#{Supply.config[:track]}'...")
94
99
  if Supply.config[:track].eql? "rollout"
95
100
  client.update_track(Supply.config[:track], Supply.config[:rollout], apk_version_code)
96
101
  else
@@ -107,7 +112,7 @@ module Supply
107
112
  end
108
113
 
109
114
  else
110
- Helper.log.info "No apk file found, you can pass the path to your apk using the `apk` option"
115
+ UI.message("No apk file found, you can pass the path to your apk using the `apk` option")
111
116
  end
112
117
  end
113
118
 
@@ -149,8 +154,8 @@ module Supply
149
154
  type = obb_expansion_file_type(path)
150
155
  next unless type
151
156
  if expansion_paths[type]
152
- Helper.log.warn("Can only upload one '#{type}' apk expansion. Skipping obb upload entirely.")
153
- Helper.log.warn("If you'd like this to work differently, please submit an issue.")
157
+ UI.important("Can only upload one '#{type}' apk expansion. Skipping obb upload entirely.")
158
+ UI.important("If you'd like this to work differently, please submit an issue.")
154
159
  return {}
155
160
  end
156
161
  expansion_paths[type] = path
@@ -159,7 +164,7 @@ module Supply
159
164
  end
160
165
 
161
166
  def upload_obb(obb_path, expansion_file_type, apk_version_code)
162
- Helper.log.info "Uploading obb file #{obb_path}..."
167
+ UI.message("Uploading obb file #{obb_path}...")
163
168
  client.upload_obb(obb_file_path: obb_path,
164
169
  apk_version_code: apk_version_code,
165
170
  expansion_file_type: expansion_file_type)
@@ -1,4 +1,4 @@
1
1
  module Supply
2
- VERSION = "0.5.2".freeze
2
+ VERSION = "0.5.3".freeze
3
3
  DESCRIPTION = "Command line tool for updating Android apps and their metadata on the Google Play Store"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: supply
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 0.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felix Krause
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-02 00:00:00.000000000 Z
11
+ date: 2016-03-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: google-api-client
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 0.35.0
33
+ version: 0.40.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 0.35.0
40
+ version: 0.40.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: credentials_manager
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: 3.1.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: rspec_junit_formatter
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 0.2.3
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 0.2.3
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: pry
99
113
  requirement: !ruby/object:Gem::Requirement
@@ -170,14 +184,14 @@ dependencies:
170
184
  requirements:
171
185
  - - "~>"
172
186
  - !ruby/object:Gem::Version
173
- version: 0.35.1
187
+ version: 0.38.0
174
188
  type: :development
175
189
  prerelease: false
176
190
  version_requirements: !ruby/object:Gem::Requirement
177
191
  requirements:
178
192
  - - "~>"
179
193
  - !ruby/object:Gem::Version
180
- version: 0.35.1
194
+ version: 0.38.0
181
195
  description: Command line tool for updating Android apps and their metadata on the
182
196
  Google Play Store
183
197
  email: