fastlane 1.95.0 → 1.96.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/.DS_Store +0 -0
- data/lib/fastlane.rb +1 -0
- data/lib/fastlane/commands_generator.rb +6 -1
- data/lib/fastlane/documentation/docs_generator.rb +7 -4
- data/lib/fastlane/features.rb +2 -0
- data/lib/fastlane/setup/crashlytics_beta.rb +89 -0
- data/lib/fastlane/version.rb +1 -1
- metadata +11 -15
- 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
- data/lib/fastlane/plugins/.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: 7fc03884dbd96a157a1ce7678dded4d600fc208e
|
4
|
+
data.tar.gz: 2ddb998ef09e02d13130d25bc93fd518a77dbacd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 134b58780bfb3979d7769762f821af1b80efb7e114e6d8d56d1b00742a6f834a7056a22558c08cfe18682b937b292eb5dbb463163ccf35287c614870200c903d
|
7
|
+
data.tar.gz: 9e9b5af63e945489fa77e0e030b0ea3dd4898c782a38212af3476a63bd8713542787fb650c86e6f02a7089ed3a7c4a485890e5e1cf84e964e27761d826a9f6cd
|
data/lib/.DS_Store
CHANGED
Binary file
|
data/lib/fastlane.rb
CHANGED
@@ -58,7 +58,12 @@ module Fastlane
|
|
58
58
|
c.description = 'Helps you with your initial fastlane setup'
|
59
59
|
|
60
60
|
c.action do |args, options|
|
61
|
-
|
61
|
+
if args[0] == 'beta' && FastlaneCore::Feature.enabled?('FASTLANE_ENABLE_CRASHLYTICS_BETA_INITIALIZATION')
|
62
|
+
require 'fastlane/setup/crashlytics_beta'
|
63
|
+
Fastlane::CrashlyticsBeta.new.run
|
64
|
+
else
|
65
|
+
Fastlane::Setup.new.run
|
66
|
+
end
|
62
67
|
end
|
63
68
|
end
|
64
69
|
|
@@ -17,12 +17,15 @@ module Fastlane
|
|
17
17
|
all_keys.unshift(nil) # because we want root elements on top. always! They have key nil
|
18
18
|
|
19
19
|
all_keys.each do |platform|
|
20
|
-
|
20
|
+
lanes = ff.runner.lanes[platform]
|
21
|
+
|
22
|
+
if lanes.nil? || lanes.empty? || lanes.all? { |_, lane| lane.is_private }
|
23
|
+
next
|
24
|
+
end
|
21
25
|
|
22
|
-
|
23
|
-
next unless value
|
26
|
+
output << "## #{formatted_platform(platform)}" if platform
|
24
27
|
|
25
|
-
|
28
|
+
lanes.each do |lane_name, lane|
|
26
29
|
next if lane.is_private
|
27
30
|
output << render(platform, lane_name, lane.description.join("\n\n"))
|
28
31
|
end
|
@@ -0,0 +1,89 @@
|
|
1
|
+
module Fastlane
|
2
|
+
class CrashlyticsBeta
|
3
|
+
def run
|
4
|
+
UI.user_error!('Beta by Crashlytics configuration is currently only available for iOS projects.') unless Setup.new.is_ios?
|
5
|
+
config = {}
|
6
|
+
FastlaneCore::Project.detect_projects(config)
|
7
|
+
project = FastlaneCore::Project.new(config)
|
8
|
+
keys = keys_from_project(project)
|
9
|
+
|
10
|
+
if FastlaneFolder.setup?
|
11
|
+
UI.header('Copy and paste the following lane into your Fastfile to use Crashlytics Beta!')
|
12
|
+
puts lane_template(keys[:api_key], keys[:build_secret], project.schemes.first).cyan
|
13
|
+
else
|
14
|
+
fastfile = fastfile_template(keys[:api_key], keys[:build_secret], project.schemes.first)
|
15
|
+
FileUtils.mkdir_p('fastlane')
|
16
|
+
File.write('fastlane/Fastfile', fastfile)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def keys_from_project(project)
|
21
|
+
require 'xcodeproj'
|
22
|
+
target_name = project.default_build_settings(key: 'TARGETNAME')
|
23
|
+
path = project.is_workspace ? project.path.gsub('xcworkspace', 'xcodeproj') : project.path
|
24
|
+
UI.crash!("No project available at path #{path}") unless File.exist?(path)
|
25
|
+
xcode_project = Xcodeproj::Project.open(path)
|
26
|
+
target = xcode_project.targets.find { |t| t.name == target_name }
|
27
|
+
scripts = target.build_phases.select { |t| t.class == Xcodeproj::Project::Object::PBXShellScriptBuildPhase }
|
28
|
+
crash_script = scripts.find { |s| includes_run_script?(s.shell_script) }
|
29
|
+
UI.user_error!("Unable to find Crashlytics Run Script Build Phase") if crash_script.nil?
|
30
|
+
script_array = crash_script.shell_script.split('\n').find { |l| includes_run_script?(l) }.split(' ')
|
31
|
+
if script_array.count == 3 && api_key_valid?(script_array[1]) && build_secret_valid?(script_array[2])
|
32
|
+
{
|
33
|
+
api_key: script_array[1],
|
34
|
+
build_secret: script_array[2]
|
35
|
+
}
|
36
|
+
else
|
37
|
+
UI.important('Please enter your API Key and Build Secret:')
|
38
|
+
keys = {}
|
39
|
+
loop do
|
40
|
+
keys[:api_key] = UI.input('API Key:')
|
41
|
+
break if api_key_valid?(keys[:api_key])
|
42
|
+
UI.important "Invalid API Key, Please Try Again!"
|
43
|
+
end
|
44
|
+
loop do
|
45
|
+
keys[:build_secret] = UI.input('Build Secret:')
|
46
|
+
break if build_secret_valid?(keys[:build_secret])
|
47
|
+
UI.important "Invalid Build Secret, Please Try Again!"
|
48
|
+
end
|
49
|
+
keys
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def api_key_valid?(key)
|
54
|
+
key.to_s.length == 40
|
55
|
+
end
|
56
|
+
|
57
|
+
def build_secret_valid?(secret)
|
58
|
+
secret.to_s.length == 64
|
59
|
+
end
|
60
|
+
|
61
|
+
def includes_run_script?(string)
|
62
|
+
string.include?('Fabric/run') || string.include?('Crashlytics/run') || string.include?('Fabric.framework/run') || string.include?('Crashlytics.framework/run')
|
63
|
+
end
|
64
|
+
|
65
|
+
def lane_template(api_key, build_secret, scheme)
|
66
|
+
%{
|
67
|
+
lane :beta do
|
68
|
+
gym(scheme: '#{scheme}')
|
69
|
+
crashlytics(api_token: '#{api_key}',
|
70
|
+
build_secret: '#{build_secret}')
|
71
|
+
end
|
72
|
+
}
|
73
|
+
end
|
74
|
+
|
75
|
+
def fastfile_template(api_key, build_secret, scheme)
|
76
|
+
<<-eos
|
77
|
+
fastlane_version "1.93.0"
|
78
|
+
default_platform :ios
|
79
|
+
platform :ios do
|
80
|
+
lane :beta do
|
81
|
+
gym(scheme: '#{scheme}')
|
82
|
+
crashlytics(api_token: '#{api_key}',
|
83
|
+
build_secret: '#{build_secret}')
|
84
|
+
end
|
85
|
+
end
|
86
|
+
eos
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
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.96.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-06-
|
18
|
+
date: 2016-06-24 00:00:00.000000000 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: krausefx-shenzhen
|
@@ -183,7 +183,7 @@ dependencies:
|
|
183
183
|
requirements:
|
184
184
|
- - ">="
|
185
185
|
- !ruby/object:Gem::Version
|
186
|
-
version: 0.
|
186
|
+
version: 0.48.0
|
187
187
|
- - "<"
|
188
188
|
- !ruby/object:Gem::Version
|
189
189
|
version: 1.0.0
|
@@ -193,7 +193,7 @@ dependencies:
|
|
193
193
|
requirements:
|
194
194
|
- - ">="
|
195
195
|
- !ruby/object:Gem::Version
|
196
|
-
version: 0.
|
196
|
+
version: 0.48.0
|
197
197
|
- - "<"
|
198
198
|
- !ruby/object:Gem::Version
|
199
199
|
version: 1.0.0
|
@@ -613,16 +613,16 @@ dependencies:
|
|
613
613
|
name: coveralls
|
614
614
|
requirement: !ruby/object:Gem::Requirement
|
615
615
|
requirements:
|
616
|
-
- - "
|
616
|
+
- - "~>"
|
617
617
|
- !ruby/object:Gem::Version
|
618
|
-
version:
|
618
|
+
version: 0.8.13
|
619
619
|
type: :development
|
620
620
|
prerelease: false
|
621
621
|
version_requirements: !ruby/object:Gem::Requirement
|
622
622
|
requirements:
|
623
|
-
- - "
|
623
|
+
- - "~>"
|
624
624
|
- !ruby/object:Gem::Version
|
625
|
-
version:
|
625
|
+
version: 0.8.13
|
626
626
|
- !ruby/object:Gem::Dependency
|
627
627
|
name: rubocop
|
628
628
|
requirement: !ruby/object:Gem::Requirement
|
@@ -680,13 +680,11 @@ files:
|
|
680
680
|
- bin/fastlane
|
681
681
|
- "bin/\U0001F680"
|
682
682
|
- lib/.DS_Store
|
683
|
-
- lib/assets/.DS_Store
|
684
683
|
- lib/assets/AppfileTemplate
|
685
684
|
- lib/assets/AppfileTemplateAndroid
|
686
685
|
- lib/assets/AvailablePlugins.md.erb
|
687
686
|
- lib/assets/DefaultFastfileTemplate
|
688
687
|
- lib/assets/FastfileTemplateAndroid
|
689
|
-
- lib/assets/completions/.DS_Store
|
690
688
|
- lib/assets/completions/completion.bash
|
691
689
|
- lib/assets/completions/completion.sh
|
692
690
|
- lib/assets/completions/completion.zsh
|
@@ -697,10 +695,8 @@ files:
|
|
697
695
|
- lib/assets/s3_plist_template.erb
|
698
696
|
- lib/assets/s3_version_template.erb
|
699
697
|
- lib/fastlane.rb
|
700
|
-
- lib/fastlane/.DS_Store
|
701
698
|
- lib/fastlane/action.rb
|
702
699
|
- lib/fastlane/action_collector.rb
|
703
|
-
- lib/fastlane/actions/.DS_Store
|
704
700
|
- lib/fastlane/actions/README.md
|
705
701
|
- lib/fastlane/actions/actions_helper.rb
|
706
702
|
- lib/fastlane/actions/adb.rb
|
@@ -740,7 +736,6 @@ files:
|
|
740
736
|
- lib/fastlane/actions/delete_keychain.rb
|
741
737
|
- lib/fastlane/actions/deliver.rb
|
742
738
|
- lib/fastlane/actions/deploygate.rb
|
743
|
-
- lib/fastlane/actions/device_grid/.DS_Store
|
744
739
|
- lib/fastlane/actions/device_grid/README.md
|
745
740
|
- lib/fastlane/actions/dotgpg_environment.rb
|
746
741
|
- lib/fastlane/actions/download.rb
|
@@ -886,6 +881,7 @@ files:
|
|
886
881
|
- lib/fastlane/erb_template_helper.rb
|
887
882
|
- lib/fastlane/fast_file.rb
|
888
883
|
- lib/fastlane/fastlane_folder.rb
|
884
|
+
- lib/fastlane/features.rb
|
889
885
|
- lib/fastlane/helper/README.md
|
890
886
|
- lib/fastlane/helper/adb_helper.rb
|
891
887
|
- lib/fastlane/helper/crashlytics_helper.rb
|
@@ -902,7 +898,6 @@ files:
|
|
902
898
|
- lib/fastlane/new_action.rb
|
903
899
|
- lib/fastlane/one_off.rb
|
904
900
|
- lib/fastlane/other_action.rb
|
905
|
-
- lib/fastlane/plugins/.DS_Store
|
906
901
|
- lib/fastlane/plugins/plugin_fetcher.rb
|
907
902
|
- lib/fastlane/plugins/plugin_generator.rb
|
908
903
|
- lib/fastlane/plugins/plugin_generator_ui.rb
|
@@ -931,6 +926,7 @@ files:
|
|
931
926
|
- lib/fastlane/plugins/template/spec/%plugin_name%_action_spec.rb.erb
|
932
927
|
- lib/fastlane/plugins/template/spec/spec_helper.rb.erb
|
933
928
|
- lib/fastlane/runner.rb
|
929
|
+
- lib/fastlane/setup/crashlytics_beta.rb
|
934
930
|
- lib/fastlane/setup/setup.rb
|
935
931
|
- lib/fastlane/setup/setup_android.rb
|
936
932
|
- lib/fastlane/setup/setup_ios.rb
|
@@ -957,7 +953,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
957
953
|
version: '0'
|
958
954
|
requirements: []
|
959
955
|
rubyforge_project:
|
960
|
-
rubygems_version: 2.
|
956
|
+
rubygems_version: 2.5.1
|
961
957
|
signing_key:
|
962
958
|
specification_version: 4
|
963
959
|
summary: The easiest way to automate building and releasing your iOS and Android apps
|
data/lib/assets/.DS_Store
DELETED
Binary file
|
Binary file
|
data/lib/fastlane/.DS_Store
DELETED
Binary file
|
Binary file
|
Binary file
|
Binary file
|