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 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