fastlane-plugin-android_sdk_update 0.1.0 → 1.1.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
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: c1145152294d60ca477fb6802c6c14620a834cd090af6b370ad7c1f89822fcdc
|
4
|
+
data.tar.gz: dcccdc9fbf9eb5b798582263fc9021294f1f6bacca9eb282a3bb899257cb9b86
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ca1a13f1bba3006f2c97a4bfaeface0fa472df0a4caf54143d5a0e7afe11b413baaa2be32958f1840f6241bd95ee9217a1373fb7acf353e50dbbed2f7ec61c35
|
7
|
+
data.tar.gz: 011557cccb33381c31df5659baff3a8c88abb0310042186bab14e8ba9a1cff8faedd49a1ab6352eaaf416af780ff94ffe3d6aa057f704dca0d4f7c118b5ae44c
|
data/README.md
CHANGED
@@ -26,8 +26,8 @@ android_sdk_update(
|
|
26
26
|
)
|
27
27
|
|
28
28
|
android_sdk_update(
|
29
|
-
compile_sdk_version: "
|
30
|
-
build_tools_version: "
|
29
|
+
compile_sdk_version: "27",
|
30
|
+
build_tools_version: "27.0.2",
|
31
31
|
additional_packages: ["extras;google;m2repository", "extras;android;m2repository"]
|
32
32
|
)
|
33
33
|
```
|
@@ -41,8 +41,8 @@ First we set these versions in the property file
|
|
41
41
|
**gradle.properties**
|
42
42
|
|
43
43
|
```java
|
44
|
-
compile_sdk_version=
|
45
|
-
build_tools_version=
|
44
|
+
compile_sdk_version=27
|
45
|
+
build_tools_version=27.0.2
|
46
46
|
```
|
47
47
|
|
48
48
|
Now we can reference them in our gradle project
|
@@ -1,57 +1,90 @@
|
|
1
1
|
module Fastlane
|
2
2
|
module Actions
|
3
|
-
module SharedValues
|
4
|
-
ANDROID_SDK_DIR = :ANDROID_SDK_DIR
|
5
|
-
end
|
6
|
-
|
7
3
|
class AndroidSdkUpdateAction < Action
|
8
4
|
def self.run(params)
|
9
5
|
# Install Android-SDK via brew
|
10
|
-
|
11
|
-
|
12
|
-
Actions::BrewAction.run(command: "install Caskroom/cask/android-sdk")
|
13
|
-
elsif FastlaneCore::Helper.linux?
|
14
|
-
Actions::BrewAction.run(command: "install android-sdk")
|
15
|
-
else
|
16
|
-
UI.user_error! 'Your OS is currently not supported.'
|
17
|
-
end
|
6
|
+
sdk_path = determine_sdk(params)
|
7
|
+
sdk_manager = File.expand_path("tools/bin/sdkmanager", sdk_path)
|
18
8
|
|
9
|
+
# Define required packages
|
19
10
|
require 'java-properties'
|
20
11
|
properties = File.exist?("#{Dir.pwd}/gradle.properties") ? JavaProperties.load("#{Dir.pwd}/gradle.properties") : {}
|
21
12
|
tools_version = params[:build_tools_version] || properties[:build_tools_version] || UI.user_error!('No build tools version defined.')
|
22
13
|
sdk_version = params[:compile_sdk_version] || properties[:compile_sdk_version] || UI.user_error!('No compile sdk version defined.')
|
23
14
|
|
24
|
-
# Determine SDK dir and the sdkmanager
|
25
|
-
sdk_path = File.realpath("../..", FastlaneCore::CommandExecutor.which("android"))
|
26
|
-
sdk_manager = File.expand_path("tools/bin/sdkmanager", sdk_path)
|
27
|
-
Actions.lane_context[SharedValues::ANDROID_SDK_DIR] = sdk_path
|
28
|
-
|
29
15
|
packages = params[:additional_packages]
|
30
16
|
packages << "platforms;android-#{sdk_version}"
|
31
17
|
packages << "build-tools;#{tools_version}"
|
32
18
|
packages << "tools"
|
33
19
|
packages << "platform-tools"
|
34
20
|
|
35
|
-
# Install
|
21
|
+
# Install Packages
|
36
22
|
UI.header("Install Android-SDK packages")
|
37
23
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
24
|
+
if params[:update_installed_packages]
|
25
|
+
UI.message("Updating all installed packages")
|
26
|
+
# Ensure all installed packages are updated
|
27
|
+
FastlaneCore::CommandExecutor.execute(command: "yes | #{sdk_manager} --update",
|
28
|
+
print_all: true,
|
29
|
+
print_command: false)
|
42
30
|
end
|
43
31
|
|
32
|
+
UI.message("Installing packages...")
|
44
33
|
packages.each { |package| UI.message("• #{package}") }
|
45
|
-
FastlaneCore::CommandExecutor.execute(command: "
|
34
|
+
FastlaneCore::CommandExecutor.execute(command: "yes | #{sdk_manager} '#{packages.join("' '")}'",
|
46
35
|
print_all: true,
|
47
36
|
print_command: false)
|
48
37
|
|
38
|
+
# Accept licenses for all available packages
|
39
|
+
UI.important("Accepting licenses on your behalf!")
|
40
|
+
FastlaneCore::CommandExecutor.execute(command: "yes | #{sdk_manager} --licenses",
|
41
|
+
print_all: true,
|
42
|
+
print_command: false)
|
43
|
+
|
49
44
|
if params[:override_local_properties]
|
50
45
|
UI.message("Override local.properties")
|
51
46
|
JavaProperties.write({ :"sdk.dir" => sdk_path }, "#{Dir.pwd}/local.properties")
|
52
47
|
end
|
53
48
|
end
|
54
49
|
|
50
|
+
def self.determine_sdk(params)
|
51
|
+
# on mac
|
52
|
+
if FastlaneCore::Helper.mac?
|
53
|
+
require 'fastlane/plugin/brew'
|
54
|
+
Actions::BrewAction.run(command: "list --cask --versions android-sdk || brew install --cask android-sdk")
|
55
|
+
sdk_path = File.realpath("../../..", FastlaneCore::CommandExecutor.which("sdkmanager"))
|
56
|
+
|
57
|
+
# on linux
|
58
|
+
elsif FastlaneCore::Helper.linux?
|
59
|
+
sdk_path = File.expand_path(params[:linux_sdk_dir])
|
60
|
+
if File.exist?("#{sdk_path}/tools/bin/sdkmanager")
|
61
|
+
UI.message("Using existing android-sdk at #{sdk_path}")
|
62
|
+
else
|
63
|
+
UI.message("Downloading android-sdk to #{sdk_path}")
|
64
|
+
download_and_extract_sdk(params[:linux_sdk_download_url], sdk_path)
|
65
|
+
end
|
66
|
+
|
67
|
+
else
|
68
|
+
UI.user_error! 'Your OS is currently not supported.'
|
69
|
+
end
|
70
|
+
|
71
|
+
ENV['ANDROID_SDK_ROOT'] = sdk_path
|
72
|
+
sdk_path
|
73
|
+
end
|
74
|
+
|
75
|
+
def self.download_and_extract_sdk(download_url, sdk_path)
|
76
|
+
FastlaneCore::CommandExecutor.execute(command: "wget -O /tmp/android-sdk-tools.zip #{download_url}",
|
77
|
+
print_all: true,
|
78
|
+
print_command: true)
|
79
|
+
FastlaneCore::CommandExecutor.execute(command: "unzip -qo /tmp/android-sdk-tools.zip -d #{sdk_path}",
|
80
|
+
print_all: true,
|
81
|
+
print_command: true)
|
82
|
+
ensure
|
83
|
+
FastlaneCore::CommandExecutor.execute(command: "rm -f /tmp/android-sdk-tools.zip",
|
84
|
+
print_all: true,
|
85
|
+
print_command: true)
|
86
|
+
end
|
87
|
+
|
55
88
|
#####################################################
|
56
89
|
# @!group Documentation
|
57
90
|
#####################################################
|
@@ -102,13 +135,22 @@ module Fastlane
|
|
102
135
|
env_name: "FL_ANDROID_SDK_OVERRIDE_LOCAL_PROPERTIES",
|
103
136
|
description: "Set the sdk-dir in 'local.properties' so Gradle finds the Android home",
|
104
137
|
is_string: false,
|
105
|
-
default_value: true)
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
138
|
+
default_value: true),
|
139
|
+
FastlaneCore::ConfigItem.new(key: :update_installed_packages,
|
140
|
+
env_name: "FL_ANDROID_SDK_UPDATE_INSTALLED_PACKAGES",
|
141
|
+
description: "Update all installed packages to the latest versions",
|
142
|
+
is_string: false,
|
143
|
+
default_value: false),
|
144
|
+
FastlaneCore::ConfigItem.new(key: :linux_sdk_dir,
|
145
|
+
env_name: "FL_ANDROID_LINUX_SDK_DIR",
|
146
|
+
description: "Directory for Android SDK on Linux",
|
147
|
+
optional: true,
|
148
|
+
default_value: ENV['ANDROID_HOME'] || ENV['ANDROID_SDK'] || ENV['ANDROID_SDK_ROOT'] || "~/.android-sdk"),
|
149
|
+
FastlaneCore::ConfigItem.new(key: :linux_sdk_download_url,
|
150
|
+
env_name: "FL_ANDROID_LINUX_SDK_DOWNLOAD_URL",
|
151
|
+
description: "Download URL for Android SDK on Linux",
|
152
|
+
optional: true,
|
153
|
+
default_value: "https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip")
|
112
154
|
]
|
113
155
|
end
|
114
156
|
|
metadata
CHANGED
@@ -1,46 +1,46 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane-plugin-android_sdk_update
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Philipp Burgk
|
8
8
|
- Michael Ruhl
|
9
|
-
autorequire:
|
9
|
+
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2022-02-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
15
|
+
name: fastlane-plugin-brew
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: 0.
|
20
|
+
version: 0.1.1
|
21
21
|
type: :runtime
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: 0.
|
27
|
+
version: 0.1.1
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
|
-
name:
|
29
|
+
name: java-properties
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
32
|
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: 0.
|
34
|
+
version: 0.3.0
|
35
35
|
type: :runtime
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: 0.
|
41
|
+
version: 0.3.0
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
|
-
name:
|
43
|
+
name: bundler
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
46
|
- - ">="
|
@@ -54,21 +54,21 @@ dependencies:
|
|
54
54
|
- !ruby/object:Gem::Version
|
55
55
|
version: '0'
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
|
-
name:
|
57
|
+
name: fastlane
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
60
|
- - ">="
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version:
|
62
|
+
version: 2.91.0
|
63
63
|
type: :development
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
67
|
- - ">="
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
69
|
+
version: 2.91.0
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
|
-
name:
|
71
|
+
name: pry
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
74
|
- - ">="
|
@@ -96,7 +96,7 @@ dependencies:
|
|
96
96
|
- !ruby/object:Gem::Version
|
97
97
|
version: '0'
|
98
98
|
- !ruby/object:Gem::Dependency
|
99
|
-
name:
|
99
|
+
name: rspec
|
100
100
|
requirement: !ruby/object:Gem::Requirement
|
101
101
|
requirements:
|
102
102
|
- - ">="
|
@@ -110,20 +110,20 @@ dependencies:
|
|
110
110
|
- !ruby/object:Gem::Version
|
111
111
|
version: '0'
|
112
112
|
- !ruby/object:Gem::Dependency
|
113
|
-
name:
|
113
|
+
name: rubocop
|
114
114
|
requirement: !ruby/object:Gem::Requirement
|
115
115
|
requirements:
|
116
116
|
- - ">="
|
117
117
|
- !ruby/object:Gem::Version
|
118
|
-
version:
|
118
|
+
version: '0'
|
119
119
|
type: :development
|
120
120
|
prerelease: false
|
121
121
|
version_requirements: !ruby/object:Gem::Requirement
|
122
122
|
requirements:
|
123
123
|
- - ">="
|
124
124
|
- !ruby/object:Gem::Version
|
125
|
-
version:
|
126
|
-
description:
|
125
|
+
version: '0'
|
126
|
+
description:
|
127
127
|
email:
|
128
128
|
- philipp.burgk@novatec-gmbh.de
|
129
129
|
- michael.ruhl@novatec-gmbh.de
|
@@ -141,7 +141,7 @@ homepage: https://github.com/NovaTecConsulting/fastlane-plugin-android_sdk_updat
|
|
141
141
|
licenses:
|
142
142
|
- MIT
|
143
143
|
metadata: {}
|
144
|
-
post_install_message:
|
144
|
+
post_install_message:
|
145
145
|
rdoc_options: []
|
146
146
|
require_paths:
|
147
147
|
- lib
|
@@ -156,9 +156,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
156
156
|
- !ruby/object:Gem::Version
|
157
157
|
version: '0'
|
158
158
|
requirements: []
|
159
|
-
|
160
|
-
|
161
|
-
signing_key:
|
159
|
+
rubygems_version: 3.0.8
|
160
|
+
signing_key:
|
162
161
|
specification_version: 4
|
163
162
|
summary: Install required Android-SDK packages
|
164
163
|
test_files: []
|