fastlane 1.106.2 → 1.107.0
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/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
|