fastlane 1.50.0 → 1.51.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/README.md +1 -1
- data/lib/fastlane/actions/badge.rb +67 -0
- data/lib/fastlane/actions/changelog_from_git_commits.rb +1 -0
- data/lib/fastlane/actions/cloc.rb +72 -0
- data/lib/fastlane/actions/latest_testflight_build_number.rb +92 -0
- data/lib/fastlane/actions/mailgun.rb +6 -1
- data/lib/fastlane/version.rb +1 -1
- metadata +9 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 425eade5eb4d86ec9e784f5fe925bc3cd11e9ea7
|
|
4
|
+
data.tar.gz: d7b3dd59c112dbc7fe07d800d5c6d067e880640b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f883a21a5c848f2f78709ac09990d1bb3337f9500bcf01338fd8c6227a577fa5c8e03a431b6326a36b7c4ad25a6487df7e62ad485a39b89ddfd065bd23bea1a3
|
|
7
|
+
data.tar.gz: 3f51fd1a89aed0babac095dd93544774733c0637d80e31cffa3d348658a81188288e38fbc18e2c0214c022c05af93698f8c4b320991dafe3275ede59ac7cd07a
|
data/README.md
CHANGED
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
fastlane
|
|
22
22
|
============
|
|
23
23
|
|
|
24
|
-
[](https://twitter.com/FastlaneTools)
|
|
25
25
|
[](https://github.com/fastlane/fastlane/blob/master/LICENSE)
|
|
26
26
|
[](http://rubygems.org/gems/fastlane)
|
|
27
27
|
[](https://travis-ci.org/fastlane/fastlane)
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
module Fastlane
|
|
2
|
+
module Actions
|
|
3
|
+
class BadgeAction < Action
|
|
4
|
+
def self.run(params)
|
|
5
|
+
require 'badge'
|
|
6
|
+
Badge::Runner.new.run('.', params[:dark], params[:custom], params[:no_badge], params[:shield])
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
#####################################################
|
|
10
|
+
# @!group Documentation
|
|
11
|
+
#####################################################
|
|
12
|
+
|
|
13
|
+
def self.description
|
|
14
|
+
"Automatically add a badge to your iOS app icon"
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def self.details
|
|
18
|
+
[
|
|
19
|
+
"This action will add a light/dark beta badge onto your app icon.",
|
|
20
|
+
"You can also provide your custom badge/overlay or add an shield for more customization more info:",
|
|
21
|
+
"https://github.com/HazAT/badge"
|
|
22
|
+
].join("\n")
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def self.available_options
|
|
26
|
+
[
|
|
27
|
+
FastlaneCore::ConfigItem.new(key: :dark,
|
|
28
|
+
env_name: "FL_BADGE_DARK",
|
|
29
|
+
description: "adds a dark flavored badge ontop of your icon",
|
|
30
|
+
optional: true,
|
|
31
|
+
is_string: false,
|
|
32
|
+
verify_block: proc do |value|
|
|
33
|
+
raise "dark is only a flag and should always be true".red unless value == true
|
|
34
|
+
end),
|
|
35
|
+
FastlaneCore::ConfigItem.new(key: :custom,
|
|
36
|
+
env_name: "FL_BADGE_CUSTOM",
|
|
37
|
+
description: "add your custom overlay/badge image",
|
|
38
|
+
optional: true,
|
|
39
|
+
verify_block: proc do |value|
|
|
40
|
+
raise "custom should be a valid file path".red unless value and File.exist?(value)
|
|
41
|
+
end),
|
|
42
|
+
FastlaneCore::ConfigItem.new(key: :no_badge,
|
|
43
|
+
env_name: "FL_BADGE_NO_BADGE",
|
|
44
|
+
description: "hides the beta badge",
|
|
45
|
+
optional: true,
|
|
46
|
+
is_string: false,
|
|
47
|
+
verify_block: proc do |value|
|
|
48
|
+
raise "no_badge is only a flag and should always be true".red unless value == true
|
|
49
|
+
end),
|
|
50
|
+
FastlaneCore::ConfigItem.new(key: :shield,
|
|
51
|
+
env_name: "FL_BADGE_SHIELD",
|
|
52
|
+
description: "add a shield to your app icon from shield.io",
|
|
53
|
+
optional: true,
|
|
54
|
+
is_string: true)
|
|
55
|
+
]
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
def self.authors
|
|
59
|
+
["DanielGri"]
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def self.is_supported?(platform)
|
|
63
|
+
platform == :ios
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
@@ -48,6 +48,7 @@ module Fastlane
|
|
|
48
48
|
is_string: false,
|
|
49
49
|
verify_block: proc do |value|
|
|
50
50
|
raise ":between must be of type array".red unless value.kind_of?(Array)
|
|
51
|
+
raise ":between must not contain nil values".red if value.any?(&:nil?)
|
|
51
52
|
raise ":between must be an array of size 2".red unless (value || []).size == 2
|
|
52
53
|
end),
|
|
53
54
|
FastlaneCore::ConfigItem.new(key: :pretty,
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
module Fastlane
|
|
2
|
+
module Actions
|
|
3
|
+
class ClocAction < Action
|
|
4
|
+
def self.run(params)
|
|
5
|
+
cloc_binary = params[:binary_path]
|
|
6
|
+
exclude_dirs = params[:exclude_dir].nil? ? '' : "--exclude-dir=#{params[:exclude_dir]}"
|
|
7
|
+
xml_format = params[:xml]
|
|
8
|
+
out_dir = params[:output_directory]
|
|
9
|
+
output_file = xml_format ? "#{out_dir}/cloc.xml" : "#{out_dir}/cloc.txt"
|
|
10
|
+
source_directory = params[:source_directory]
|
|
11
|
+
|
|
12
|
+
command = [
|
|
13
|
+
cloc_binary,
|
|
14
|
+
exclude_dirs,
|
|
15
|
+
'--by-file',
|
|
16
|
+
xml_format ? '--xml ' : '',
|
|
17
|
+
"--out=#{output_file}",
|
|
18
|
+
source_directory
|
|
19
|
+
].join(' ').strip
|
|
20
|
+
|
|
21
|
+
Actions.sh command
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def self.description
|
|
25
|
+
"Generates a Code Count that can be read by Jenkins (xml format)"
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def self.details
|
|
29
|
+
"This action will run cloc to generate a SLOC report that the Jenkins SLOCCount plugin can read. See https://wiki.jenkins-ci.org/display/JENKINS/SLOCCount+Plugin for more information."
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def self.available_options
|
|
33
|
+
[
|
|
34
|
+
FastlaneCore::ConfigItem.new(key: :binary_path,
|
|
35
|
+
env_name: "FL_CLOC_BINARY_PATH",
|
|
36
|
+
description: "Where the cloc binary lives on your system (full path including 'cloc')",
|
|
37
|
+
optional: true,
|
|
38
|
+
is_string: true,
|
|
39
|
+
default_value: '/usr/local/bin/cloc'),
|
|
40
|
+
FastlaneCore::ConfigItem.new(key: :exclude_dir,
|
|
41
|
+
env_name: "FL_CLOC_EXCLUDE_DIR",
|
|
42
|
+
description: "Comma separated list of directories to exclude", # a short description of this parameter
|
|
43
|
+
optional: true,
|
|
44
|
+
is_string: true),
|
|
45
|
+
FastlaneCore::ConfigItem.new(key: :output_directory,
|
|
46
|
+
env_name: "FL_CLOC_OUTPUT_DIRECTORY",
|
|
47
|
+
description: "Where to put the generated report file",
|
|
48
|
+
is_string: true,
|
|
49
|
+
default_value: "build"),
|
|
50
|
+
FastlaneCore::ConfigItem.new(key: :source_directory,
|
|
51
|
+
env_name: "FL_CLOC_SOURCE_DIRECTORY",
|
|
52
|
+
description: "Where to look for the source code (relative to the project root folder)",
|
|
53
|
+
is_string: true,
|
|
54
|
+
default_value: ""),
|
|
55
|
+
FastlaneCore::ConfigItem.new(key: :xml,
|
|
56
|
+
env_name: "FL_CLOC_XML",
|
|
57
|
+
description: "Should we generate an XML File (if false, it will generate a plain text file)?",
|
|
58
|
+
is_string: false,
|
|
59
|
+
default_value: true)
|
|
60
|
+
]
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
def self.authors
|
|
64
|
+
["intere"]
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
def self.is_supported?(platform)
|
|
68
|
+
[:ios, :mac].include?(platform)
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
end
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
require 'credentials_manager'
|
|
2
|
+
|
|
3
|
+
module Fastlane
|
|
4
|
+
module Actions
|
|
5
|
+
module SharedValues
|
|
6
|
+
LATEST_TESTFLIGHT_BUILD_NUMBER = :LATEST_TESTFLIGHT_BUILD_NUMBER
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
class LatestTestflightBuildNumberAction < Action
|
|
10
|
+
|
|
11
|
+
def self.run(params)
|
|
12
|
+
require 'spaceship'
|
|
13
|
+
|
|
14
|
+
credentials = CredentialsManager::AccountManager.new(user: params[:username])
|
|
15
|
+
Spaceship::Tunes.login(credentials.user, credentials.password)
|
|
16
|
+
Spaceship::Tunes.select_team
|
|
17
|
+
app = Spaceship::Tunes::Application.find(params[:app_identifier])
|
|
18
|
+
|
|
19
|
+
version_number = params[:version]
|
|
20
|
+
unless version_number
|
|
21
|
+
# Automatically fetch the latest version in testflight
|
|
22
|
+
if app.build_trains.keys.last
|
|
23
|
+
version_number = app.build_trains.keys.last
|
|
24
|
+
else
|
|
25
|
+
Helper.log.info "You have to specify a new version number: "
|
|
26
|
+
version_number = STDIN.gets.strip
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
Helper.log.info "Fetching the latest build number for version #{version_number}"
|
|
31
|
+
|
|
32
|
+
train = app.build_trains[version_number]
|
|
33
|
+
build_number = train.builds.map(&:build_version).map(&:to_i).sort.last
|
|
34
|
+
|
|
35
|
+
Helper.log.info "Latest upload is build number: #{build_number}"
|
|
36
|
+
Actions.lane_context[SharedValues::LATEST_TESTFLIGHT_BUILD_NUMBER] = build_number
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
#####################################################
|
|
40
|
+
# @!group Documentation
|
|
41
|
+
#####################################################
|
|
42
|
+
|
|
43
|
+
def self.description
|
|
44
|
+
"Fetches most recent build number from TestFlight"
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def self.details
|
|
48
|
+
"Provides a way to have increment_build_number base the incremented value on the latest value in iTunesConnect by looking up the latest version in TestFlight and the latest build number for that version"
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def self.available_options
|
|
52
|
+
user = CredentialsManager::AppfileConfig.try_fetch_value(:itunes_connect_id)
|
|
53
|
+
user ||= CredentialsManager::AppfileConfig.try_fetch_value(:apple_id)
|
|
54
|
+
|
|
55
|
+
[
|
|
56
|
+
FastlaneCore::ConfigItem.new(key: :app_identifier,
|
|
57
|
+
short_option: "-a",
|
|
58
|
+
env_name: "FASTLANE_APP_IDENTIFIER",
|
|
59
|
+
description: "The bundle identifier of your app",
|
|
60
|
+
default_value: CredentialsManager::AppfileConfig.try_fetch_value(:app_identifier)),
|
|
61
|
+
FastlaneCore::ConfigItem.new(key: :username,
|
|
62
|
+
short_option: "-u",
|
|
63
|
+
env_name: "ITUNESCONNECT_USER",
|
|
64
|
+
description: "Your Apple ID Username",
|
|
65
|
+
default_value: user),
|
|
66
|
+
FastlaneCore::ConfigItem.new(key: :version,
|
|
67
|
+
env_name: "LATEST_VERSION",
|
|
68
|
+
description: "The version number whose latest build number we want",
|
|
69
|
+
optional: true)
|
|
70
|
+
]
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
def self.output
|
|
74
|
+
[
|
|
75
|
+
['LATEST_TESTFLIGHT_BUILD_NUMBER', 'The latest build number of the latest version of the app uploaded to TestFlight']
|
|
76
|
+
]
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
def self.return_value
|
|
80
|
+
"Integer representation of the latest build number uploaded to TestFlight"
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
def self.authors
|
|
84
|
+
["daveanderson"]
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
def self.is_supported?(platform)
|
|
88
|
+
platform == :ios
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
|
@@ -46,6 +46,11 @@ module Fastlane
|
|
|
46
46
|
FastlaneCore::ConfigItem.new(key: :to,
|
|
47
47
|
env_name: "MAILGUN_TO",
|
|
48
48
|
description: "Destination of your mail"),
|
|
49
|
+
FastlaneCore::ConfigItem.new(key: :from,
|
|
50
|
+
env_name: "MAILGUN_FROM",
|
|
51
|
+
optional: true,
|
|
52
|
+
description: "Mailgun sender name",
|
|
53
|
+
default_value: "Mailgun Sandbox"),
|
|
49
54
|
FastlaneCore::ConfigItem.new(key: :message,
|
|
50
55
|
env_name: "MAILGUN_MESSAGE",
|
|
51
56
|
description: "Message of your mail"),
|
|
@@ -90,7 +95,7 @@ module Fastlane
|
|
|
90
95
|
def self.mailgunit(options)
|
|
91
96
|
sandbox_domain = options[:postmaster].split("@").last
|
|
92
97
|
RestClient.post "https://api:#{options[:apikey]}@api.mailgun.net/v3/#{sandbox_domain}/messages",
|
|
93
|
-
from: "
|
|
98
|
+
from: "#{options[:from]}<#{options[:postmaster]}>",
|
|
94
99
|
to: "#{options[:to]}",
|
|
95
100
|
subject: options[:subject],
|
|
96
101
|
html: mail_teplate(options)
|
data/lib/fastlane/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fastlane
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.51.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Felix Krause
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-01-
|
|
11
|
+
date: 2016-01-15 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: krausefx-shenzhen
|
|
@@ -148,7 +148,7 @@ dependencies:
|
|
|
148
148
|
requirements:
|
|
149
149
|
- - ">="
|
|
150
150
|
- !ruby/object:Gem::Version
|
|
151
|
-
version: 0.
|
|
151
|
+
version: 0.33.0
|
|
152
152
|
- - "<"
|
|
153
153
|
- !ruby/object:Gem::Version
|
|
154
154
|
version: 1.0.0
|
|
@@ -158,7 +158,7 @@ dependencies:
|
|
|
158
158
|
requirements:
|
|
159
159
|
- - ">="
|
|
160
160
|
- !ruby/object:Gem::Version
|
|
161
|
-
version: 0.
|
|
161
|
+
version: 0.33.0
|
|
162
162
|
- - "<"
|
|
163
163
|
- !ruby/object:Gem::Version
|
|
164
164
|
version: 1.0.0
|
|
@@ -188,7 +188,7 @@ dependencies:
|
|
|
188
188
|
requirements:
|
|
189
189
|
- - ">="
|
|
190
190
|
- !ruby/object:Gem::Version
|
|
191
|
-
version: 0.19.
|
|
191
|
+
version: 0.19.1
|
|
192
192
|
- - "<"
|
|
193
193
|
- !ruby/object:Gem::Version
|
|
194
194
|
version: 1.0.0
|
|
@@ -198,7 +198,7 @@ dependencies:
|
|
|
198
198
|
requirements:
|
|
199
199
|
- - ">="
|
|
200
200
|
- !ruby/object:Gem::Version
|
|
201
|
-
version: 0.19.
|
|
201
|
+
version: 0.19.1
|
|
202
202
|
- - "<"
|
|
203
203
|
- !ruby/object:Gem::Version
|
|
204
204
|
version: 1.0.0
|
|
@@ -603,6 +603,7 @@ files:
|
|
|
603
603
|
- lib/fastlane/actions/artifactory.rb
|
|
604
604
|
- lib/fastlane/actions/backup_file.rb
|
|
605
605
|
- lib/fastlane/actions/backup_xcarchive.rb
|
|
606
|
+
- lib/fastlane/actions/badge.rb
|
|
606
607
|
- lib/fastlane/actions/bundle_install.rb
|
|
607
608
|
- lib/fastlane/actions/carthage.rb
|
|
608
609
|
- lib/fastlane/actions/cert.rb
|
|
@@ -612,6 +613,7 @@ files:
|
|
|
612
613
|
- lib/fastlane/actions/clean_cocoapods_cache.rb
|
|
613
614
|
- lib/fastlane/actions/clear_derived_data.rb
|
|
614
615
|
- lib/fastlane/actions/clipboard.rb
|
|
616
|
+
- lib/fastlane/actions/cloc.rb
|
|
615
617
|
- lib/fastlane/actions/cocoapods.rb
|
|
616
618
|
- lib/fastlane/actions/commit_version_bump.rb
|
|
617
619
|
- lib/fastlane/actions/copy_artifacts.rb
|
|
@@ -661,6 +663,7 @@ files:
|
|
|
661
663
|
- lib/fastlane/actions/lane_context.rb
|
|
662
664
|
- lib/fastlane/actions/last_git_commit.rb
|
|
663
665
|
- lib/fastlane/actions/last_git_tag.rb
|
|
666
|
+
- lib/fastlane/actions/latest_testflight_build_number.rb
|
|
664
667
|
- lib/fastlane/actions/lcov.rb
|
|
665
668
|
- lib/fastlane/actions/mailgun.rb
|
|
666
669
|
- lib/fastlane/actions/match.rb
|