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

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: 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
  - - ">="