fastlane-plugin-flutter 0.3.4 → 0.3.6
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3401caabc2c40bdeaa3cd30b75f06c0eb3b738a9
|
4
|
+
data.tar.gz: 8ee1e4db0532b1107d1b83ac8de93f2b7e41d218
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7933a7a644f24a6b860dc364c8deab13ae6ebd36f02f2f4e1d79a5c4c84567784f802170f797d75d9169fa562d4f0ea5233dd244801c068b0230b0a08becbdf0
|
7
|
+
data.tar.gz: 9d4f64602a4c85ddaca7fd1afb26ca959e4acb71ff77e3ce8e6080a8362dc5ba2f756744010a86be4b66fa18943e83fb5147633ec67bf8fbb7721b72f9d47a93
|
@@ -8,6 +8,8 @@ module Fastlane
|
|
8
8
|
class FlutterBootstrapAction < Action
|
9
9
|
extend FlutterActionBase
|
10
10
|
|
11
|
+
FLUTTER_REMOTE_REPOSITORY = 'https://github.com/flutter/flutter.git'
|
12
|
+
|
11
13
|
def self.run(params)
|
12
14
|
if params[:android_licenses]
|
13
15
|
Helper::FlutterBootstrapHelper.accept_licenses(
|
@@ -19,29 +21,58 @@ module Fastlane
|
|
19
21
|
# Upgrade or install Flutter SDK.
|
20
22
|
flutter_sdk_root = Helper::FlutterHelper.flutter_sdk_root
|
21
23
|
flutter_channel = params[:flutter_channel]
|
22
|
-
if
|
24
|
+
if Helper::FlutterHelper.flutter_installed?
|
23
25
|
if flutter_channel
|
24
26
|
UI.message("Making sure Flutter is on channel #{flutter_channel}")
|
25
27
|
Helper::FlutterHelper.flutter('channel', flutter_channel) {}
|
26
28
|
end
|
27
|
-
if params[:flutter_auto_upgrade]
|
29
|
+
if params[:flutter_auto_upgrade] &&
|
30
|
+
need_upgrade_to_channel?(flutter_sdk_root, flutter_channel)
|
28
31
|
UI.message("Upgrading Flutter SDK in #{flutter_sdk_root}...")
|
29
32
|
Helper::FlutterHelper.flutter('upgrade') {}
|
30
33
|
end
|
31
34
|
else
|
32
35
|
Helper::FlutterHelper.git(
|
33
|
-
'clone', # no --depth to keep Flutter tag-based versioning.
|
36
|
+
'clone', # no --depth limit to keep Flutter tag-based versioning.
|
34
37
|
"--branch=#{flutter_channel || 'beta'}",
|
35
38
|
'--quiet',
|
36
39
|
'--',
|
37
|
-
|
40
|
+
FLUTTER_REMOTE_REPOSITORY,
|
38
41
|
flutter_sdk_root,
|
39
42
|
)
|
40
43
|
end
|
44
|
+
|
41
45
|
UI.message('Precaching Flutter SDK binaries...')
|
42
46
|
Helper::FlutterHelper.flutter('precache') {}
|
43
47
|
end
|
44
48
|
|
49
|
+
def self.need_upgrade_to_channel?(flutter_sdk_root, flutter_channel)
|
50
|
+
# No channel specified -- always upgrade.
|
51
|
+
return true unless flutter_channel
|
52
|
+
|
53
|
+
remote_hash = Helper::FlutterHelper.git(
|
54
|
+
'ls-remote', FLUTTER_REMOTE_REPOSITORY, flutter_channel
|
55
|
+
) do |status, output, errors_thread|
|
56
|
+
output.split[0].strip if status.success?
|
57
|
+
end
|
58
|
+
local_hash = Helper::FlutterHelper.git(
|
59
|
+
'-C', flutter_sdk_root, 'rev-parse', 'HEAD'
|
60
|
+
) do |status, output, errors_thread|
|
61
|
+
output.strip if status.success?
|
62
|
+
end
|
63
|
+
|
64
|
+
if !local_hash.nil? && local_hash == remote_hash
|
65
|
+
UI.message("Local and remote Flutter repository hashes match " \
|
66
|
+
"(#{local_hash}), no upgrade necessary. Keeping Git " \
|
67
|
+
"index untouched!")
|
68
|
+
false
|
69
|
+
else
|
70
|
+
UI.message("Local hash (#{local_hash}) of Flutter repository " \
|
71
|
+
"differs from remote (#{remote_hash}), upgrading")
|
72
|
+
true
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
45
76
|
def self.android_sdk_root!
|
46
77
|
(ENV['ANDROID_HOME'] || ENV['ANDROID_SDK_ROOT']).tap do |path|
|
47
78
|
unless path
|
@@ -5,7 +5,7 @@ module Fastlane
|
|
5
5
|
module Helper
|
6
6
|
class FlutterHelper
|
7
7
|
def self.flutter(*argv, &block)
|
8
|
-
execute(
|
8
|
+
execute(flutter_binary, *argv, &block)
|
9
9
|
end
|
10
10
|
|
11
11
|
def self.git(*argv, &block)
|
@@ -24,6 +24,14 @@ module Fastlane
|
|
24
24
|
)
|
25
25
|
end
|
26
26
|
|
27
|
+
def self.flutter_installed?
|
28
|
+
File.executable?(flutter_binary)
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.flutter_binary
|
32
|
+
File.join(flutter_sdk_root, 'bin', 'flutter')
|
33
|
+
end
|
34
|
+
|
27
35
|
def self.dev_dependency?(package)
|
28
36
|
(YAML.load_file('pubspec.yaml')['dev_dependencies'] || {}).key?(package)
|
29
37
|
end
|
@@ -55,6 +63,8 @@ $ #{command}
|
|
55
63
|
#{errors_thread.value}
|
56
64
|
ERROR
|
57
65
|
end
|
66
|
+
|
67
|
+
ignore_error
|
58
68
|
end
|
59
69
|
end
|
60
70
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane-plugin-flutter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Artem Sheremet
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-08-
|
11
|
+
date: 2019-08-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pry
|