fastlane 2.114.0.beta.20190108200048 → 2.114.0.beta.20190109200053

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: feed8ba2b3bc085a57282cf9aedecd3f39ce114f
4
- data.tar.gz: ea73f53da8df3a8f5cb73a118da36a7704737c5d
3
+ metadata.gz: a73ead0de5efc0718340251a5bdd378228eae2a8
4
+ data.tar.gz: 2f4ba76bd4e4ac058ad99aff90af961fc240930b
5
5
  SHA512:
6
- metadata.gz: deaedcca1136b1d6577da61c2604020c3e09f29075cb9a38b8c91dc6cca1df408286a53eaf41246154f2f459a92eefd93ef78d618ae0ad2f206197d7e69049f0
7
- data.tar.gz: aebaef0f88a44be2135df61a59879354e0ff85200e29a1e8ce57149b126cb0703fb0bfdf6c003a201cdd845f4c9412035976d1a47d7a67a1a994f68392d8ea4e
6
+ metadata.gz: a7f0d58368481d30fa79bb99149ee25f7106997c37bd243d12565e89d3202b380e605827590117d885178c5015b48b884e3b38408aa5eb81c5468a67b310f765
7
+ data.tar.gz: 05e195103651240363101d5f11b0b708933af9ee74ff496c4ddac369e29b01c6b57bd3d6c672d6d8606e655391ad247764ed4202a383a27f10b8e94e9cf1e6be
@@ -6,24 +6,31 @@ module Fastlane
6
6
  params[:emails] = params[:emails].join(",") if params[:emails].kind_of?(Array)
7
7
 
8
8
  params.values # to validate all inputs before looking for the ipa/apk
9
+ tempfiles = []
9
10
 
10
11
  # We need to store notes in a file, because the crashlytics CLI (iOS) says so
11
12
  if params[:notes]
12
13
  UI.error("Overwriting :notes_path, because you specified :notes") if params[:notes_path]
13
14
 
14
- params[:notes_path] = Helper::CrashlyticsHelper.write_to_tempfile(params[:notes], 'changelog').path
15
+ changelog = Helper::CrashlyticsHelper.write_to_tempfile(params[:notes], 'changelog')
16
+ tempfiles << changelog
17
+ params[:notes_path] = changelog.path
15
18
  elsif Actions.lane_context[SharedValues::FL_CHANGELOG] && !params[:notes_path]
16
19
  UI.message("Sending FL_CHANGELOG as release notes to Beta by Crashlytics")
17
20
 
18
- params[:notes_path] = Helper::CrashlyticsHelper.write_to_tempfile(
21
+ changelog = Helper::CrashlyticsHelper.write_to_tempfile(
19
22
  Actions.lane_context[SharedValues::FL_CHANGELOG], 'changelog'
20
- ).path
23
+ )
24
+ tempfiles << changelog
25
+ params[:notes_path] = changelog.path
21
26
  end
22
27
 
23
28
  if params[:ipa_path]
24
29
  command = Helper::CrashlyticsHelper.generate_ios_command(params)
25
30
  elsif params[:apk_path]
26
- command = Helper::CrashlyticsHelper.generate_android_command(params)
31
+ android_manifest = Helper::CrashlyticsHelper.generate_android_manifest_tempfile
32
+ tempfiles << android_manifest
33
+ command = Helper::CrashlyticsHelper.generate_android_command(params, android_manifest.path)
27
34
  else
28
35
  UI.user_error!("You have to either pass an ipa or an apk file to the Crashlytics action")
29
36
  end
@@ -49,6 +56,7 @@ module Fastlane
49
56
  error_callback: error_callback
50
57
  )
51
58
 
59
+ tempfiles.each(&:unlink)
52
60
  return command if Helper.test?
53
61
 
54
62
  UI.verbose(sanitizer.call(result)) if FastlaneCore::Globals.verbose?
@@ -14,6 +14,7 @@ module Fastlane
14
14
 
15
15
  # Assign folder from parameter or search for xcodeproj file
16
16
  folder = params[:xcodeproj] || Dir["*.xcodeproj"].first
17
+ UI.user_error!("Could not figure out your xcodeproj path. Please specify it using the `xcodeproj` parameter") if folder.nil?
17
18
 
18
19
  if params[:scheme]
19
20
  project = Xcodeproj::Project.open(folder)
@@ -56,13 +56,7 @@ module Fastlane
56
56
  return command
57
57
  end
58
58
 
