fastlane 1.95.0 → 1.96.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 921b590defcf803931c86f58eb658a2133171b63
4
- data.tar.gz: 3a0dcb95d7536cdefed5914fa7f1f875d87a1d67
3
+ metadata.gz: 7fc03884dbd96a157a1ce7678dded4d600fc208e
4
+ data.tar.gz: 2ddb998ef09e02d13130d25bc93fd518a77dbacd
5
5
  SHA512:
6
- metadata.gz: 5a60703c30be8c8a4342f56f08ebce38978aca3e2458494671526c2befec9cca6b9e961b476a52c0f6dc20d23423885cbb765309946903e7095c423acb15d2d1
7
- data.tar.gz: bf5ed67015613981439d17fe4fc89f9a5fe2d9527fa8544eabe59607b84df54591494b65b356c456c8251c659b018eb11d4468f82a3c83b17859244bcc85ed39
6
+ metadata.gz: 134b58780bfb3979d7769762f821af1b80efb7e114e6d8d56d1b00742a6f834a7056a22558c08cfe18682b937b292eb5dbb463163ccf35287c614870200c903d
7
+ data.tar.gz: 9e9b5af63e945489fa77e0e030b0ea3dd4898c782a38212af3476a63bd8713542787fb650c86e6f02a7089ed3a7c4a485890e5e1cf84e964e27761d826a9f6cd
data/lib/.DS_Store CHANGED
Binary file
data/lib/fastlane.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'fastlane_core'
2
2
 
3
3
  require 'fastlane/version'
4
+ require 'fastlane/features'
4
5
  require 'fastlane/tools'
5
6
  require 'fastlane/actions/actions_helper' # has to be before fast_file
6
7
  require 'fastlane/fast_file'
@@ -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
- Fastlane::Setup.new.run
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
- output << "## #{formatted_platform(platform)}" if platform
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
- value = ff.runner.lanes[platform]
23
- next unless value
26
+ output << "## #{formatted_platform(platform)}" if platform
24
27
 
25
- value.each do |lane_name, lane|
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,2 @@
1
+ FastlaneCore::Feature.register(env_var: 'FASTLANE_ENABLE_CRASHLYTICS_BETA_INITIALIZATION',
2
+ description: 'Allow `init beta` command to setup Beta by Crashlytics')
@@ -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
@@ -1,4 +1,4 @@
1
1
  module Fastlane
2
- VERSION = '1.95.0'.freeze
2
+ VERSION = '1.96.0'.freeze
3
3
  DESCRIPTION = "The easiest way to automate building and releasing your iOS and Android apps"
4
4
  end
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.95.0
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-10 00:00:00.000000000 Z
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.46.3
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.46.3
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: '0'
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: '0'
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.4.0
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
Binary file
Binary file
Binary file