mobo 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/mobo/android.rb +34 -45
- data/lib/mobo/system_setup.rb +6 -0
- data/lib/mobo.rb +6 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ec492a01d8e2c5e073f564253929c3de1bea2e14
|
4
|
+
data.tar.gz: 847a8263a0f14aa1d8bbf6e36279788853d5d5c6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 371938188360908000aa6eb0415c35b955c1a4be1495627a40804f65528eb068db216d668a3d832c29acdbd7c2aa7dea738dc475b4f6215231503349c10338a7
|
7
|
+
data.tar.gz: 343f1fb59c6b9ea4a68b1af77b3b530446c0c81fa97aa4dd92d9bec3c686f20cedc7aeae3a8c51aa3a6466055e2794c11a480bb012ef0d818b554ad1b5857434
|
data/lib/mobo/android.rb
CHANGED
@@ -4,57 +4,44 @@ module Mobo
|
|
4
4
|
|
5
5
|
class << self
|
6
6
|
def exists?
|
7
|
-
if Mobo.
|
8
|
-
|
9
|
-
# if exists? isn't true straight away, check if ANDROID_HOME is set, and try and
|
10
|
-
# fix the issue
|
11
|
-
elsif ENV['ANDROID_HOME'] and File.exists?(ENV['ANDROID_HOME'] + '/tools/android')
|
12
|
-
add_to_path(ENV['ANDROID_HOME'])
|
13
|
-
Mobo.cmd("which android")
|
7
|
+
if Dir.exists?(Mobo.home_dir) and not Dir["#{Mobo.home_dir}/**/tools/android"].empty?
|
8
|
+
add_to_path
|
14
9
|
end
|
10
|
+
Mobo.cmd("which android | grep #{Mobo.home_dir}")
|
15
11
|
end
|
16
12
|
|
13
|
+
# as a default, install in ~/.mobo
|
17
14
|
def install
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
15
|
+
unless File.exists?(Mobo.android_home)
|
16
|
+
if SystemCheck.ubuntu?
|
17
|
+
Mobo.cmd("curl -o #{path}/android-sdk_r24.3.4-linux.tgz http://dl.google.com/android/android-sdk_r24.3.4-linux.tgz")
|
18
|
+
Mobo.cmd("tar -xf #{path}/android-sdk_r24.3.4-linux.tgz -C #{path}")
|
19
|
+
Mobo.cmd("mv #{path}/android-sdk-linux #{Mobo.android_home}")
|
20
|
+
elsif SystemCheck.osx?
|
21
|
+
Mobo.cmd("curl -o #{path}/android-sdk_r24.3.4-macosx.zip http://dl.google.com/android/android-sdk_r24.3.4-macosx.zip")
|
22
|
+
Mobo.cmd("unzip #{path}/android-sdk_r24.3.4-macosx.zip -d #{path}")
|
23
|
+
Mobo.cmd("mv #{path}/android-sdk-macosx #{Mobo.android_home}")
|
24
|
+
else
|
25
|
+
Mobo.log.error("Platform not yet supported! Please raise a request with the project to support it.")
|
26
|
+
end
|
30
27
|
end
|
28
|
+
add_to_path
|
31
29
|
end
|
32
30
|
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
android_tools = android_home + '/tools'
|
39
|
-
unless ENV['PATH'].match(/#{android_home}/)
|
40
|
-
ENV['ANDROID_HOME'] = android_home
|
41
|
-
ENV['PATH'] += ":#{android_tools}"
|
31
|
+
def add_to_path
|
32
|
+
unless ENV['PATH'].match(/^#{Mobo.android_home}\/tools/)
|
33
|
+
ENV['ANDROID_HOME'] = Mobo.android_home
|
34
|
+
ENV['PATH'] = "#{Mobo.android_home}/tools:#{ENV['PATH']}"
|
35
|
+
Mobo.log.debug("$PATH set to '#{ENV['PATH']}' to set up android")
|
42
36
|
end
|
43
|
-
unless Mobo.cmd("grep -i ANDROID_HOME ~/.bash_profile")
|
44
|
-
Mobo.cmd("echo 'export ANDROID_HOME=#{android_home}' >> ~/.bash_profile")
|
45
|
-
Mobo.cmd("echo 'export PATH=\$PATH:#{android_tools}' >> ~/.bash_profile")
|
46
|
-
Mobo.log.info("ANDROID_HOME and PATH env variables have been updated.
|
47
|
-
Start a new terminal session for them to take effect")
|
48
|
-
end
|
49
|
-
raise "Setting ANDROID_HOME and PATH failed" unless self.exists?
|
50
37
|
end
|
51
38
|
|
52
39
|
def package_exists?(package)
|
53
|
-
Mobo.cmd("android list sdk --extended --no-ui --all | grep '
|
40
|
+
Mobo.cmd("android list sdk --extended --no-ui --all | grep '#{package}'")
|
54
41
|
end
|
55
42
|
|
56
43
|
def install_package(package)
|
57
|
-
Mobo.cmd("echo y | android update sdk --no-ui --all --filter #{package}
|
44
|
+
Mobo.cmd("echo y | android update sdk --no-ui --all --filter #{package}")
|
58
45
|
end
|
59
46
|
end
|
60
47
|
|
@@ -70,6 +57,8 @@ module Mobo
|
|
70
57
|
records.each do |record|
|
71
58
|
return record if record.match(/#{target}/)
|
72
59
|
end
|
60
|
+
# return empty string if nothing is found
|
61
|
+
return ""
|
73
62
|
end
|
74
63
|
|
75
64
|
def abi_package(target, abi)
|
@@ -111,21 +100,21 @@ module Mobo
|
|
111
100
|
class << self
|
112
101
|
|
113
102
|
def add_to_path
|
114
|
-
if !ENV['PATH'].match(
|
115
|
-
ENV['PATH']
|
116
|
-
Mobo.cmd("echo 'export PATH=\$PATH:#{ENV['ANDROID_HOME']}/platform-tools' >> ~/.bash_profile")
|
117
|
-
Mobo.log.debug("ENV['PATH'] set to #{ENV['PATH']}")
|
118
|
-
Mobo.log.info("PATH env variables has been updated.
|
119
|
-
Start a new terminal session for it to take effect")
|
103
|
+
if !ENV['PATH'].match(/#{Mobo.android_home}\/platform-tools/)
|
104
|
+
ENV['PATH'] = "#{Mobo.android_home}/platform-tools:#{ENV['PATH']}"
|
120
105
|
end
|
106
|
+
Mobo.log.debug("$PATH set to #{ENV['PATH']}")
|
121
107
|
end
|
122
108
|
|
123
109
|
def exists?
|
124
|
-
Mobo.
|
110
|
+
if Dir.exists?(Mobo.home_dir) and not Dir["#{Mobo.android_home}/platform-tools/adb"].empty?
|
111
|
+
add_to_path
|
112
|
+
end
|
113
|
+
Mobo.cmd("which adb | grep #{Mobo.home_dir}")
|
125
114
|
end
|
126
115
|
|
127
116
|
def install
|
128
|
-
Mobo.cmd("echo yes | android update sdk --all --no-ui --filter platform-tools
|
117
|
+
Mobo.cmd("echo yes | android update sdk --all --no-ui --filter platform-tools")
|
129
118
|
add_to_path
|
130
119
|
raise "Installing adb failed" unless self.exists?
|
131
120
|
end
|
data/lib/mobo/system_setup.rb
CHANGED
@@ -8,6 +8,12 @@ module Mobo
|
|
8
8
|
end
|
9
9
|
end
|
10
10
|
|
11
|
+
def mobo
|
12
|
+
Mobo.home_dir = File.expand_path("~/.mobo")
|
13
|
+
Mobo.log.info("Using #{Mobo.home_dir} as home directory. Android will be installed here")
|
14
|
+
Dir.mkdir(Mobo.home_dir) unless File.exists?(Mobo.home_dir)
|
15
|
+
end
|
16
|
+
|
11
17
|
end
|
12
18
|
end
|
13
19
|
end
|
data/lib/mobo.rb
CHANGED
@@ -8,7 +8,7 @@ require_relative 'mobo/system_setup'
|
|
8
8
|
|
9
9
|
module Mobo
|
10
10
|
class << self
|
11
|
-
attr_accessor :log, :data, :devices
|
11
|
+
attr_accessor :log, :data, :devices, :home_dir
|
12
12
|
|
13
13
|
def log
|
14
14
|
unless @log
|
@@ -18,6 +18,10 @@ module Mobo
|
|
18
18
|
@log
|
19
19
|
end
|
20
20
|
|
21
|
+
def android_home
|
22
|
+
@home_dir + '/android-sdk'
|
23
|
+
end
|
24
|
+
|
21
25
|
def cmd(command)
|
22
26
|
log.debug(command)
|
23
27
|
system(command)
|
@@ -63,6 +67,7 @@ module Mobo
|
|
63
67
|
end
|
64
68
|
|
65
69
|
def system_checks
|
70
|
+
SystemSetup.mobo
|
66
71
|
SystemSetup.base_libraries
|
67
72
|
SystemCheck.android?
|
68
73
|
SystemCheck.adb?
|