fastlane 1.106.2 → 1.107.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/fastlane/actions/app_store_build_number.rb +149 -0
- data/lib/fastlane/actions/create_pull_request.rb +1 -0
- data/lib/fastlane/actions/deliver.rb +0 -1
- data/lib/fastlane/actions/fastlane_version.rb +7 -1
- data/lib/fastlane/actions/latest_testflight_build_number.rb +7 -38
- data/lib/fastlane/actions/s3.rb +3 -2
- data/lib/fastlane/actions/slack.rb +1 -1
- data/lib/fastlane/actions/xcversion.rb +2 -2
- data/lib/fastlane/commands_generator.rb +19 -8
- data/lib/fastlane/environment_printer.rb +20 -3
- data/lib/fastlane/fastlane_folder.rb +2 -0
- data/lib/fastlane/helper/crashlytics_helper.rb +8 -2
- data/lib/fastlane/setup/setup.rb +5 -0
- data/lib/fastlane/setup/setup_android.rb +0 -5
- data/lib/fastlane/setup/setup_ios.rb +0 -5
- data/lib/fastlane/version.rb +1 -1
- metadata +22 -27
- data/lib/.DS_Store +0 -0
- data/lib/assets/.DS_Store +0 -0
- data/lib/assets/completions/.DS_Store +0 -0
- data/lib/fastlane/.DS_Store +0 -0
- data/lib/fastlane/actions/.DS_Store +0 -0
- data/lib/fastlane/actions/device_grid/.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: 9bd9af9625b7943456db4b5c3eb18ba991ad5cb1
|
4
|
+
data.tar.gz: a3818da10900a45a7c9e385b55d5b0f49eaa6a5e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e94876d0287bf33c09016a4e19a1ac00c84ba7d05d9b803b6e2db0d643fef2d1749eebff5db52020fddb431697288887cc8195110c5dc5e51cff6873be73f95a
|
7
|
+
data.tar.gz: c943660f08ad4ff5c2aa23d37adf67a63c9232156ae96dfec33e4875a7ab471d5c5cc27229e6c8db452768b6c64ed09e3a371c943f2dc9a11ed8565ecc3d8e2d
|
@@ -0,0 +1,149 @@
|
|
1
|
+
module Fastlane
|
2
|
+
module Actions
|
3
|
+
module SharedValues
|
4
|
+
LATEST_BUILD_NUMBER = :LATEST_BUILD_NUMBER
|
5
|
+
end
|
6
|
+
|
7
|
+
class AppStoreBuildNumberAction < Action
|
8
|
+
def self.run(params)
|
9
|
+
require 'spaceship'
|
10
|
+
|
11
|
+
UI.message("Login to iTunes Connect (#{params[:username]})")
|
12
|
+
Spaceship::Tunes.login(params[:username])
|
13
|
+
Spaceship::Tunes.select_team
|
14
|
+
UI.message("Login successful")
|
15
|
+
|
16
|
+
app = Spaceship::Tunes::Application.find(params[:app_identifier])
|
17
|
+
if params[:live]
|
18
|
+
UI.message("Fetching the latest build number for live-version")
|
19
|
+
build_nr = app.live_version.current_build_number
|
20
|
+
else
|
21
|
+
version_number = params[:version]
|
22
|
+
unless version_number
|
23
|
+
# Automatically fetch the latest version in testflight
|
24
|
+
begin
|
25
|
+
testflight_version = app.build_trains.keys.last
|
26
|
+
rescue
|
27
|
+
testflight_version = params[:version]
|
28
|
+
end
|
29
|
+
|
30
|
+
if testflight_version
|
31
|
+
version_number = testflight_version
|
32
|
+
else
|
33
|
+
version_number = UI.input("You have to specify a new version number")
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
37
|
+
|
38
|
+
UI.message("Fetching the latest build number for version #{version_number}")
|
39
|
+
|
40
|
+
begin
|
41
|
+
train = app.build_trains[version_number]
|
42
|
+
build_nr = train.builds.map(&:build_version).map(&:to_i).sort.last
|
43
|
+
rescue
|
44
|
+
UI.user_error!("could not find a build on iTC - and 'initial_build_number' option is not set") unless params[:initial_build_number]
|
45
|
+
build_nr = params[:initial_build_number]
|
46
|
+
end
|
47
|
+
end
|
48
|
+
UI.message("Latest upload is build number: #{build_nr}")
|
49
|
+
Actions.lane_context[SharedValues::LATEST_BUILD_NUMBER] = build_nr
|
50
|
+
end
|
51
|
+
|
52
|
+
#####################################################
|
53
|
+
# @!group Documentation
|
54
|
+
#####################################################
|
55
|
+
|
56
|
+
def self.description
|
57
|
+
"Returns the current build_number of either live or edit version"
|
58
|
+
end
|
59
|
+
|
60
|
+
def self.available_options
|
61
|
+
user = CredentialsManager::AppfileConfig.try_fetch_value(:itunes_connect_id)
|
62
|
+
user ||= CredentialsManager::AppfileConfig.try_fetch_value(:apple_id)
|
63
|
+
[
|
64
|
+
FastlaneCore::ConfigItem.new(key: :initial_build_number,
|
65
|
+
env_name: "INITIAL_BUILD_NUMBER",
|
66
|
+
description: "sets the build number to given value if no build is in current train",
|
67
|
+
default_value: 1,
|
68
|
+
is_string: false),
|
69
|
+
FastlaneCore::ConfigItem.new(key: :app_identifier,
|
70
|
+
short_option: "-a",
|
71
|
+
env_name: "FASTLANE_APP_IDENTIFIER",
|
72
|
+
description: "The bundle identifier of your app",
|
73
|
+
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier)),
|
74
|
+
FastlaneCore::ConfigItem.new(key: :username,
|
75
|
+
short_option: "-u",
|
76
|
+
env_name: "ITUNESCONNECT_USER",
|
77
|
+
description: "Your Apple ID Username",
|
78
|
+
default_value: user),
|
79
|
+
FastlaneCore::ConfigItem.new(key: :team_id,
|
80
|
+
short_option: "-k",
|
81
|
+
env_name: "APPSTORE_BUILD_NUMBER_LIVE_TEAM_ID",
|
82
|
+
description: "The ID of your iTunes Connect team if you're in multiple teams",
|
83
|
+
optional: true,
|
84
|
+
is_string: false, # as we also allow integers, which we convert to strings anyway
|
85
|
+
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:itc_team_id),
|
86
|
+
verify_block: proc do |value|
|
87
|
+
ENV["FASTLANE_ITC_TEAM_ID"] = value.to_s
|
88
|
+
end),
|
89
|
+
FastlaneCore::ConfigItem.new(key: :live,
|
90
|
+
short_option: "-l",
|
91
|
+
env_name: "APPSTORE_BUILD_NUMBER_LIVE",
|
92
|
+
description: "Query the live version (ready-for-sale)",
|
93
|
+
optional: true,
|
94
|
+
default_value: true),
|
95
|
+
FastlaneCore::ConfigItem.new(key: :version,
|
96
|
+
env_name: "LATEST_VERSION",
|
97
|
+
description: "The version number whose latest build number we want",
|
98
|
+
optional: true),
|
99
|
+
FastlaneCore::ConfigItem.new(key: :team_name,
|
100
|
+
short_option: "-e",
|
101
|
+
env_name: "LATEST_TESTFLIGHT_BUILD_NUMBER_TEAM_NAME",
|
102
|
+
description: "The name of your iTunes Connect team if you're in multiple teams",
|
103
|
+
optional: true,
|
104
|
+
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:itc_team_name),
|
105
|
+
verify_block: proc do |value|
|
106
|
+
ENV["FASTLANE_ITC_TEAM_NAME"] = value.to_s
|
107
|
+
end)
|
108
|
+
]
|
109
|
+
end
|
110
|
+
|
111
|
+
def self.output
|
112
|
+
[
|
113
|
+
['LATEST_BUILD_NUMBER', 'The latest build number of either live or testflight version']
|
114
|
+
]
|
115
|
+
end
|
116
|
+
|
117
|
+
def self.details
|
118
|
+
"Returns the current build number of either the live or testflight version - it is useful for getting the build_number of the current or ready-for-sale app version, and it also works on non-live testflight version. If you need to handle more build-trains please see `latest_testflight_build_number`"
|
119
|
+
end
|
120
|
+
|
121
|
+
def self.example_code
|
122
|
+
[
|
123
|
+
'app_store_build_number',
|
124
|
+
'app_store_build_number(
|
125
|
+
app_identifier: "app.identifier",
|
126
|
+
username: "user@host.com"
|
127
|
+
)',
|
128
|
+
'app_store_build_number(
|
129
|
+
live: false,
|
130
|
+
app_identifier: "app.identifier",
|
131
|
+
version: "1.2.9"
|
132
|
+
)'
|
133
|
+
]
|
134
|
+
end
|
135
|
+
|
136
|
+
def self.authors
|
137
|
+
["hjanuschka"]
|
138
|
+
end
|
139
|
+
|
140
|
+
def self.category
|
141
|
+
:misc
|
142
|
+
end
|
143
|
+
|
144
|
+
def self.is_supported?(platform)
|
145
|
+
[:ios, :mac].include?(platform)
|
146
|
+
end
|
147
|
+
end
|
148
|
+
end
|
149
|
+
end
|
@@ -50,6 +50,7 @@ module Fastlane
|
|
50
50
|
FastlaneCore::ConfigItem.new(key: :api_token,
|
51
51
|
env_name: "GITHUB_PULL_REQUEST_API_TOKEN",
|
52
52
|
description: "Personal API Token for GitHub - generate one at https://github.com/settings/tokens",
|
53
|
+
default_value: ENV["GITHUB_API_TOKEN"],
|
53
54
|
is_string: true,
|
54
55
|
optional: false),
|
55
56
|
FastlaneCore::ConfigItem.new(key: :repo,
|
@@ -12,7 +12,13 @@ module Fastlane
|
|
12
12
|
UI.user_error!("Please pass minimum fastlane version as parameter to fastlane_version") unless defined_version
|
13
13
|
|
14
14
|
if Gem::Version.new(Fastlane::VERSION) < defined_version
|
15
|
-
|
15
|
+
error_message = "The Fastfile requires a fastlane version of >= #{defined_version}. You are on #{Fastlane::VERSION}. "
|
16
|
+
if Helper.bundler?
|
17
|
+
error_message += "Please update using `bundle update fastlane`."
|
18
|
+
else
|
19
|
+
error_message += "Please update using `sudo gem update fastlane`."
|
20
|
+
end
|
21
|
+
UI.user_error!(error_message)
|
16
22
|
end
|
17
23
|
|
18
24
|
UI.message("Your fastlane version #{Fastlane::VERSION} matches the minimum requirement of #{defined_version} ✅")
|
@@ -8,44 +8,7 @@ module Fastlane
|
|
8
8
|
|
9
9
|
class LatestTestflightBuildNumberAction < Action
|
10
10
|
def self.run(params)
|
11
|
-
|
12
|
-
|
13
|
-
credentials = CredentialsManager::AccountManager.new(user: params[:username])
|
14
|
-
UI.message("Login to iTunes Connect (#{params[:username]})")
|
15
|
-
Spaceship::Tunes.login(credentials.user, credentials.password)
|
16
|
-
Spaceship::Tunes.select_team
|
17
|
-
UI.message("Login successful")
|
18
|
-
|
19
|
-
app = Spaceship::Tunes::Application.find(params[:app_identifier])
|
20
|
-
|
21
|
-
version_number = params[:version]
|
22
|
-
unless version_number
|
23
|
-
# Automatically fetch the latest version in testflight
|
24
|
-
begin
|
25
|
-
testflight_version = app.build_trains.keys.last
|
26
|
-
rescue
|
27
|
-
UI.user_error!("could not find any versions on iTC - and 'version' option is not set") unless params[:version]
|
28
|
-
testflight_version = params[:version]
|
29
|
-
end
|
30
|
-
if testflight_version
|
31
|
-
version_number = testflight_version
|
32
|
-
else
|
33
|
-
UI.message("You have to specify a new version number: ")
|
34
|
-
version_number = STDIN.gets.strip
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
|
-
UI.message("Fetching the latest build number for version #{version_number}")
|
39
|
-
|
40
|
-
begin
|
41
|
-
train = app.build_trains[version_number]
|
42
|
-
build_number = train.builds.map(&:build_version).map(&:to_i).sort.last
|
43
|
-
rescue
|
44
|
-
UI.user_error!("could not find a build on iTC - and 'initial_build_number' option is not set") unless params[:initial_build_number]
|
45
|
-
build_number = params[:initial_build_number]
|
46
|
-
end
|
47
|
-
|
48
|
-
UI.message("Latest upload is build number: #{build_number}")
|
11
|
+
build_number = AppStoreBuildNumberAction.run(params)
|
49
12
|
Actions.lane_context[SharedValues::LATEST_TESTFLIGHT_BUILD_NUMBER] = build_number
|
50
13
|
end
|
51
14
|
|
@@ -69,6 +32,12 @@ module Fastlane
|
|
69
32
|
user ||= CredentialsManager::AppfileConfig.try_fetch_value(:apple_id)
|
70
33
|
|
71
34
|
[
|
35
|
+
FastlaneCore::ConfigItem.new(key: :live,
|
36
|
+
short_option: "-l",
|
37
|
+
env_name: "CURRENT_BUILD_NUMBER_LIVE",
|
38
|
+
description: "Query the live version (ready-for-sale)",
|
39
|
+
optional: true,
|
40
|
+
default_value: false),
|
72
41
|
FastlaneCore::ConfigItem.new(key: :app_identifier,
|
73
42
|
short_option: "-a",
|
74
43
|
env_name: "FASTLANE_APP_IDENTIFIER",
|
data/lib/fastlane/actions/s3.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'fastlane/erb_template_helper'
|
2
2
|
require 'ostruct'
|
3
|
+
require 'uri'
|
3
4
|
|
4
5
|
module Fastlane
|
5
6
|
module Actions
|
@@ -47,7 +48,6 @@ module Fastlane
|
|
47
48
|
|
48
49
|
# Pulling parameters for other uses
|
49
50
|
s3_region = params[:region]
|
50
|
-
s3_subdomain = params[:region] ? "s3-#{params[:region]}" : "s3"
|
51
51
|
s3_access_key = params[:access_key]
|
52
52
|
s3_secret_access_key = params[:secret_access_key]
|
53
53
|
s3_bucket = params[:bucket]
|
@@ -117,8 +117,9 @@ module Fastlane
|
|
117
117
|
full_version = "#{bundle_version}.#{build_num}"
|
118
118
|
|
119
119
|
# Creating plist and html names
|
120
|
+
s3_domain = AWS::Core::Endpoints.hostname(s3_region, 's3') || 's3.amazonaws.com'
|
120
121
|
plist_file_name ||= "#{url_part}#{title.delete(' ')}.plist"
|
121
|
-
plist_url = "
|
122
|
+
plist_url = URI::HTTPS.build(host: s3_domain, path: "/#{s3_bucket}/#{plist_file_name}").to_s
|
122
123
|
|
123
124
|
html_file_name ||= "index.html"
|
124
125
|
|
@@ -156,7 +156,7 @@ module Fastlane
|
|
156
156
|
|
157
157
|
def self.generate_slack_attachments(options)
|
158
158
|
color = (options[:success] ? 'good' : 'danger')
|
159
|
-
should_add_payload = ->(payload_name) { options[:default_payloads].nil? || options[:default_payloads].include?(payload_name) }
|
159
|
+
should_add_payload = ->(payload_name) { options[:default_payloads].nil? || options[:default_payloads].join(" ").include?(payload_name.to_s) }
|
160
160
|
|
161
161
|
slack_attachment = {
|
162
162
|
fallback: options[:message],
|
@@ -40,8 +40,8 @@ module Fastlane
|
|
40
40
|
|
41
41
|
def self.example_code
|
42
42
|
[
|
43
|
-
'xcversion
|
44
|
-
'xcversion
|
43
|
+
'xcversion(version: "8.1") # Selects Xcode 8.1.0',
|
44
|
+
'xcversion(version: "~> 8.1.0") # Selects the latest installed version from the 8.1.x set'
|
45
45
|
]
|
46
46
|
end
|
47
47
|
|
@@ -11,7 +11,15 @@ module Fastlane
|
|
11
11
|
# since at this point we haven't yet loaded commander
|
12
12
|
# however we do want to log verbose information in the PluginManager
|
13
13
|
$verbose = true if ARGV.include?("--verbose")
|
14
|
-
|
14
|
+
$capture_output = true if ARGV.include?("--capture_output")
|
15
|
+
|
16
|
+
if $capture_output
|
17
|
+
# Trace mode is enabled
|
18
|
+
# redirect STDOUT and STDERR
|
19
|
+
out_channel = StringIO.new
|
20
|
+
$stdout = out_channel
|
21
|
+
$stderr = out_channel
|
22
|
+
end
|
15
23
|
FastlaneCore::UpdateChecker.start_looking_for_update('fastlane')
|
16
24
|
Fastlane.load_actions
|
17
25
|
# do not use "include" as it may be some where in the commandline where "env" is required, therefore explicit index->0
|
@@ -24,6 +32,14 @@ module Fastlane
|
|
24
32
|
ensure
|
25
33
|
FastlaneCore::UpdateChecker.show_update_status('fastlane', Fastlane::VERSION)
|
26
34
|
Fastlane::PluginUpdateManager.show_update_status
|
35
|
+
if $capture_output
|
36
|
+
$captured_output = Helper.strip_ansi_colors($stdout.string)
|
37
|
+
$stdout = STDOUT
|
38
|
+
$stderr = STDERR
|
39
|
+
|
40
|
+
require "fastlane/environment_printer"
|
41
|
+
Fastlane::EnvironmentPrinter.output
|
42
|
+
end
|
27
43
|
end
|
28
44
|
|
29
45
|
def run
|
@@ -39,6 +55,7 @@ module Fastlane
|
|
39
55
|
program :help_formatter, :compact
|
40
56
|
|
41
57
|
global_option('--verbose') { $verbose = true }
|
58
|
+
global_option('--capture_output', 'Captures the output of the current run, and generates a markdown issue template') { $capture_output = true }
|
42
59
|
|
43
60
|
always_trace!
|
44
61
|
|
@@ -232,13 +249,7 @@ module Fastlane
|
|
232
249
|
c.description = 'Print your fastlane environment, use this when you submit an issue on GitHub'
|
233
250
|
c.action do |args, options|
|
234
251
|
require "fastlane/environment_printer"
|
235
|
-
|
236
|
-
puts env_info
|
237
|
-
if FastlaneCore::Helper.mac? && UI.confirm("🙄 Wow, that's a lot of markdown text... should fastlane put it into your clipboard, so you can easily paste it on GitHub?")
|
238
|
-
Fastlane::EnvironmentPrinter.copy_to_clipboard(env_info)
|
239
|
-
UI.success("Successfully copied markdown into your clipboard 🎨")
|
240
|
-
end
|
241
|
-
UI.success("Open https://github.com/fastlane/fastlane/issues/new to submit a new issue ✅")
|
252
|
+
Fastlane::EnvironmentPrinter.output
|
242
253
|
end
|
243
254
|
end
|
244
255
|
|
@@ -1,5 +1,15 @@
|
|
1
1
|
module Fastlane
|
2
2
|
class EnvironmentPrinter
|
3
|
+
def self.output
|
4
|
+
env_info = get
|
5
|
+
puts env_info
|
6
|
+
if FastlaneCore::Helper.mac? && UI.interactive? && UI.confirm("🙄 Wow, that's a lot of markdown text... should fastlane put it into your clipboard, so you can easily paste it on GitHub?")
|
7
|
+
copy_to_clipboard(env_info)
|
8
|
+
UI.success("Successfully copied markdown into your clipboard 🎨")
|
9
|
+
end
|
10
|
+
UI.success("Open https://github.com/fastlane/fastlane/issues/new to submit a new issue ✅")
|
11
|
+
end
|
12
|
+
|
3
13
|
def self.get
|
4
14
|
UI.important("Generating fastlane environment output, this might take a few seconds...")
|
5
15
|
require "fastlane/markdown_table_formatter"
|
@@ -10,13 +20,20 @@ module Fastlane
|
|
10
20
|
env_output << print_loaded_plugins
|
11
21
|
env_output << print_loaded_gems
|
12
22
|
env_output << print_date
|
13
|
-
env_output << "</details>"
|
14
23
|
|
15
24
|
# Adding title
|
16
25
|
status = (env_output.include?("🚫") ? "🚫" : "✅")
|
17
26
|
env_header = "<details><summary>#{status} fastlane environment #{status}</summary>\n\n"
|
27
|
+
env_tail = "</details>"
|
28
|
+
final_output = ""
|
29
|
+
|
30
|
+
if $captured_output
|
31
|
+
final_output << "### Captured Output\n\n"
|
32
|
+
final_output << "Command Used: `#{ARGV.join(' ')}`\n"
|
33
|
+
final_output << "<details><summary>Output/Log</summary>\n\n```\n\n#{$captured_output}\n\n```\n\n</details>\n\n"
|
34
|
+
end
|
18
35
|
|
19
|
-
|
36
|
+
final_output << env_header + env_output + env_tail
|
20
37
|
end
|
21
38
|
|
22
39
|
def self.print_date
|
@@ -31,7 +48,7 @@ module Fastlane
|
|
31
48
|
plugin_manager = Fastlane::PluginManager.new
|
32
49
|
plugin_manager.load_plugins
|
33
50
|
if plugin_manager.available_plugins.length <= 0
|
34
|
-
env_output << "**No plugins Loaded
|
51
|
+
env_output << "**No plugins Loaded**\n"
|
35
52
|
else
|
36
53
|
table = ""
|
37
54
|
table << "| Plugin | Version | Update-Status |\n"
|
@@ -28,6 +28,8 @@ module Fastlane
|
|
28
28
|
|
29
29
|
def self.create_folder!(path = nil)
|
30
30
|
path = File.join(path || '.', FOLDER_NAME)
|
31
|
+
return if File.directory?(path) # directory is already there
|
32
|
+
UI.user_error!("Found a file called 'fastlane' at path '#{path}', please delete it") if File.exist?(path)
|
31
33
|
FileUtils.mkdir_p(path)
|
32
34
|
UI.success "Created new folder '#{path}'."
|
33
35
|
end
|
@@ -72,8 +72,14 @@ module Fastlane
|
|
72
72
|
begin
|
73
73
|
UI.important("Downloading Crashlytics Support Library - this might take a minute...")
|
74
74
|
|
75
|
-
|
76
|
-
|
75
|
+
# Work around ruby defect, where HTTP#get_response and HTTP#post_form don't use ENV proxy settings
|
76
|
+
# https://bugs.ruby-lang.org/issues/12724
|
77
|
+
uri = URI(url)
|
78
|
+
http_conn = Net::HTTP.new(uri.host, uri.port)
|
79
|
+
http_conn.use_ssl = true
|
80
|
+
result = http_conn.request_get(uri.path)
|
81
|
+
UI.error! "#{result.message} (#{result.code})" unless result.kind_of? Net::HTTPSuccess
|
82
|
+
File.write(zip_path, result.body)
|
77
83
|
|
78
84
|
# Now unzip the file
|
79
85
|
Action.sh "unzip '#{zip_path}' -d '#{containing}'"
|
data/lib/fastlane/setup/setup.rb
CHANGED
@@ -2,6 +2,11 @@ module Fastlane
|
|
2
2
|
class Setup
|
3
3
|
# Start the setup process
|
4
4
|
def run
|
5
|
+
if FastlaneFolder.setup? and !Helper.is_test?
|
6
|
+
UI.important("fastlane is already set up at path #{FastlaneFolder.path}")
|
7
|
+
return
|
8
|
+
end
|
9
|
+
|
5
10
|
platform = nil
|
6
11
|
if is_ios?
|
7
12
|
UI.message("Detected iOS/Mac project in current directory...")
|
@@ -1,11 +1,6 @@
|
|
1
1
|
module Fastlane
|
2
2
|
class SetupAndroid < Setup
|
3
3
|
def run
|
4
|
-
if FastlaneFolder.setup? and !Helper.is_test?
|
5
|
-
UI.important("Fastlane already set up at path #{folder}")
|
6
|
-
return
|
7
|
-
end
|
8
|
-
|
9
4
|
response = agree('Do you have everything commited in version control? If not please do so now! (y/n)'.yellow, true)
|
10
5
|
return unless response
|
11
6
|
|
@@ -15,11 +15,6 @@ module Fastlane
|
|
15
15
|
attr_accessor :app_name
|
16
16
|
|
17
17
|
def run
|
18
|
-
if FastlaneFolder.setup? and !Helper.is_test?
|
19
|
-
UI.important("Fastlane already set up at path #{folder}")
|
20
|
-
return
|
21
|
-
end
|
22
|
-
|
23
18
|
show_infos
|
24
19
|
|
25
20
|
FastlaneFolder.create_folder! unless Helper.is_test?
|
data/lib/fastlane/version.rb
CHANGED
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: 1.
|
4
|
+
version: 1.107.0
|
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: 2016-
|
18
|
+
date: 2016-11-03 00:00:00.000000000 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: krausefx-shenzhen
|
@@ -279,7 +279,7 @@ dependencies:
|
|
279
279
|
requirements:
|
280
280
|
- - ">="
|
281
281
|
- !ruby/object:Gem::Version
|
282
|
-
version: 0.
|
282
|
+
version: 0.37.0
|
283
283
|
- - "<"
|
284
284
|
- !ruby/object:Gem::Version
|
285
285
|
version: 1.0.0
|
@@ -289,7 +289,7 @@ dependencies:
|
|
289
289
|
requirements:
|
290
290
|
- - ">="
|
291
291
|
- !ruby/object:Gem::Version
|
292
|
-
version: 0.
|
292
|
+
version: 0.37.0
|
293
293
|
- - "<"
|
294
294
|
- !ruby/object:Gem::Version
|
295
295
|
version: 1.0.0
|
@@ -299,7 +299,7 @@ dependencies:
|
|
299
299
|
requirements:
|
300
300
|
- - ">="
|
301
301
|
- !ruby/object:Gem::Version
|
302
|
-
version: 1.
|
302
|
+
version: 1.15.0
|
303
303
|
- - "<"
|
304
304
|
- !ruby/object:Gem::Version
|
305
305
|
version: 2.0.0
|
@@ -309,7 +309,7 @@ dependencies:
|
|
309
309
|
requirements:
|
310
310
|
- - ">="
|
311
311
|
- !ruby/object:Gem::Version
|
312
|
-
version: 1.
|
312
|
+
version: 1.15.0
|
313
313
|
- - "<"
|
314
314
|
- !ruby/object:Gem::Version
|
315
315
|
version: 2.0.0
|
@@ -319,7 +319,7 @@ dependencies:
|
|
319
319
|
requirements:
|
320
320
|
- - ">="
|
321
321
|
- !ruby/object:Gem::Version
|
322
|
-
version: 1.16.
|
322
|
+
version: 1.16.3
|
323
323
|
- - "<"
|
324
324
|
- !ruby/object:Gem::Version
|
325
325
|
version: 2.0.0
|
@@ -329,7 +329,7 @@ dependencies:
|
|
329
329
|
requirements:
|
330
330
|
- - ">="
|
331
331
|
- !ruby/object:Gem::Version
|
332
|
-
version: 1.16.
|
332
|
+
version: 1.16.3
|
333
333
|
- - "<"
|
334
334
|
- !ruby/object:Gem::Version
|
335
335
|
version: 2.0.0
|
@@ -359,7 +359,7 @@ dependencies:
|
|
359
359
|
requirements:
|
360
360
|
- - ">="
|
361
361
|
- !ruby/object:Gem::Version
|
362
|
-
version: 1.
|
362
|
+
version: 1.4.0
|
363
363
|
- - "<"
|
364
364
|
- !ruby/object:Gem::Version
|
365
365
|
version: 2.0.0
|
@@ -369,7 +369,7 @@ dependencies:
|
|
369
369
|
requirements:
|
370
370
|
- - ">="
|
371
371
|
- !ruby/object:Gem::Version
|
372
|
-
version: 1.
|
372
|
+
version: 1.4.0
|
373
373
|
- - "<"
|
374
374
|
- !ruby/object:Gem::Version
|
375
375
|
version: 2.0.0
|
@@ -419,7 +419,7 @@ dependencies:
|
|
419
419
|
requirements:
|
420
420
|
- - ">="
|
421
421
|
- !ruby/object:Gem::Version
|
422
|
-
version: 1.
|
422
|
+
version: 1.3.0
|
423
423
|
- - "<"
|
424
424
|
- !ruby/object:Gem::Version
|
425
425
|
version: 2.0.0
|
@@ -429,7 +429,7 @@ dependencies:
|
|
429
429
|
requirements:
|
430
430
|
- - ">="
|
431
431
|
- !ruby/object:Gem::Version
|
432
|
-
version: 1.
|
432
|
+
version: 1.3.0
|
433
433
|
- - "<"
|
434
434
|
- !ruby/object:Gem::Version
|
435
435
|
version: 2.0.0
|
@@ -439,7 +439,7 @@ dependencies:
|
|
439
439
|
requirements:
|
440
440
|
- - ">="
|
441
441
|
- !ruby/object:Gem::Version
|
442
|
-
version: 1.
|
442
|
+
version: 1.12.0
|
443
443
|
- - "<"
|
444
444
|
- !ruby/object:Gem::Version
|
445
445
|
version: 2.0.0
|
@@ -449,7 +449,7 @@ dependencies:
|
|
449
449
|
requirements:
|
450
450
|
- - ">="
|
451
451
|
- !ruby/object:Gem::Version
|
452
|
-
version: 1.
|
452
|
+
version: 1.12.0
|
453
453
|
- - "<"
|
454
454
|
- !ruby/object:Gem::Version
|
455
455
|
version: 2.0.0
|
@@ -459,7 +459,7 @@ dependencies:
|
|
459
459
|
requirements:
|
460
460
|
- - ">="
|
461
461
|
- !ruby/object:Gem::Version
|
462
|
-
version: 1.
|
462
|
+
version: 1.12.0
|
463
463
|
- - "<"
|
464
464
|
- !ruby/object:Gem::Version
|
465
465
|
version: 2.0.0
|
@@ -469,7 +469,7 @@ dependencies:
|
|
469
469
|
requirements:
|
470
470
|
- - ">="
|
471
471
|
- !ruby/object:Gem::Version
|
472
|
-
version: 1.
|
472
|
+
version: 1.12.0
|
473
473
|
- - "<"
|
474
474
|
- !ruby/object:Gem::Version
|
475
475
|
version: 2.0.0
|
@@ -479,7 +479,7 @@ dependencies:
|
|
479
479
|
requirements:
|
480
480
|
- - ">="
|
481
481
|
- !ruby/object:Gem::Version
|
482
|
-
version: 0.
|
482
|
+
version: 0.14.0
|
483
483
|
- - "<"
|
484
484
|
- !ruby/object:Gem::Version
|
485
485
|
version: 1.0.0
|
@@ -489,7 +489,7 @@ dependencies:
|
|
489
489
|
requirements:
|
490
490
|
- - ">="
|
491
491
|
- !ruby/object:Gem::Version
|
492
|
-
version: 0.
|
492
|
+
version: 0.14.0
|
493
493
|
- - "<"
|
494
494
|
- !ruby/object:Gem::Version
|
495
495
|
version: 1.0.0
|
@@ -519,7 +519,7 @@ dependencies:
|
|
519
519
|
requirements:
|
520
520
|
- - ">="
|
521
521
|
- !ruby/object:Gem::Version
|
522
|
-
version: 0.
|
522
|
+
version: 0.10.0
|
523
523
|
- - "<"
|
524
524
|
- !ruby/object:Gem::Version
|
525
525
|
version: 1.0.0
|
@@ -529,7 +529,7 @@ dependencies:
|
|
529
529
|
requirements:
|
530
530
|
- - ">="
|
531
531
|
- !ruby/object:Gem::Version
|
532
|
-
version: 0.
|
532
|
+
version: 0.10.0
|
533
533
|
- - "<"
|
534
534
|
- !ruby/object:Gem::Version
|
535
535
|
version: 1.0.0
|
@@ -735,15 +735,12 @@ files:
|
|
735
735
|
- README.md
|
736
736
|
- bin/fastlane
|
737
737
|
- "bin/\U0001F680"
|
738
|
-
- lib/.DS_Store
|
739
|
-
- lib/assets/.DS_Store
|
740
738
|
- lib/assets/Actions.md.erb
|
741
739
|
- lib/assets/AppfileTemplate
|
742
740
|
- lib/assets/AppfileTemplateAndroid
|
743
741
|
- lib/assets/AvailablePlugins.md.erb
|
744
742
|
- lib/assets/DefaultFastfileTemplate
|
745
743
|
- lib/assets/FastfileTemplateAndroid
|
746
|
-
- lib/assets/completions/.DS_Store
|
747
744
|
- lib/assets/completions/completion.bash
|
748
745
|
- lib/assets/completions/completion.sh
|
749
746
|
- lib/assets/completions/completion.zsh
|
@@ -754,15 +751,14 @@ files:
|
|
754
751
|
- lib/assets/s3_plist_template.erb
|
755
752
|
- lib/assets/s3_version_template.erb
|
756
753
|
- lib/fastlane.rb
|
757
|
-
- lib/fastlane/.DS_Store
|
758
754
|
- lib/fastlane/action.rb
|
759
755
|
- lib/fastlane/action_collector.rb
|
760
|
-
- lib/fastlane/actions/.DS_Store
|
761
756
|
- lib/fastlane/actions/README.md
|
762
757
|
- lib/fastlane/actions/actions_helper.rb
|
763
758
|
- lib/fastlane/actions/adb.rb
|
764
759
|
- lib/fastlane/actions/adb_devices.rb
|
765
760
|
- lib/fastlane/actions/add_git_tag.rb
|
761
|
+
- lib/fastlane/actions/app_store_build_number.rb
|
766
762
|
- lib/fastlane/actions/appaloosa.rb
|
767
763
|
- lib/fastlane/actions/appetize.rb
|
768
764
|
- lib/fastlane/actions/appetize_viewing_url_generator.rb
|
@@ -797,7 +793,6 @@ files:
|
|
797
793
|
- lib/fastlane/actions/delete_keychain.rb
|
798
794
|
- lib/fastlane/actions/deliver.rb
|
799
795
|
- lib/fastlane/actions/deploygate.rb
|
800
|
-
- lib/fastlane/actions/device_grid/.DS_Store
|
801
796
|
- lib/fastlane/actions/device_grid/README.md
|
802
797
|
- lib/fastlane/actions/dotgpg_environment.rb
|
803
798
|
- lib/fastlane/actions/download.rb
|
@@ -1024,7 +1019,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1024
1019
|
version: '0'
|
1025
1020
|
requirements: []
|
1026
1021
|
rubyforge_project:
|
1027
|
-
rubygems_version: 2.
|
1022
|
+
rubygems_version: 2.5.1
|
1028
1023
|
signing_key:
|
1029
1024
|
specification_version: 4
|
1030
1025
|
summary: The easiest way to automate beta deployments and releases for your iOS and
|
data/lib/.DS_Store
DELETED
Binary file
|
data/lib/assets/.DS_Store
DELETED
Binary file
|
Binary file
|
data/lib/fastlane/.DS_Store
DELETED
Binary file
|
Binary file
|
Binary file
|