59
- def generate_android_command(params)
60
- # We have to generate an empty XML file to make the crashlytics CLI happy :)
61
- require 'tempfile'
62
- xml = Tempfile.new('xml')
63
- xml.write('<?xml version="1.0" encoding="utf-8"?><manifest></manifest>')
64
- xml.close
65
-
59
+ def generate_android_command(params, android_manifest_path)
66
60
  params[:crashlytics_path] = download_android_tools unless params[:crashlytics_path]
67
61
 
68
62
  UI.user_error!("The `crashlytics_path` must be a jar file for Android") unless params[:crashlytics_path].end_with?(".jar") || Helper.test?
@@ -77,7 +71,7 @@ module Fastlane
77
71
  command << "-apiKey #{params[:api_token]}"
78
72
  command << "-apiSecret #{params[:build_secret]}"
79
73
  command << "-uploadDist #{File.expand_path(params[:apk_path]).shellescape}"
80
- command << "-androidManifest #{xml.path.shellescape}"
74
+ command << "-androidManifest #{File.expand_path(android_manifest_path).shellescape}"
81
75
 
82
76
  # Optional
83
77
  command << "-betaDistributionEmails #{params[:emails].shellescape}" if params[:emails]
@@ -124,6 +118,11 @@ module Fastlane
124
118
  return jar_path
125
119
  end
126
120
 
121
+ def generate_android_manifest_tempfile
122
+ # We have to generate an empty XML file to make the crashlytics CLI happy :)
123
+ write_to_tempfile('<?xml version="1.0" encoding="utf-8"?><manifest></manifest>', 'xml')
124
+ end
125
+
127
126
  def write_to_tempfile(value, tempfilename)
128
127
  require 'tempfile'
129
128
 
@@ -1,5 +1,5 @@
1
1
  module Fastlane
2
- VERSION = '2.114.0.beta.20190108200048'.freeze
2
+ VERSION = '2.114.0.beta.20190109200053'.freeze
3
3
  DESCRIPTION = "The easiest way to automate beta deployments and releases for your iOS and Android apps".freeze
4
4
  MINIMUM_XCODE_RELEASE = "7.0".freeze
5
5
  RUBOCOP_REQUIREMENT = '0.49.1'.freeze
@@ -57,6 +57,16 @@ module Spaceship
57
57
  puts("")
58
58
  puts("Example:")
59
59
  puts("export FASTLANE_SESSION='#{yaml}'".cyan.underline)
60
+
61
+ if mac? && Spaceship::Client::UserInterface.interactive? && agree("🙄 Should fastlane copy the cookie into your clipboard, so you can easily paste it? (y/n)", true)
62
+ require 'open3'
63
+ Open3.popen3('pbcopy') { |input, _, _| input << yaml }
64
+ puts("Successfully copied text into your clipboard 🎨".green)
65
+ end
66
+ end
67
+
68
+ def mac?
69
+ (/darwin/ =~ RUBY_PLATFORM) != nil
60
70
  end
61
71
  end
62
72
  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: 2.114.0.beta.20190108200048
4
+ version: 2.114.0.beta.20190109200053
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefan Natchev
@@ -27,7 +27,7 @@ authors:
27
27
  autorequire:
28
28
  bindir: bin
29
29
  cert_chain: []
30
- date: 2019-01-08 00:00:00.000000000 Z
30
+ date: 2019-01-09 00:00:00.000000000 Z
31
31
  dependencies:
32
32
  - !ruby/object:Gem::Dependency
33
33
  name: slack-notifier
@@ -1682,24 +1682,24 @@ metadata:
1682
1682
  post_install_message:
1683
1683
  rdoc_options: []
1684
1684
  require_paths:
1685
+ - sigh/lib
1686
+ - deliver/lib
1687
+ - gym/lib
1688
+ - cert/lib
1685
1689
  - scan/lib
1686
- - screengrab/lib
1687
- - precheck/lib
1688
- - snapshot/lib
1689
- - pilot/lib
1690
- - pem/lib
1691
1690
  - supply/lib
1691
+ - produce/lib
1692
1692
  - match/lib
1693
- - frameit/lib
1694
- - gym/lib
1693
+ - pem/lib
1694
+ - pilot/lib
1695
+ - screengrab/lib
1696
+ - fastlane_core/lib
1695
1697
  - spaceship/lib
1696
- - deliver/lib
1697
- - produce/lib
1698
- - credentials_manager/lib
1699
- - cert/lib
1698
+ - snapshot/lib
1699
+ - precheck/lib
1700
+ - frameit/lib
1700
1701
  - fastlane/lib
1701
- - fastlane_core/lib
1702
- - sigh/lib
1702
+ - credentials_manager/lib
1703
1703
  required_ruby_version: !ruby/object:Gem::Requirement
1704
1704
  requirements:
1705
1705
  - - ">="