fastlane 2.28.8 → 2.28.9
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/deliver/lib/deliver/upload_metadata.rb +2 -1
- data/fastlane/lib/fastlane/actions/artifactory.rb +17 -1
- data/fastlane/lib/fastlane/actions/ensure_git_status_clean.rb +17 -3
- data/fastlane/lib/fastlane/version.rb +1 -1
- data/fastlane_core/lib/fastlane_core/itunes_transporter.rb +4 -1
- data/pilot/lib/pilot/build_manager.rb +5 -5
- data/spaceship/lib/spaceship/spaceauth_runner.rb +1 -1
- data/spaceship/lib/spaceship/test_flight/group.rb +2 -2
- data/spaceship/lib/spaceship/tunes/application.rb +1 -1
- data/spaceship/lib/spaceship/tunes/tunes_client.rb +1 -1
- data/supply/lib/supply/setup.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3186c50a7d29fce28650a28f133b5612b848ec1f
|
|
4
|
+
data.tar.gz: 71c9ec36764d97635a28d1b8a1dfa4a668810e57
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2c9bfb2132277f93c86859aafd2f1121c8a8348b719262450f66a7d3e0856e01b793adb2c937b4c2aa43906e3e1341077fb229813630190a6365f1c37fe421d9
|
|
7
|
+
data.tar.gz: 447f4bb6b4fe48a593e83b1c2008fa55aa23bd94f9808387ebe3d7147589be38701f0d366786708d093e59bf28b4225586f52bd2241d1665f97249105c1a8d90
|
|
@@ -116,7 +116,7 @@ module Deliver
|
|
|
116
116
|
end
|
|
117
117
|
|
|
118
118
|
# Check folder list (an empty folder signifies a language is required)
|
|
119
|
-
|
|
119
|
+
Loader.language_folders(options[:metadata_path]).each do |lng_folder|
|
|
120
120
|
next unless File.directory?(lng_folder) # We don't want to read txt as they are non localised
|
|
121
121
|
|
|
122
122
|
language = File.basename(lng_folder)
|
|
@@ -233,6 +233,7 @@ module Deliver
|
|
|
233
233
|
UI.error(ex.to_s)
|
|
234
234
|
UI.user_error!("Error parsing JSON file at path '#{options[:app_rating_config_path]}'")
|
|
235
235
|
end
|
|
236
|
+
UI.message("Setting the app's age rating...")
|
|
236
237
|
v.update_rating(json)
|
|
237
238
|
end
|
|
238
239
|
end
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
module Fastlane
|
|
2
2
|
module Actions
|
|
3
|
+
module SharedValues
|
|
4
|
+
ARTIFACTORY_DOWNLOAD_URL = :ARTIFACTORY_DOWNLOAD_URL
|
|
5
|
+
ARTIFACTORY_DOWNLOAD_SIZE = :ARTIFACTORY_DOWNLOAD_SIZE
|
|
6
|
+
end
|
|
7
|
+
|
|
3
8
|
class ArtifactoryAction < Action
|
|
4
9
|
def self.run(params)
|
|
5
10
|
Actions.verify_gem!('artifactory')
|
|
@@ -17,6 +22,10 @@ module Fastlane
|
|
|
17
22
|
}
|
|
18
23
|
UI.message("Uploading file: #{artifact.local_path} ...")
|
|
19
24
|
upload = artifact.upload(params[:repo], params[:repo_path], params[:properties])
|
|
25
|
+
|
|
26
|
+
Actions.lane_context[SharedValues::ARTIFACTORY_DOWNLOAD_URL] = upload.uri
|
|
27
|
+
Actions.lane_context[SharedValues::ARTIFACTORY_DOWNLOAD_SIZE] = upload.size
|
|
28
|
+
|
|
20
29
|
UI.message("Uploaded Artifact:")
|
|
21
30
|
UI.message("Repo: #{upload.repo}")
|
|
22
31
|
UI.message("URI: #{upload.uri}")
|
|
@@ -44,7 +53,14 @@ module Fastlane
|
|
|
44
53
|
end
|
|
45
54
|
|
|
46
55
|
def self.author
|
|
47
|
-
["koglinjg"]
|
|
56
|
+
["koglinjg", "tommeier"]
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def self.output
|
|
60
|
+
[
|
|
61
|
+
['ARTIFACTORY_DOWNLOAD_URL', 'The download url for file uploaded'],
|
|
62
|
+
['ARTIFACTORY_DOWNLOAD_SIZE', 'The reported file size for file uploaded']
|
|
63
|
+
]
|
|
48
64
|
end
|
|
49
65
|
|
|
50
66
|
def self.example_code
|
|
@@ -7,13 +7,16 @@ module Fastlane
|
|
|
7
7
|
# Raises an exception and stop the lane execution if the repo is not in a clean state
|
|
8
8
|
class EnsureGitStatusCleanAction < Action
|
|
9
9
|
def self.run(params)
|
|
10
|
-
|
|
10
|
+
repo_status = Actions.sh("git status --porcelain")
|
|
11
|
+
repo_clean = repo_status.empty?
|
|
11
12
|
|
|
12
13
|
if repo_clean
|
|
13
14
|
UI.success('Git status is clean, all good! 💪')
|
|
14
15
|
Actions.lane_context[SharedValues::GIT_REPO_WAS_CLEAN_ON_START] = true
|
|
15
16
|
else
|
|
16
|
-
|
|
17
|
+
error_message = "Git repository is dirty! Please ensure the repo is in a clean state by committing/stashing/discarding all changes first."
|
|
18
|
+
error_message += "\nUncommitted changes:\n#{repo_status}" if params[:show_uncommitted_changes]
|
|
19
|
+
UI.user_error!(error_message)
|
|
17
20
|
end
|
|
18
21
|
end
|
|
19
22
|
|
|
@@ -38,13 +41,24 @@ module Fastlane
|
|
|
38
41
|
end
|
|
39
42
|
|
|
40
43
|
def self.author
|
|
41
|
-
"lmirosevic"
|
|
44
|
+
["lmirosevic", "antondomashnev"]
|
|
42
45
|
end
|
|
43
46
|
|
|
44
47
|
def self.example_code
|
|
45
48
|
['ensure_git_status_clean']
|
|
46
49
|
end
|
|
47
50
|
|
|
51
|
+
def self.available_options
|
|
52
|
+
[
|
|
53
|
+
FastlaneCore::ConfigItem.new(key: :show_uncommitted_changes,
|
|
54
|
+
env_name: "FL_ENSURE_GIT_STATUS_CLEAN_SHOW_UNCOMMITTED_CHANGES",
|
|
55
|
+
description: "The flag whether to show uncommitted changes if the repo is dirty",
|
|
56
|
+
optional: true,
|
|
57
|
+
default_value: false,
|
|
58
|
+
is_string: false)
|
|
59
|
+
]
|
|
60
|
+
end
|
|
61
|
+
|
|
48
62
|
def self.category
|
|
49
63
|
:source_control
|
|
50
64
|
end
|
|
@@ -376,7 +376,10 @@ module FastlaneCore
|
|
|
376
376
|
def load_password_for_transporter
|
|
377
377
|
# 3 different sources for the password
|
|
378
378
|
# 1) ENV variable for application specific password
|
|
379
|
-
|
|
379
|
+
if ENV[TWO_FACTOR_ENV_VARIABLE].to_s.length > 0
|
|
380
|
+
UI.message("Fetching password for transporter from environment variable named `#{TWO_FACTOR_ENV_VARIABLE}`")
|
|
381
|
+
return ENV[TWO_FACTOR_ENV_VARIABLE]
|
|
382
|
+
end
|
|
380
383
|
# 2) TWO_STEP_HOST_PREFIX from keychain
|
|
381
384
|
account_manager = CredentialsManager::AccountManager.new(user: @user,
|
|
382
385
|
prefix: TWO_STEP_HOST_PREFIX,
|
|
@@ -51,7 +51,7 @@ module Pilot
|
|
|
51
51
|
UI.user_error!("No build to distribute!")
|
|
52
52
|
end
|
|
53
53
|
|
|
54
|
-
if should_update_app_test_information(options)
|
|
54
|
+
if should_update_app_test_information?(options)
|
|
55
55
|
app_test_info = Spaceship::TestFlight::AppTestInfo.find(app_id: build.app_id)
|
|
56
56
|
app_test_info.test_info.feedback_email = options[:beta_app_feedback_email] if options[:beta_app_feedback_email]
|
|
57
57
|
app_test_info.test_info.description = options[:beta_app_description] if options[:beta_app_description]
|
|
@@ -63,7 +63,7 @@ module Pilot
|
|
|
63
63
|
end
|
|
64
64
|
end
|
|
65
65
|
|
|
66
|
-
if should_update_build_information(options)
|
|
66
|
+
if should_update_build_information?(options)
|
|
67
67
|
begin
|
|
68
68
|
build.update_build_information!(whats_new: options[:changelog])
|
|
69
69
|
UI.success "Successfully set the changelog for build"
|
|
@@ -120,11 +120,11 @@ module Pilot
|
|
|
120
120
|
return row
|
|
121
121
|
end
|
|
122
122
|
|
|
123
|
-
def should_update_build_information(options)
|
|
124
|
-
options[:changelog].to_s.length
|
|
123
|
+
def should_update_build_information?(options)
|
|
124
|
+
options[:changelog].to_s.length > 0
|
|
125
125
|
end
|
|
126
126
|
|
|
127
|
-
def should_update_app_test_information(options)
|
|
127
|
+
def should_update_app_test_information?(options)
|
|
128
128
|
options[:beta_app_description].to_s.length > 0 || options[:beta_app_feedback_email].to_s.length > 0
|
|
129
129
|
end
|
|
130
130
|
|
|
@@ -22,7 +22,7 @@ module Spaceship
|
|
|
22
22
|
puts "This could be an issue with iTunes Connect,".yellow
|
|
23
23
|
puts "Please try unsetting the FASTLANE_SESSION environment variable".yellow
|
|
24
24
|
puts "and re-run `fastlane spaceauth`".yellow
|
|
25
|
-
|
|
25
|
+
raise "Problem connecting to iTunes Connect"
|
|
26
26
|
end
|
|
27
27
|
|
|
28
28
|
itc_cookie_content = Spaceship::Tunes.client.store_cookie
|
|
@@ -84,7 +84,7 @@ module Spaceship::TestFlight
|
|
|
84
84
|
if groups.nil?
|
|
85
85
|
default_external_group = app.default_external_group
|
|
86
86
|
if default_external_group.nil?
|
|
87
|
-
|
|
87
|
+
raise "The app #{app.name} does not have a default external group. Please make sure to pass group names to the `:groups` option."
|
|
88
88
|
end
|
|
89
89
|
test_flight_groups = [default_external_group]
|
|
90
90
|
else
|
|
@@ -92,7 +92,7 @@ module Spaceship::TestFlight
|
|
|
92
92
|
groups.include?(group.name)
|
|
93
93
|
end
|
|
94
94
|
|
|
95
|
-
|
|
95
|
+
raise "There are no groups available matching the names passed to the `:groups` option." if test_flight_groups.empty?
|
|
96
96
|
end
|
|
97
97
|
|
|
98
98
|
test_flight_groups.each(&block)
|
|
@@ -78,7 +78,7 @@ module Spaceship
|
|
|
78
78
|
# should it be an ios or an osx app
|
|
79
79
|
|
|
80
80
|
def create!(name: nil, primary_language: nil, version: nil, sku: nil, bundle_id: nil, bundle_id_suffix: nil, company_name: nil, platform: nil)
|
|
81
|
-
|
|
81
|
+
puts "The `version` parameter is deprecated. Use `ensure_version!` method instead" if version
|
|
82
82
|
client.create_application!(name: name,
|
|
83
83
|
primary_language: primary_language,
|
|
84
84
|
sku: sku,
|
|
@@ -265,7 +265,7 @@ module Spaceship
|
|
|
265
265
|
# @param bundle_id (String): The bundle ID must match the one you used in Xcode. It
|
|
266
266
|
# can't be changed after you submit your first build.
|
|
267
267
|
def create_application!(name: nil, primary_language: nil, version: nil, sku: nil, bundle_id: nil, bundle_id_suffix: nil, company_name: nil, platform: nil)
|
|
268
|
-
|
|
268
|
+
puts "The `version` parameter is deprecated. Use `Spaceship::Tunes::Application.ensure_version!` method instead" if version
|
|
269
269
|
|
|
270
270
|
# First, we need to fetch the data from Apple, which we then modify with the user's values
|
|
271
271
|
primary_language ||= "English"
|
data/supply/lib/supply/setup.rb
CHANGED
|
@@ -44,7 +44,7 @@ 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
|
-
UI.message("Due to
|
|
47
|
+
UI.message("Due to a limitation of the Google Play API, there is no way for `supply` to download your existing feature graphics. Please copy your feature graphics into `metadata/android/en-US/images/`")
|
|
48
48
|
next
|
|
49
49
|
end
|
|
50
50
|
|
|
@@ -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
|
-
UI.message("Due to
|
|
74
|
+
UI.message("Due to a limitation of the Google Play API, there is no way for `supply` to download your existing screenshots. Please copy your screenshots into `metadata/android/en-US/images/`")
|
|
75
75
|
end
|
|
76
76
|
|
|
77
77
|
def store_apk_listing(apk_listing)
|
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.28.
|
|
4
|
+
version: 2.28.9
|
|
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-05-
|
|
18
|
+
date: 2017-05-05 00:00:00.000000000 Z
|
|
19
19
|
dependencies:
|
|
20
20
|
- !ruby/object:Gem::Dependency
|
|
21
21
|
name: slack-notifier
|