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 +4 -4
- data/README.md +36 -37
- data/lib/supply/client.rb +3 -3
- data/lib/supply/commands_generator.rb +1 -1
- data/lib/supply/options.rb +2 -3
- data/lib/supply/setup.rb +10 -10
- data/lib/supply/uploader.rb +19 -14
- data/lib/supply/version.rb +1 -1
- metadata +20 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: eff55accd696bce7ea7f682dbe1f1201abaab960
|
|
4
|
+
data.tar.gz: 6904059222901364058d75845490675f9a001df2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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> •
|
|
10
|
-
<a href="https://github.com/fastlane/snapshot">snapshot</a> •
|
|
11
|
-
<a href="https://github.com/fastlane/frameit">frameit</a> •
|
|
12
|
-
<a href="https://github.com/fastlane/pem">pem</a> •
|
|
13
|
-
<a href="https://github.com/fastlane/sigh">sigh</a> •
|
|
14
|
-
<a href="https://github.com/fastlane/produce">produce</a> •
|
|
15
|
-
<a href="https://github.com/fastlane/cert">cert</a> •
|
|
16
|
-
<a href="https://github.com/fastlane/spaceship">spaceship</a> •
|
|
17
|
-
<a href="https://github.com/fastlane/pilot">pilot</a> •
|
|
9
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/deliver">deliver</a> •
|
|
10
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/snapshot">snapshot</a> •
|
|
11
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/frameit">frameit</a> •
|
|
12
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/pem">pem</a> •
|
|
13
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/sigh">sigh</a> •
|
|
14
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/produce">produce</a> •
|
|
15
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/cert">cert</a> •
|
|
16
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/spaceship">spaceship</a> •
|
|
17
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/pilot">pilot</a> •
|
|
18
18
|
<a href="https://github.com/fastlane/boarding">boarding</a> •
|
|
19
|
-
<a href="https://github.com/fastlane/gym">gym</a> •
|
|
20
|
-
<a href="https://github.com/fastlane/scan">scan</a> •
|
|
21
|
-
<a href="https://github.com/fastlane/match">match</a>
|
|
19
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/gym">gym</a> •
|
|
20
|
+
<a href="https://github.com/fastlane/fastlane/tree/master/scan">scan</a> •
|
|
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
|
[](https://twitter.com/FastlaneTools)
|
|
33
|
-
[](https://github.com/fastlane/
|
|
33
|
+
[](https://github.com/fastlane/fastlane/blob/master/supply/LICENSE)
|
|
34
34
|
[](http://rubygems.org/gems/supply)
|
|
35
|
-
[](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> •
|
|
45
|
-
<a href="#installation">Installation</a> •
|
|
46
|
-
<a href="#setup">Setup</a> •
|
|
47
|
-
<a href="#quick-start">Quick Start</a> •
|
|
48
|
-
<a href="#available-commands">Commands</a> •
|
|
49
|
-
<a href="#uploading-an-apk">Uploading an APK</a> •
|
|
44
|
+
<a href="#features">Features</a> •
|
|
45
|
+
<a href="#installation">Installation</a> •
|
|
46
|
+
<a href="#setup">Setup</a> •
|
|
47
|
+
<a href="#quick-start">Quick Start</a> •
|
|
48
|
+
<a href="#available-commands">Commands</a> •
|
|
49
|
+
<a href="#uploading-an-apk">Uploading an APK</a> •
|
|
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
|
-
- [`
|
|
187
|
-
- [`
|
|
188
|
-
- [`
|
|
189
|
-
- [`
|
|
190
|
-
- [`
|
|
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/
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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!
|
data/lib/supply/options.rb
CHANGED
|
@@ -37,18 +37,17 @@ module Supply
|
|
|
37
37
|
env_name: "SUPPLY_KEY",
|
|
38
38
|
short_option: "-k",
|
|
39
39
|
conflicting_options: [:json_key],
|
|
40
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
35
|
-
File.
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
61
|
-
|
|
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
|
-
|
|
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
|
-
|
|
84
|
+
UI.message("Writing to #{path}...")
|
|
85
85
|
File.write(path, apk_listing.recent_changes)
|
|
86
86
|
end
|
|
87
87
|
|
data/lib/supply/uploader.rb
CHANGED
|
@@ -5,14 +5,14 @@ module Supply
|
|
|
5
5
|
|
|
6
6
|
client.begin_edit(package_name: Supply.config[:package_name])
|
|
7
7
|
|
|
8
|
-
|
|
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
|
-
|
|
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
|
-
|
|
28
|
+
UI.message("Uploading all changes to Google Play...")
|
|
29
29
|
client.commit_current_edit!
|
|
30
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
95
|
+
UI.message("Preparing apk at path '#{apk_path}' for upload...")
|
|
91
96
|
apk_version_code = client.upload_apk(apk_path)
|
|
92
97
|
|
|
93
|
-
|
|
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
|
-
|
|
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
|
-
|
|
153
|
-
|
|
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
|
-
|
|
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)
|
data/lib/supply/version.rb
CHANGED
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.
|
|
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-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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:
|