fastlane 2.64.1 → 2.65.0.beta.20171107010003
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/credentials_manager/lib/credentials_manager/appfile_config.rb +1 -1
- data/deliver/lib/deliver/upload_screenshots.rb +0 -2
- data/fastlane/lib/assets/DefaultFastfileTemplate +1 -1
- data/fastlane/lib/assets/FastfileTemplateAndroid +1 -1
- data/fastlane/lib/fastlane/actions/docs/deliver.md +2 -2
- data/fastlane/lib/fastlane/actions/docs/frameit.md +2 -2
- data/fastlane/lib/fastlane/actions/gradle.rb +0 -6
- data/fastlane/lib/fastlane/plugins/template/lib/fastlane/plugin/%plugin_name%/actions/%plugin_name%_action.rb.erb +1 -1
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane_core/README.md +1 -1
- data/fastlane_core/lib/fastlane_core/build_watcher.rb +9 -17
- data/fastlane_core/lib/fastlane_core/ipa_file_analyser.rb +0 -7
- data/frameit/lib/frameit/editor.rb +1 -2
- data/pilot/lib/pilot/build_manager.rb +1 -7
- data/pilot/lib/pilot/options.rb +1 -6
- data/snapshot/lib/snapshot/test_command_generator.rb +2 -2
- data/spaceship/README.md +1 -1
- data/spaceship/lib/spaceship/du/du_client.rb +1 -26
- data/spaceship/lib/spaceship/portal/app.rb +1 -1
- data/spaceship/lib/spaceship/test_flight/build.rb +2 -7
- data/spaceship/lib/spaceship/tunes/iap_detail.rb +14 -1
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +16 -15
- metadata +19 -22
- data/fastlane/lib/fastlane/.DS_Store +0 -0
- data/precheck/lib/.DS_Store +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 44196b70654dc49739f7ba1aeec9d2e1488f1cdf
|
4
|
+
data.tar.gz: 820a7cc2b10185566cebb33378a0d2caf6bb3e92
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6e8c2da9c03a2caef6127bfb32034bb2e8c7ee4ac50bd880212633d87bbb14652c72114a5c78e0b1991ff1abe39c614ba212720dce7b451bdb34172641aa3952
|
7
|
+
data.tar.gz: 97c0b247a6b14aee49655c07ea9bd9ea34b75ec4d6e6968ce2092a9a39e77af889efa240ff4798937ced15202ee2799fd25fa7077392ee3f5c0b41768249a4d9
|
@@ -151,7 +151,7 @@ module CredentialsManager
|
|
151
151
|
if lane_name.to_s.split(" ").count > 1
|
152
152
|
# That's the legacy syntax 'platform name'
|
153
153
|
puts "You use deprecated syntax '#{lane_name}' in your Appfile.".yellow
|
154
|
-
puts "Please follow the Appfile guide: https://
|
154
|
+
puts "Please follow the Appfile guide: https://github.com/fastlane/fastlane/blob/master/docs/Appfile.md".yellow
|
155
155
|
platform, lane_name = lane_name.split(" ")
|
156
156
|
|
157
157
|
return unless platform == ENV["FASTLANE_PLATFORM_NAME"]
|
@@ -17,8 +17,6 @@ module Deliver
|
|
17
17
|
UI.message("Removing all previously uploaded screenshots...")
|
18
18
|
# First, clear all previously uploaded screenshots
|
19
19
|
screenshots_per_language.keys.each do |language|
|
20
|
-
# We have to nil check for languages not activated
|
21
|
-
next if v.screenshots[language].nil?
|
22
20
|
v.screenshots[language].each_with_index do |t, index|
|
23
21
|
v.upload_screenshot!(nil, t.sort_order, t.language, t.device_type, false)
|
24
22
|
end
|
@@ -66,7 +66,7 @@ platform :ios do
|
|
66
66
|
end
|
67
67
|
|
68
68
|
|
69
|
-
# More information about multiple platforms in fastlane: https://
|
69
|
+
# More information about multiple platforms in fastlane: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Platforms.md
|
70
70
|
# All available actions: https://docs.fastlane.tools/actions
|
71
71
|
|
72
72
|
# fastlane reports which actions are used. No personal data is recorded.
|
@@ -58,7 +58,7 @@ platform :android do
|
|
58
58
|
end
|
59
59
|
end
|
60
60
|
|
61
|
-
# More information about multiple platforms in fastlane: https://
|
61
|
+
# More information about multiple platforms in fastlane: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Platforms.md
|
62
62
|
# All available actions: https://docs.fastlane.tools/actions
|
63
63
|
|
64
64
|
# fastlane reports which actions are used. No personal data is recorded.
|
@@ -243,7 +243,7 @@ app_review_information(
|
|
243
243
|
You can also provide these values by creating files in a `metadata/review_information/` directory. The file names must match the pattern `<key>.txt` (e.g. `first_name.txt`, `notes.txt` etc.). The contents of each file will be used as the value for the matching key. Values provided in the `Deliverfile` or `Fastfile` will be take priority over values from these files.
|
244
244
|
|
245
245
|
##### submission_information
|
246
|
-
Must be a hash. This is used as the last step for the deployment process, where you define if you use third party content or use encryption. [A list of available options](https://github.com/fastlane/fastlane/blob/master/spaceship/lib/spaceship/tunes/app_submission.rb).
|
246
|
+
Must be a hash. This is used as the last step for the deployment process, where you define if you use third party content or use encryption. [A list of available options](https://github.com/fastlane/fastlane/blob/master/spaceship/lib/spaceship/tunes/app_submission.rb#L18-L69).
|
247
247
|
|
248
248
|
```ruby-skip-tests
|
249
249
|
submission_information({
|
@@ -638,7 +638,7 @@ In this case, default values for keywords, urls, name and release notes are used
|
|
638
638
|
If you want to integrate _deliver_ with [snapshot](https://github.com/fastlane/fastlane/tree/master/snapshot), check out [fastlane](https://fastlane.tools)!
|
639
639
|
|
640
640
|
## Jenkins integration
|
641
|
-
Detailed instructions about how to set up _deliver_ and _fastlane_ in `Jenkins` can be found in the [fastlane README](https://
|
641
|
+
Detailed instructions about how to set up _deliver_ and _fastlane_ in `Jenkins` can be found in the [fastlane README](https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Jenkins.md).
|
642
642
|
|
643
643
|
## Firewall Issues
|
644
644
|
|
@@ -28,7 +28,7 @@ Put a gorgeous device frame around your iOS and macOS screenshots just by runnin
|
|
28
28
|
|
29
29
|
The complete and updated list of supported devices and colors can be found [here](https://github.com/fastlane/frameit-frames/tree/gh-pages/latest)
|
30
30
|
|
31
|
-
Here is a nice gif, that shows
|
31
|
+
Here is a nice gif, that shows ```frameit``` in action:
|
32
32
|
|
33
33
|
![img/actions/FrameitGit.gif](/img/actions/FrameitGit.gif?raw=1)
|
34
34
|
|
@@ -47,7 +47,7 @@ Here is a nice gif, that shows _frameit_ in action:
|
|
47
47
|
<h5 align="center">The <code>frameit</code> 2.0 update was kindly sponsored by <a href="https://mindnode.com/">MindNode</a>, seen in the screenshots above.</h5>
|
48
48
|
|
49
49
|
|
50
|
-
The first time that
|
50
|
+
The first time that ```frameit``` is executed the frames will be downloaded automatically. Originally the frames are coming from [Facebook frameset](http://facebook.design/devices) and they are kept on this repo: https://github.com/fastlane/frameit-frames
|
51
51
|
|
52
52
|
More information about this process and how to update the frames can be found [here](https://github.com/fastlane/fastlane/tree/master/frameit/frames_generator)
|
53
53
|
|
@@ -36,7 +36,6 @@ module Fastlane
|
|
36
36
|
flags = []
|
37
37
|
flags << "-p #{project_dir.shellescape}"
|
38
38
|
flags << params[:properties].map { |k, v| "-P#{k.to_s.shellescape}=#{v.to_s.shellescape}" }.join(' ') unless params[:properties].nil?
|
39
|
-
flags << params[:system_properties].map { |k, v| "-D#{k.to_s.shellescape}=#{v.to_s.shellescape}" }.join(' ') unless params[:system_properties].nil?
|
40
39
|
flags << params[:flags] unless params[:flags].nil?
|
41
40
|
|
42
41
|
# Run the actual gradle task
|
@@ -126,11 +125,6 @@ module Fastlane
|
|
126
125
|
description: 'Gradle properties to be exposed to the gradle script',
|
127
126
|
optional: true,
|
128
127
|
is_string: false),
|
129
|
-
FastlaneCore::ConfigItem.new(key: :system_properties,
|
130
|
-
env_name: 'FL_GRADLE_SYSTEM_PROPERTIES',
|
131
|
-
description: 'Gradle system properties to be exposed to the gradle script',
|
132
|
-
optional: true,
|
133
|
-
is_string: false),
|
134
128
|
FastlaneCore::ConfigItem.new(key: :serial,
|
135
129
|
env_name: 'FL_ANDROID_SERIAL',
|
136
130
|
description: 'Android serial, which device should be used for this command',
|
@@ -34,7 +34,7 @@ module Fastlane
|
|
34
34
|
|
35
35
|
def self.is_supported?(platform)
|
36
36
|
# Adjust this if your plugin only works for a particular platform (iOS vs. Android, for example)
|
37
|
-
# See: https://
|
37
|
+
# See: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Platforms.md
|
38
38
|
#
|
39
39
|
# [:ios, :mac, :android].include?(platform)
|
40
40
|
true
|
@@ -1,5 +1,5 @@
|
|
1
1
|
module Fastlane
|
2
|
-
VERSION = '2.
|
2
|
+
VERSION = '2.65.0.beta.20171107010003'.freeze
|
3
3
|
DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
|
4
4
|
MINIMUM_XCODE_RELEASE = "7.0".freeze
|
5
5
|
RUBOCOP_REQUIREMENT = '0.49.1'.freeze
|
data/fastlane_core/README.md
CHANGED
@@ -28,7 +28,7 @@ FastlaneCore
|
|
28
28
|
============
|
29
29
|
|
30
30
|
[![Twitter: @FastlaneTools](https://img.shields.io/badge/contact-@FastlaneTools-blue.svg?style=flat)](https://twitter.com/FastlaneTools)
|
31
|
-
[![License](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/fastlane/fastlane/blob/master/LICENSE)
|
31
|
+
[![License](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/fastlane/fastlane/blob/master/fastlane_core/LICENSE)
|
32
32
|
|
33
33
|
All shared code of the fastlane tools is stored in this repository.
|
34
34
|
|
@@ -2,21 +2,13 @@ module FastlaneCore
|
|
2
2
|
class BuildWatcher
|
3
3
|
class << self
|
4
4
|
# @return The build we waited for. This method will always return a build
|
5
|
-
def wait_for_build_processing_to_be_complete(app_id: nil, platform: nil,
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
UI.crash!("Could not find a build for app: #{app_id} on platform: #{platform}") if watched_build.nil?
|
10
|
-
|
11
|
-
unless watched_build.train_version == train_version && watched_build.build_version == build_version
|
12
|
-
UI.important("Started watching build #{watched_build.train_version} - #{watched_build.build_version} but expected #{train_version} - #{build_version}")
|
13
|
-
end
|
14
|
-
train_version = watched_build.train_version
|
15
|
-
build_version = watched_build.build_version
|
16
|
-
end
|
5
|
+
def wait_for_build_processing_to_be_complete(app_id: nil, platform: nil, poll_interval: 10)
|
6
|
+
# First, find the train and build version we want to watch for
|
7
|
+
watched_build = watching_build(app_id: app_id, platform: platform)
|
8
|
+
UI.crash!("Could not find a build for app: #{app_id} on platform: #{platform}") if watched_build.nil?
|
17
9
|
|
18
10
|
loop do
|
19
|
-
matched_build = matching_build(
|
11
|
+
matched_build = matching_build(watched_build: watched_build, app_id: app_id, platform: platform)
|
20
12
|
|
21
13
|
report_status(build: matched_build)
|
22
14
|
|
@@ -37,9 +29,9 @@ module FastlaneCore
|
|
37
29
|
watched_build || Spaceship::TestFlight::Build.latest(app_id: app_id, platform: platform)
|
38
30
|
end
|
39
31
|
|
40
|
-
def matching_build(
|
41
|
-
matched_builds = Spaceship::TestFlight::Build.builds_for_train(app_id: app_id, platform: platform, train_version:
|
42
|
-
matched_builds.find { |build| build.build_version ==
|
32
|
+
def matching_build(watched_build: nil, app_id: nil, platform: nil)
|
33
|
+
matched_builds = Spaceship::TestFlight::Build.builds_for_train(app_id: app_id, platform: platform, train_version: watched_build.train_version, retry_count: 2)
|
34
|
+
matched_builds.find { |build| build.build_version == watched_build.build_version }
|
43
35
|
end
|
44
36
|
|
45
37
|
def report_status(build: nil)
|
@@ -52,7 +44,7 @@ module FastlaneCore
|
|
52
44
|
UI.message("Build doesn't show up in the build list anymore, waiting for it to appear again")
|
53
45
|
elsif build.active?
|
54
46
|
UI.success("Build #{build.train_version} - #{build.build_version} is already being tested")
|
55
|
-
elsif build.ready_to_submit? || build.export_compliance_missing?
|
47
|
+
elsif build.ready_to_submit? || build.export_compliance_missing?
|
56
48
|
UI.success("Successfully finished processing the build #{build.train_version} - #{build.build_version}")
|
57
49
|
else
|
58
50
|
UI.message("Waiting for iTunes Connect to finish processing the new build (#{build.train_version} - #{build.build_version})")
|
@@ -17,13 +17,6 @@ module FastlaneCore
|
|
17
17
|
return nil
|
18
18
|
end
|
19
19
|
|
20
|
-
# Fetches the app build number from the given ipa file.
|
21
|
-
def self.fetch_app_build(path)
|
22
|
-
plist = self.fetch_info_plist_file(path)
|
23
|
-
return plist['CFBundleVersion'] if plist
|
24
|
-
return nil
|
25
|
-
end
|
26
|
-
|
27
20
|
# Fetches the app platform from the given ipa file.
|
28
21
|
def self.fetch_app_platform(path)
|
29
22
|
plist = self.fetch_info_plist_file(path)
|
@@ -170,8 +170,7 @@ module Frameit
|
|
170
170
|
background = MiniMagick::Image.open(fetch_config['background'])
|
171
171
|
|
172
172
|
if background.height != screenshot.size[1]
|
173
|
-
background.resize "#{screenshot.size[0]}x#{screenshot.size[1]}
|
174
|
-
background.merge! ["-gravity", "center", "-crop", "#{screenshot.size[0]}x#{screenshot.size[1]}+0+0"] # crop from center
|
173
|
+
background.resize "#{screenshot.size[0]}x#{screenshot.size[1]}!" # `!` says it should ignore the ratio
|
175
174
|
end
|
176
175
|
background
|
177
176
|
end
|
@@ -35,13 +35,7 @@ module Pilot
|
|
35
35
|
end
|
36
36
|
|
37
37
|
UI.message("If you want to skip waiting for the processing to be finished, use the `skip_waiting_for_build_processing` option")
|
38
|
-
|
39
|
-
app_build = FastlaneCore::IpaFileAnalyser.fetch_app_build(config[:ipa])
|
40
|
-
latest_build = FastlaneCore::BuildWatcher.wait_for_build_processing_to_be_complete(app_id: app.apple_id, platform: platform, train_version: app_version, build_version: app_build, poll_interval: config[:wait_processing_interval], strict_build_watch: config[:wait_for_uploaded_build])
|
41
|
-
|
42
|
-
unless latest_build.train_version == app_version && latest_build.build_version == app_build
|
43
|
-
UI.important("Uploaded app #{app_version} - #{app_build}, but received build #{latest_build.train_version} - #{latest_build.build_version}. If you want to wait for uploaded build to be finished processing, use the `wait_for_uploaded_build` option")
|
44
|
-
end
|
38
|
+
latest_build = FastlaneCore::BuildWatcher.wait_for_build_processing_to_be_complete(app_id: app.apple_id, platform: platform, poll_interval: config[:wait_processing_interval])
|
45
39
|
|
46
40
|
distribute(options, build: latest_build)
|
47
41
|
end
|
data/pilot/lib/pilot/options.rb
CHANGED
@@ -158,12 +158,7 @@ module Pilot
|
|
158
158
|
type: Array,
|
159
159
|
verify_block: proc do |value|
|
160
160
|
UI.user_error!("Could not evaluate array from '#{value}'") unless value.kind_of?(Array)
|
161
|
-
end)
|
162
|
-
FastlaneCore::ConfigItem.new(key: :wait_for_uploaded_build,
|
163
|
-
env_name: "PILOT_WAIT_FOR_UPLOADED_BUILD",
|
164
|
-
description: "Use version info from uploaded ipa file to determine what build to use for distribution. If set to false, latest processing or any latest build will be used",
|
165
|
-
is_string: false,
|
166
|
-
default_value: false)
|
161
|
+
end)
|
167
162
|
]
|
168
163
|
end
|
169
164
|
end
|
@@ -55,14 +55,14 @@ module Snapshot
|
|
55
55
|
# Check each device to see if it is an iOS device
|
56
56
|
all_ios = devices.map do |device|
|
57
57
|
device = device.downcase
|
58
|
-
device.
|
58
|
+
device.start_with?('iphone', 'ipad')
|
59
59
|
end
|
60
60
|
# Return true if all devices are iOS devices
|
61
61
|
return true unless all_ios.include?(false)
|
62
62
|
|
63
63
|
all_tvos = devices.map do |device|
|
64
64
|
device = device.downcase
|
65
|
-
device.
|
65
|
+
device.start_with?('apple tv')
|
66
66
|
end
|
67
67
|
# Return true if all devices are iOS devices
|
68
68
|
return true unless all_tvos.include?(false)
|
data/spaceship/README.md
CHANGED
@@ -31,7 +31,7 @@
|
|
31
31
|
-------
|
32
32
|
|
33
33
|
[![Twitter: @FastlaneTools](https://img.shields.io/badge/contact-@FastlaneTools-blue.svg?style=flat)](https://twitter.com/FastlaneTools)
|
34
|
-
[![License](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/fastlane/fastlane/blob/master/LICENSE)
|
34
|
+
[![License](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/fastlane/fastlane/blob/master/spaceship/LICENSE)
|
35
35
|
|
36
36
|
`spaceship` exposes both the Apple Developer Center and the iTunes Connect API. This fast and powerful API powers parts of fastlane, and can be leveraged for more advanced fastlane features. Scripting your Developer Center workflow has never been easier!
|
37
37
|
|
@@ -19,7 +19,7 @@ module Spaceship
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def upload_purchase_review_screenshot(app_id, upload_file, content_provider_id, sso_token_for_image)
|
22
|
-
upload_file(app_id: app_id, upload_file: upload_file, path: '/upload/image', content_provider_id: content_provider_id, sso_token: sso_token_for_image, du_validation_rule_set:
|
22
|
+
upload_file(app_id: app_id, upload_file: upload_file, path: '/upload/image', content_provider_id: content_provider_id, sso_token: sso_token_for_image, du_validation_rule_set: 'MZPFT.SortedScreenShot')
|
23
23
|
end
|
24
24
|
|
25
25
|
def upload_large_icon(app_version, upload_file, content_provider_id, sso_token_for_image)
|
@@ -42,16 +42,6 @@ module Spaceship
|
|
42
42
|
upload_file(app_version: app_version, upload_file: upload_file, path: '/upload/image', content_provider_id: content_provider_id, sso_token: sso_token_for_image, du_validation_rule_set: screenshot_picture_type(device, nil))
|
43
43
|
end
|
44
44
|
|
45
|
-
def get_picture_type(upload_file)
|
46
|
-
resolution = Utilities.resolution(upload_file.file_path)
|
47
|
-
result = device_resolution_map.find do |key, resolutions|
|
48
|
-
resolutions.include? resolution
|
49
|
-
end
|
50
|
-
raise "Unknown device for screen resolution #{resolution}" if result.nil?
|
51
|
-
|
52
|
-
picture_type_map[result[0]]
|
53
|
-
end
|
54
|
-
|
55
45
|
private
|
56
46
|
|
57
47
|
def upload_file(app_version: nil, upload_file: nil, path: nil, content_provider_id: nil, sso_token: nil, du_validation_rule_set: nil, app_id: nil)
|
@@ -123,21 +113,6 @@ module Spaceship
|
|
123
113
|
}
|
124
114
|
end
|
125
115
|
|
126
|
-
def device_resolution_map
|
127
|
-
# rubocop:enable Layout/ExtraSpacing
|
128
|
-
{
|
129
|
-
watch: [[312, 390]],
|
130
|
-
ipad: [[1024, 748], [1024, 768], [2048, 1496], [2048, 1536], [768, 1004], [768, 1024], [1536, 2008], [1536, 2048]],
|
131
|
-
ipadPro: [[2048, 2732], [2732, 2048]],
|
132
|
-
iphone6: [[750, 1334], [1334, 750]],
|
133
|
-
iphone6Plus: [[1242, 2208], [2208, 1242]],
|
134
|
-
iphone4: [[640, 1096], [640, 1136], [1136, 600], [1136, 640]],
|
135
|
-
iphone35: [[640, 960], [640, 920], [960, 600], [960, 640]],
|
136
|
-
appleTV: [[1920, 1080]],
|
137
|
-
desktop: [[1280, 800], [1440, 900], [2560, 1600], [2880, 1800]]
|
138
|
-
}
|
139
|
-
end
|
140
|
-
|
141
116
|
def screenshot_picture_type(device, is_messages)
|
142
117
|
map = is_messages ? messages_picture_type_map : picture_type_map
|
143
118
|
device = device.to_sym
|
@@ -107,7 +107,7 @@ module Spaceship
|
|
107
107
|
end
|
108
108
|
|
109
109
|
def associated_groups
|
110
|
-
return unless raw_data
|
110
|
+
return unless raw_data.key?('associatedApplicationGroups')
|
111
111
|
|
112
112
|
@associated_groups ||= raw_data['associatedApplicationGroups'].map do |info|
|
113
113
|
Spaceship::Portal::AppGroup.new(info)
|
@@ -69,8 +69,7 @@ module Spaceship::TestFlight
|
|
69
69
|
active: 'testflight.build.state.testing.active',
|
70
70
|
ready_to_submit: 'testflight.build.state.submit.ready',
|
71
71
|
ready_to_test: 'testflight.build.state.testing.ready',
|
72
|
-
export_compliance_missing: 'testflight.build.state.export.compliance.missing'
|
73
|
-
review_rejected: 'testflight.build.state.review.rejected'
|
72
|
+
export_compliance_missing: 'testflight.build.state.export.compliance.missing'
|
74
73
|
}
|
75
74
|
|
76
75
|
# Find a Build by `build_id`.
|
@@ -131,12 +130,8 @@ module Spaceship::TestFlight
|
|
131
130
|
external_state == BUILD_STATES[:export_compliance_missing]
|
132
131
|
end
|
133
132
|
|
134
|
-
def review_rejected?
|
135
|
-
external_state == BUILD_STATES[:review_rejected]
|
136
|
-
end
|
137
|
-
|
138
133
|
def processed?
|
139
|
-
active? || ready_to_submit? || export_compliance_missing?
|
134
|
+
active? || ready_to_submit? || export_compliance_missing?
|
140
135
|
end
|
141
136
|
|
142
137
|
# Getting builds from BuildTrains only gets a partial Build object
|
@@ -186,7 +186,20 @@ module Spaceship
|
|
186
186
|
# Upload Screenshot
|
187
187
|
upload_file = UploadFile.from_path @review_screenshot
|
188
188
|
screenshot_data = client.upload_purchase_review_screenshot(application.apple_id, upload_file)
|
189
|
-
|
189
|
+
new_screenshot = {
|
190
|
+
"value" => {
|
191
|
+
"assetToken" => screenshot_data["token"],
|
192
|
+
"sortOrder" => 0,
|
193
|
+
"type" => "SortedScreenShot",
|
194
|
+
"originalFileName" => upload_file.file_name,
|
195
|
+
"size" => screenshot_data["length"],
|
196
|
+
"height" => screenshot_data["height"],
|
197
|
+
"width" => screenshot_data["width"],
|
198
|
+
"checksum" => screenshot_data["md5"]
|
199
|
+
}
|
200
|
+
}
|
201
|
+
|
202
|
+
raw_data["versions"][0]["reviewScreenshot"] = new_screenshot
|
190
203
|
end
|
191
204
|
# Update the Purchase
|
192
205
|
client.update_iap!(app_id: application.apple_id, purchase_id: self.purchase_id, data: raw_data)
|
@@ -662,21 +662,9 @@ module Spaceship
|
|
662
662
|
# Uploads an In-App-Purchase Review screenshot
|
663
663
|
# @param app_id (AppId): The id of the app
|
664
664
|
# @param upload_image (UploadFile): The icon to upload
|
665
|
-
# @return [JSON] the
|
665
|
+
# @return [JSON] the response
|
666
666
|
def upload_purchase_review_screenshot(app_id, upload_image)
|
667
|
-
|
668
|
-
{
|
669
|
-
"value" => {
|
670
|
-
"assetToken" => data["token"],
|
671
|
-
"sortOrder" => 0,
|
672
|
-
"type" => du_client.get_picture_type(upload_image),
|
673
|
-
"originalFileName" => upload_image.file_name,
|
674
|
-
"size" => data["length"],
|
675
|
-
"height" => data["height"],
|
676
|
-
"width" => data["width"],
|
677
|
-
"checksum" => data["md5"]
|
678
|
-
}
|
679
|
-
}
|
667
|
+
du_client.upload_purchase_review_screenshot(app_id, upload_image, content_provider_id, sso_token_for_image)
|
680
668
|
end
|
681
669
|
|
682
670
|
# Uploads a screenshot
|
@@ -1160,7 +1148,20 @@ module Spaceship
|
|
1160
1148
|
# Upload Screenshot:
|
1161
1149
|
upload_file = UploadFile.from_path review_screenshot
|
1162
1150
|
screenshot_data = upload_purchase_review_screenshot(app_id, upload_file)
|
1163
|
-
|
1151
|
+
new_screenshot = {
|
1152
|
+
"value" => {
|
1153
|
+
"assetToken" => screenshot_data["token"],
|
1154
|
+
"sortOrder" => 0,
|
1155
|
+
"type" => "SortedScreenShot",
|
1156
|
+
"originalFileName" => upload_file.file_name,
|
1157
|
+
"size" => screenshot_data["length"],
|
1158
|
+
"height" => screenshot_data["height"],
|
1159
|
+
"width" => screenshot_data["width"],
|
1160
|
+
"checksum" => screenshot_data["md5"]
|
1161
|
+
}
|
1162
|
+
}
|
1163
|
+
|
1164
|
+
data["versions"][0]["reviewScreenshot"] = new_screenshot
|
1164
1165
|
end
|
1165
1166
|
|
1166
1167
|
# Now send back the modified hash
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.65.0.beta.20171107010003
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Felix Krause
|
@@ -15,7 +15,7 @@ authors:
|
|
15
15
|
autorequire:
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
|
-
date: 2017-11-
|
18
|
+
date: 2017-11-07 00:00:00.000000000 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: slack-notifier
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
requirements:
|
44
44
|
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version: 1.5.
|
46
|
+
version: 1.5.0
|
47
47
|
- - "<"
|
48
48
|
- !ruby/object:Gem::Version
|
49
49
|
version: 2.0.0
|
@@ -53,7 +53,7 @@ dependencies:
|
|
53
53
|
requirements:
|
54
54
|
- - ">="
|
55
55
|
- !ruby/object:Gem::Version
|
56
|
-
version: 1.5.
|
56
|
+
version: 1.5.0
|
57
57
|
- - "<"
|
58
58
|
- !ruby/object:Gem::Version
|
59
59
|
version: 2.0.0
|
@@ -845,7 +845,6 @@ files:
|
|
845
845
|
- fastlane/lib/assets/s3_plist_template.erb
|
846
846
|
- fastlane/lib/assets/s3_version_template.erb
|
847
847
|
- fastlane/lib/fastlane.rb
|
848
|
-
- fastlane/lib/fastlane/.DS_Store
|
849
848
|
- fastlane/lib/fastlane/action.rb
|
850
849
|
- fastlane/lib/fastlane/action_collector.rb
|
851
850
|
- fastlane/lib/fastlane/actions/README.md
|
@@ -1294,7 +1293,6 @@ files:
|
|
1294
1293
|
- pilot/lib/pilot/tester_manager.rb
|
1295
1294
|
- pilot/lib/pilot/tester_util.rb
|
1296
1295
|
- precheck/README.md
|
1297
|
-
- precheck/lib/.DS_Store
|
1298
1296
|
- precheck/lib/assets/PrecheckfileTemplate
|
1299
1297
|
- precheck/lib/precheck.rb
|
1300
1298
|
- precheck/lib/precheck/commands_generator.rb
|
@@ -1505,24 +1503,24 @@ metadata:
|
|
1505
1503
|
post_install_message:
|
1506
1504
|
rdoc_options: []
|
1507
1505
|
require_paths:
|
1508
|
-
-
|
1509
|
-
-
|
1510
|
-
- deliver/lib
|
1511
|
-
- fastlane/lib
|
1512
|
-
- fastlane_core/lib
|
1513
|
-
- frameit/lib
|
1514
|
-
- gym/lib
|
1506
|
+
- supply/lib
|
1507
|
+
- screengrab/lib
|
1515
1508
|
- match/lib
|
1516
|
-
- pem/lib
|
1517
|
-
- pilot/lib
|
1518
1509
|
- precheck/lib
|
1510
|
+
- sigh/lib
|
1519
1511
|
- produce/lib
|
1520
1512
|
- scan/lib
|
1521
|
-
-
|
1522
|
-
- sigh/lib
|
1513
|
+
- gym/lib
|
1523
1514
|
- snapshot/lib
|
1515
|
+
- frameit/lib
|
1516
|
+
- fastlane/lib
|
1517
|
+
- cert/lib
|
1518
|
+
- pilot/lib
|
1524
1519
|
- spaceship/lib
|
1525
|
-
-
|
1520
|
+
- credentials_manager/lib
|
1521
|
+
- deliver/lib
|
1522
|
+
- fastlane_core/lib
|
1523
|
+
- pem/lib
|
1526
1524
|
required_ruby_version: !ruby/object:Gem::Requirement
|
1527
1525
|
requirements:
|
1528
1526
|
- - ">="
|
@@ -1530,15 +1528,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
1530
1528
|
version: 2.0.0
|
1531
1529
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
1532
1530
|
requirements:
|
1533
|
-
- - "
|
1531
|
+
- - ">"
|
1534
1532
|
- !ruby/object:Gem::Version
|
1535
|
-
version:
|
1533
|
+
version: 1.3.1
|
1536
1534
|
requirements: []
|
1537
1535
|
rubyforge_project:
|
1538
|
-
rubygems_version: 2.
|
1536
|
+
rubygems_version: 2.4.5.1
|
1539
1537
|
signing_key:
|
1540
1538
|
specification_version: 4
|
1541
1539
|
summary: The easiest way to automate beta deployments and releases for your iOS and
|
1542
1540
|
Android apps
|
1543
1541
|
test_files: []
|
1544
|
-
has_rdoc:
|
Binary file
|
data/precheck/lib/.DS_Store
DELETED
Binary file
|