ruboto 0.12.0.rc.0 → 0.12.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile.lock +2 -2
- data/Rakefile +56 -6
- data/assets/rakelib/ruboto.rake +12 -19
- data/lib/ruboto/util/setup.rb +159 -38
- data/lib/ruboto/util/update.rb +14 -8
- data/lib/ruboto/version.rb +1 -1
- data/test/activity/option_menu_activity.rb +3 -3
- metadata +25 -36
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: e168f6e2a533fb4ab7c97406bed3abc55d9b2f8a
|
4
|
+
data.tar.gz: 617d03520fe138e398425e6e959524f98def6900
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: c61a80b14c92eb6fa98ef657928b8ba720cbde9dbd5a2c5b1d00926b0ea2be3d1809a62fb105f9f38ea261a6cfc9100bb5b8f7540e0410e7854f652ffe985fc5
|
7
|
+
data.tar.gz: 221be24b4f6ede0f49c4d6c9f05dfddd022b3a82d966998f94fb66800e0aec36ae2b0403959bede0b51d972df4b5bd9f36fded23e41a23f0296574185f482756
|
data/Gemfile.lock
CHANGED
data/Rakefile
CHANGED
@@ -136,6 +136,45 @@ task :release_docs do
|
|
136
136
|
cat ||= 'Other'
|
137
137
|
cat
|
138
138
|
end
|
139
|
+
|
140
|
+
puts '=' * 80
|
141
|
+
puts
|
142
|
+
puts <<EOF
|
143
|
+
Subject: [ANN] Ruboto #{milestone_name} release candidate
|
144
|
+
|
145
|
+
Hi all!
|
146
|
+
|
147
|
+
The Ruboto #{milestone_name} release candidate is now available.
|
148
|
+
|
149
|
+
#{milestone_description}
|
150
|
+
|
151
|
+
As always we need your help and feedback to ensure the quality of the release. Please install the release candidate using
|
152
|
+
|
153
|
+
[sudo] gem install ruboto --pre
|
154
|
+
|
155
|
+
and test your apps after updating with
|
156
|
+
|
157
|
+
ruboto update app
|
158
|
+
|
159
|
+
If you have an app released for public consumption, please let us know. Our developer program seeks to help developers getting started using Ruboto, and ensure good quality across Ruboto releases. Currently we are supporting the apps listed here:
|
160
|
+
|
161
|
+
https://github.com/ruboto/ruboto/wiki/Promoted-apps
|
162
|
+
|
163
|
+
If you are just starting with Ruboto, but still want to contribute, please select and complete one of the tutorials and mark it with the version of Ruboto you used.
|
164
|
+
|
165
|
+
https://github.com/ruboto/ruboto/wiki/Tutorials-and-examples
|
166
|
+
|
167
|
+
If you find a bug or have a suggestion, please file an issue in the issue tracker:
|
168
|
+
|
169
|
+
https://github.com/ruboto/ruboto/issues
|
170
|
+
|
171
|
+
--
|
172
|
+
The Ruboto Team
|
173
|
+
http://ruboto.org/
|
174
|
+
|
175
|
+
EOF
|
176
|
+
|
177
|
+
puts '=' * 80
|
139
178
|
puts
|
140
179
|
puts "Subject: [ANN] Ruboto #{milestone_name} released!"
|
141
180
|
puts
|
@@ -158,15 +197,26 @@ task :release_docs do
|
|
158
197
|
puts <<EOF
|
159
198
|
Installation:
|
160
199
|
|
161
|
-
To use Ruboto, you need to install a
|
200
|
+
To use Ruboto, you need to install a Ruby implementation. Then do (possibly as root)
|
162
201
|
|
163
202
|
gem install ruboto
|
164
|
-
|
203
|
+
ruboto setup
|
165
204
|
|
166
205
|
To create a project do
|
167
206
|
|
168
207
|
ruboto gen app --package <your.package.name>
|
208
|
+
cd <project directory>
|
209
|
+
ruboto setup
|
210
|
+
|
211
|
+
To run an emulator for your project
|
169
212
|
|
213
|
+
cd <project directory>
|
214
|
+
rake emulator
|
215
|
+
|
216
|
+
To run your project
|
217
|
+
|
218
|
+
cd <project directory>
|
219
|
+
rake install start
|
170
220
|
|
171
221
|
You can find an introductory tutorial at https://github.com/ruboto/ruboto/wiki
|
172
222
|
|
@@ -180,7 +230,7 @@ The Ruboto Team
|
|
180
230
|
http://ruboto.org/
|
181
231
|
|
182
232
|
EOF
|
183
|
-
|
233
|
+
puts '=' * 80
|
184
234
|
end
|
185
235
|
|
186
236
|
desc 'Fetch download stats form rubygems.org'
|
@@ -262,8 +312,8 @@ end
|
|
262
312
|
|
263
313
|
desc 'Push the gem to RubyGems'
|
264
314
|
task :release => [:clean, :gem] do
|
265
|
-
output = `git status --porcelain`
|
266
|
-
raise "Workspace not clean!\n#{output}" unless output.empty?
|
315
|
+
#output = `git status --porcelain`
|
316
|
+
#raise "Workspace not clean!\n#{output}" unless output.empty?
|
267
317
|
sh "git tag #{Ruboto::VERSION}"
|
268
318
|
sh 'git push --tags'
|
269
319
|
sh "gem push #{GEM_FILE}"
|
@@ -272,7 +322,7 @@ task :release => [:clean, :gem] do
|
|
272
322
|
sh "git rm #{examples_glob}" unless Dir[examples_glob].empty?
|
273
323
|
Rake::Task[:example].invoke
|
274
324
|
sh "git add #{EXAMPLE_FILE}"
|
275
|
-
sh "git commit -m '* Added example app for Ruboto #{Ruboto::VERSION} tools r#{Ruboto::
|
325
|
+
sh "git commit -m '* Added example app for Ruboto #{Ruboto::VERSION} tools r#{Ruboto::SdkLocations::ANDROID_TOOLS_REVISION}' \"#{examples_glob}\""
|
276
326
|
sh 'git push'
|
277
327
|
end
|
278
328
|
|
data/assets/rakelib/ruboto.rake
CHANGED
@@ -48,29 +48,23 @@ if new_dx_content =~ xmx_pattern &&
|
|
48
48
|
($1.to_i * 1024 ** {'M' => 2, 'G' => 3, 'T' => 4}[$2.upcase]) < MINIMUM_DX_HEAP_SIZE*1024**2
|
49
49
|
puts "Increasing max heap space from #$1#$2 to #{MINIMUM_DX_HEAP_SIZE}M in #{dx_filename}"
|
50
50
|
new_dx_content.sub!(xmx_pattern, %Q{defaultMx="-Xmx#{MINIMUM_DX_HEAP_SIZE}M"})
|
51
|
-
File.open(dx_filename, 'w') { |f| f << new_dx_content } rescue puts "\n!!! Unable to increase dx heap size !!!\n\n"
|
52
|
-
puts new_dx_content.lines.grep(xmx_pattern)
|
53
|
-
end
|
54
|
-
|
55
|
-
def manifest;
|
56
|
-
@manifest ||= REXML::Document.new(File.read(MANIFEST_FILE))
|
57
|
-
end
|
58
51
|
|
59
|
-
|
60
|
-
|
61
|
-
|
52
|
+
# FIXME(uwe): For travis debugging Remove when travis is stable.
|
53
|
+
new_dx_content.sub!(/^exec/, "free\necho Virtual:\nps -e -ovsize=,args= | sort -b -k1,1n | tail -n10\necho RSS:\nps -e -orss=,args= | sort -b -k1,1n | tail -n10\necho $javaOpts\necho $@\nexec") if RbConfig::CONFIG['host_os'] =~ /linux/
|
54
|
+
# EMXIF
|
62
55
|
|
63
|
-
|
64
|
-
@build_project_name ||= REXML::Document.new(File.read('build.xml')).elements['project'].attribute(:name).value
|
65
|
-
end
|
56
|
+
File.open(dx_filename, 'w') { |f| f << new_dx_content } rescue puts "\n!!! Unable to increase dx heap size !!!\n\n"
|
66
57
|
|
67
|
-
|
68
|
-
|
58
|
+
# FIXME(uwe): For travis debugging Remove when travis is stable.
|
59
|
+
puts new_dx_content.lines.grep(xmx_pattern)
|
60
|
+
# EMXIF
|
69
61
|
end
|
70
62
|
|
71
|
-
def
|
72
|
-
|
73
|
-
end
|
63
|
+
def manifest; @manifest ||= REXML::Document.new(File.read(MANIFEST_FILE)) end
|
64
|
+
def package; manifest.root.attribute('package') end
|
65
|
+
def build_project_name; @build_project_name ||= REXML::Document.new(File.read('build.xml')).elements['project'].attribute(:name).value end
|
66
|
+
def scripts_path; @sdcard_path ||= "/mnt/sdcard/Android/data/#{package}/files/scripts" end
|
67
|
+
def app_files_path; @app_files_path ||= "/data/data/#{package}/files" end
|
74
68
|
|
75
69
|
PROJECT_DIR = File.expand_path('..', File.dirname(__FILE__))
|
76
70
|
UPDATE_MARKER_FILE = File.join(PROJECT_DIR, 'bin', 'LAST_UPDATE')
|
@@ -573,7 +567,6 @@ def build_apk(t, release)
|
|
573
567
|
if release
|
574
568
|
sh "#{ANT_CMD} release"
|
575
569
|
else
|
576
|
-
p RbConfig::CONFIG['host_os']
|
577
570
|
sh 'free' if RbConfig::CONFIG['host_os'] =~ /linux/
|
578
571
|
sh "#{ANT_CMD} debug"
|
579
572
|
end
|
data/lib/ruboto/util/setup.rb
CHANGED
@@ -3,6 +3,7 @@ require 'ruboto/sdk_versions'
|
|
3
3
|
module Ruboto
|
4
4
|
module Util
|
5
5
|
module Setup
|
6
|
+
include Ruboto::SdkVersions
|
6
7
|
# Todo: Find a way to look this up
|
7
8
|
ANDROID_SDK_VERSION = '21.1'
|
8
9
|
|
@@ -12,7 +13,7 @@ module Ruboto
|
|
12
13
|
#
|
13
14
|
|
14
15
|
def setup_ruboto
|
15
|
-
check =
|
16
|
+
check = check_all
|
16
17
|
|
17
18
|
if not check and RbConfig::CONFIG['host_os'] == /^windows(.*)/
|
18
19
|
puts "\nWe can't directly install Android on Windows."
|
@@ -20,10 +21,10 @@ module Ruboto
|
|
20
21
|
puts 'please file an issue at https://github.com/ruboto/ruboto/issues'
|
21
22
|
puts
|
22
23
|
return
|
23
|
-
|
24
|
+
end
|
24
25
|
|
25
|
-
|
26
|
-
|
26
|
+
install_all if not check
|
27
|
+
config_path
|
27
28
|
end
|
28
29
|
|
29
30
|
#########################################
|
@@ -33,9 +34,12 @@ module Ruboto
|
|
33
34
|
|
34
35
|
def android_package_os_id
|
35
36
|
case RbConfig::CONFIG['host_os']
|
36
|
-
when /^darwin(.*)/ then
|
37
|
-
|
38
|
-
when /^
|
37
|
+
when /^darwin(.*)/ then
|
38
|
+
'macosx'
|
39
|
+
when /^linux(.*)/ then
|
40
|
+
'linux'
|
41
|
+
when /^mswin32|windows(.*)/ then
|
42
|
+
'windows'
|
39
43
|
else
|
40
44
|
## Error
|
41
45
|
nil
|
@@ -43,23 +47,30 @@ module Ruboto
|
|
43
47
|
end
|
44
48
|
|
45
49
|
def android_package_directory
|
46
|
-
|
50
|
+
if RbConfig::CONFIG['host_os'] =~ /^mswin32|windows(.*)/
|
51
|
+
'AppData/Local/Android/android-sdk'
|
52
|
+
else
|
53
|
+
"android-sdk-#{android_package_os_id}"
|
54
|
+
end
|
47
55
|
end
|
48
56
|
|
49
57
|
def api_level
|
50
58
|
begin
|
51
59
|
return $1 if File.read('project.properties') =~ /target=(.*)/
|
52
60
|
rescue
|
61
|
+
# ignored
|
53
62
|
end
|
54
|
-
|
55
|
-
Ruboto::SdkVersions::DEFAULT_TARGET_SDK
|
63
|
+
DEFAULT_TARGET_SDK
|
56
64
|
end
|
57
65
|
|
58
66
|
def path_setup_file
|
59
67
|
case RbConfig::CONFIG['host_os']
|
60
|
-
when /^darwin(.*)/ then
|
61
|
-
|
62
|
-
when /^
|
68
|
+
when /^darwin(.*)/ then
|
69
|
+
'.profile'
|
70
|
+
when /^linux(.*)/ then
|
71
|
+
'.bashrc'
|
72
|
+
when /^mswin32|windows(.*)/ then
|
73
|
+
'windows'
|
63
74
|
## Error
|
64
75
|
else
|
65
76
|
## Error
|
@@ -94,19 +105,19 @@ module Ruboto
|
|
94
105
|
@javac_loc = check_for('javac', 'Java Compiler')
|
95
106
|
@ant_loc = check_for('ant', 'Apache ANT')
|
96
107
|
@android_loc = check_for('android', 'Android Package Installer',
|
97
|
-
|
108
|
+
File.join(File.expand_path('~'), android_package_directory, 'tools', 'android'))
|
98
109
|
@emulator_loc = check_for('emulator', 'Android Emulator')
|
99
110
|
@adb_loc = check_for('adb', 'Android SDK Command adb',
|
100
|
-
|
111
|
+
File.join(File.expand_path('~'), android_package_directory, 'platform-tools', 'adb'))
|
101
112
|
@dx_loc = check_for('dx', 'Android SDK Command dx')
|
102
113
|
check_for_android_platform
|
103
114
|
|
104
115
|
puts
|
105
116
|
if @java_loc && @javac_loc && @adb_loc && @dx_loc && @emulator_loc && @platform_sdk_loc
|
106
|
-
puts " *** Ruboto setup is OK! ***\n"
|
117
|
+
puts " *** Ruboto setup is OK! ***\n\n"
|
107
118
|
true
|
108
119
|
else
|
109
|
-
puts " !!! Ruboto setup is NOT OK !!!\n"
|
120
|
+
puts " !!! Ruboto setup is NOT OK !!!\n\n"
|
110
121
|
false
|
111
122
|
end
|
112
123
|
end
|
@@ -121,7 +132,7 @@ module Ruboto
|
|
121
132
|
@missing_paths << "#{File.dirname(rv)}"
|
122
133
|
end
|
123
134
|
|
124
|
-
puts "#{pretty_name || cmd}: " + (rv ?
|
135
|
+
puts "#{pretty_name || cmd}: " + (rv ? "Found at #{rv}" : 'Not found')
|
125
136
|
rv
|
126
137
|
end
|
127
138
|
|
@@ -145,11 +156,95 @@ module Ruboto
|
|
145
156
|
#
|
146
157
|
|
147
158
|
def install_all
|
159
|
+
install_java
|
148
160
|
install_android
|
149
161
|
install_adb
|
150
162
|
install_platform
|
151
163
|
end
|
152
164
|
|
165
|
+
def install_java
|
166
|
+
case RbConfig::CONFIG['host_os']
|
167
|
+
when /^darwin(.*)/
|
168
|
+
when /^linux(.*)/
|
169
|
+
when /^mswin32|windows(.*)/
|
170
|
+
# FIXME(uwe): Detect and warn if we are not "elevated" with adminstrator rights.
|
171
|
+
#set IS_ELEVATED=0
|
172
|
+
#whoami /groups | findstr /b /c:"Mandatory Label\High Mandatory Level" | findstr /c:"Enabled group" > nul: && set IS_ELEVATED=1
|
173
|
+
#if %IS_ELEVATED%==0 (
|
174
|
+
# echo You must run the command prompt as administrator to install.
|
175
|
+
# exit /b 1
|
176
|
+
#)
|
177
|
+
|
178
|
+
java_installer_file_name = 'jdk-7-windows-x64.exe'
|
179
|
+
require 'net/http'
|
180
|
+
require 'net/https'
|
181
|
+
resp = nil
|
182
|
+
@cookies = ['gpw_e24=http%3A%2F%2Fwww.oracle.com']
|
183
|
+
puts 'Downloading...'
|
184
|
+
Net::HTTP.start('download.oracle.com') do |http|
|
185
|
+
resp, _ = http.get("/otn-pub/java/jdk/7/#{java_installer_file_name}", cookie_header)
|
186
|
+
resp.body
|
187
|
+
end
|
188
|
+
resp = process_response(resp)
|
189
|
+
open(java_installer_file_name, 'wb') { |file| file.write(resp.body) }
|
190
|
+
puts "Installing #{java_installer_file_name}..."
|
191
|
+
system java_installer_file_name
|
192
|
+
raise "Unexpected exit code while installing Java: #{$?}" unless $? == 0
|
193
|
+
FileUtils.rm_f java_installer_file_name
|
194
|
+
return
|
195
|
+
else
|
196
|
+
raise "Unknown host os: #{RbConfig::CONFIG['host_os']}"
|
197
|
+
end
|
198
|
+
end
|
199
|
+
|
200
|
+
def cookie_header
|
201
|
+
return {} if @cookies.empty?
|
202
|
+
{'Cookie' => @cookies.join(';')}
|
203
|
+
end
|
204
|
+
private :cookie_header
|
205
|
+
|
206
|
+
def store_cookie(response)
|
207
|
+
return unless response['set-cookie']
|
208
|
+
header = response['set-cookie']
|
209
|
+
header.gsub! /expires=.{3},/, ''
|
210
|
+
header.split(',').each do |cookie|
|
211
|
+
cookie_value = cookie.strip.slice(/^.*?;/).chomp(';')
|
212
|
+
if cookie_value =~ /^(.*?)=(.*)$/
|
213
|
+
name = $1
|
214
|
+
@cookies.delete_if { |c| c =~ /^#{name}=/ }
|
215
|
+
end
|
216
|
+
@cookies << cookie_value unless cookie_value =~ /^.*?=$/
|
217
|
+
end
|
218
|
+
@cookies.uniq!
|
219
|
+
end
|
220
|
+
private :store_cookie
|
221
|
+
|
222
|
+
def process_response(response)
|
223
|
+
store_cookie(response)
|
224
|
+
if response.code == '302'
|
225
|
+
redirect_url = response['location']
|
226
|
+
puts "Following redirect to #{redirect_url}"
|
227
|
+
url = URI.parse(redirect_url)
|
228
|
+
if redirect_url =~ /^http:\/\//
|
229
|
+
Net::HTTP.start(url.host, url.port) do |http|
|
230
|
+
response = http.get(redirect_url, cookie_header)
|
231
|
+
response.body
|
232
|
+
end
|
233
|
+
else
|
234
|
+
http = Net::HTTP.new(url.host, url.port)
|
235
|
+
http.use_ssl = true
|
236
|
+
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
237
|
+
response = http.get(redirect_url, cookie_header)
|
238
|
+
response.body
|
239
|
+
end
|
240
|
+
return process_response(response)
|
241
|
+
elsif response.code != '200'
|
242
|
+
raise "Got response code #{response.code}"
|
243
|
+
end
|
244
|
+
response
|
245
|
+
end
|
246
|
+
private :process_response
|
247
|
+
|
153
248
|
def install_android
|
154
249
|
unless @android_loc
|
155
250
|
puts 'Android package installer not found.'
|
@@ -158,7 +253,7 @@ module Ruboto
|
|
158
253
|
if a == 'Y' || a.empty?
|
159
254
|
Dir.chdir File.expand_path('~/') do
|
160
255
|
case RbConfig::CONFIG['host_os']
|
161
|
-
when /^darwin(.*)/
|
256
|
+
when /^darwin(.*)/
|
162
257
|
asdk_file_name = "android-sdk_r#{ANDROID_SDK_VERSION}-#{android_package_os_id}.zip"
|
163
258
|
system "wget http://dl.google.com/android/#{asdk_file_name}"
|
164
259
|
system "unzip #{asdk_file_name}"
|
@@ -168,11 +263,29 @@ module Ruboto
|
|
168
263
|
system "wget http://dl.google.com/android/#{asdk_file_name}"
|
169
264
|
system "tar -xzf #{asdk_file_name}"
|
170
265
|
system "rm #{asdk_file_name}"
|
171
|
-
when /^windows(.*)/
|
172
|
-
#
|
173
|
-
|
266
|
+
when /^mswin32|windows(.*)/
|
267
|
+
# FIXME(uwe): Detect and warn if we are not "elevated" with adminstrator rights.
|
268
|
+
#set IS_ELEVATED=0
|
269
|
+
#whoami /groups | findstr /b /c:"Mandatory Label\High Mandatory Level" | findstr /c:"Enabled group" > nul: && set IS_ELEVATED=1
|
270
|
+
#if %IS_ELEVATED%==0 (
|
271
|
+
# echo You must run the command prompt as administrator to install.
|
272
|
+
# exit /b 1
|
273
|
+
#)
|
274
|
+
|
174
275
|
asdk_file_name = "installer_r#{ANDROID_SDK_VERSION}-#{android_package_os_id}.exe"
|
276
|
+
require 'net/http'
|
277
|
+
Net::HTTP.start('dl.google.com') do |http|
|
278
|
+
puts 'Downloading...'
|
279
|
+
resp = http.get("/android/#{asdk_file_name}")
|
280
|
+
open(asdk_file_name, 'wb') { |file| file.write(resp.body) }
|
281
|
+
end
|
282
|
+
puts "Installing #{asdk_file_name}..."
|
283
|
+
system asdk_file_name
|
284
|
+
raise "Unexpected exit code while installing the Android SDK: #{$?}" unless $? == 0
|
285
|
+
FileUtils.rm_f asdk_file_name
|
175
286
|
return
|
287
|
+
else
|
288
|
+
raise "Unknown host os: #{RbConfig::CONFIG['host_os']}"
|
176
289
|
end
|
177
290
|
end
|
178
291
|
@android_loc = File.join(File.expand_path('~'), android_package_directory, 'tools', 'android')
|
@@ -215,23 +328,31 @@ module Ruboto
|
|
215
328
|
|
216
329
|
def config_path
|
217
330
|
unless @missing_paths.empty?
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
331
|
+
if RbConfig::CONFIG['host_os'] =~ /^mswin32|windows(.*)/
|
332
|
+
puts "\nYou are missing some paths. Execute these lines to add them:\n\n"
|
333
|
+
@missing_paths.each do |path|
|
334
|
+
puts %Q{ set PATH="#{path.gsub '/', '\\'};%PATH%"}
|
335
|
+
end
|
336
|
+
system %Q{setx PATH "%PATH%;#{@missing_paths.map{|path| path.gsub '/', '\\'}.join(';')}"}
|
337
|
+
else
|
338
|
+
puts "\nYou are missing some paths. Execute these lines to add them:\n\n"
|
339
|
+
@missing_paths.each do |path|
|
340
|
+
puts %Q{ export PATH="#{path}:$PATH"}
|
341
|
+
end
|
342
|
+
print "\nWould you like to append these lines to your configuration script? (Y/n): "
|
343
|
+
a = STDIN.gets.chomp.upcase
|
344
|
+
if a == 'Y' || a.empty?
|
345
|
+
print "What script do you use to configure your PATH? (#{path_setup_file}): "
|
346
|
+
a = STDIN.gets.chomp.downcase
|
347
|
+
|
348
|
+
File.open(File.expand_path("~/#{a.empty? ? path_setup_file : a}"), 'a') do |f|
|
349
|
+
f.puts "\n# BEGIN Ruboto PATH setup"
|
350
|
+
@missing_paths.each { |path| f.puts %Q{export PATH="#{path}:$PATH"} }
|
351
|
+
f.puts '# END Ruboto PATH setup'
|
352
|
+
f.puts
|
353
|
+
end
|
354
|
+
puts 'Path updated. Please close your command window and reopen.'
|
233
355
|
end
|
234
|
-
puts 'Path updated. Please close your command window and reopen.'
|
235
356
|
end
|
236
357
|
end
|
237
358
|
end
|
data/lib/ruboto/util/update.rb
CHANGED
@@ -363,7 +363,7 @@ module Ruboto
|
|
363
363
|
`jar -xf #{jruby_core}`
|
364
364
|
raise "Unpacking jruby-core jar failed: #$?" unless $? == 0
|
365
365
|
File.delete jruby_core
|
366
|
-
if Gem::Version.new(jruby_core_version) >= Gem::Version.new('1.7.
|
366
|
+
if Gem::Version.new(jruby_core_version) >= Gem::Version.new('1.7.4.dev')
|
367
367
|
#noinspection RubyLiteralArrayInspection
|
368
368
|
excluded_core_packages = [
|
369
369
|
'**/*Darwin*',
|
@@ -384,10 +384,12 @@ module Ruboto
|
|
384
384
|
'jnr/constants/platform/sunos',
|
385
385
|
'jnr/ffi/annotations',
|
386
386
|
'jnr/ffi/byref',
|
387
|
+
'jnr/ffi/mapper',
|
387
388
|
'jnr/ffi/provider',
|
388
389
|
'jnr/ffi/util',
|
389
390
|
'jnr/ffi/Struct$*',
|
390
391
|
'jnr/ffi/types',
|
392
|
+
'jnr/posix/Aix*',
|
391
393
|
'jnr/posix/FreeBSD*',
|
392
394
|
'jnr/posix/MacOS*',
|
393
395
|
'jnr/posix/OpenBSD*',
|
@@ -408,6 +410,8 @@ module Ruboto
|
|
408
410
|
'org/jruby/ext/ffi/AbstractMemory*',
|
409
411
|
'org/jruby/ext/ffi/io',
|
410
412
|
'org/jruby/ext/ffi/jffi',
|
413
|
+
'org/jruby/ext/ripper',
|
414
|
+
'org/jruby/ext/tracepoint',
|
411
415
|
#'org/jruby/ir/dataflow',
|
412
416
|
#'org/jruby/ir/dataflow/analyses',
|
413
417
|
#'org/jruby/ir/representations',
|
@@ -420,10 +424,12 @@ module Ruboto
|
|
420
424
|
# 'org/jruby/runtime/invokedynamic', # Should be excluded
|
421
425
|
'org/yecht',
|
422
426
|
]
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
+
elsif Gem::Version.new(jruby_core_version) >= Gem::Version.new('1.7.3')
|
428
|
+
excluded_core_packages = %w(**/*Darwin* **/*Solaris* **/*windows* **/*Windows* META-INF com/headius com/kenai/constantine com/kenai/jffi com/kenai/jnr/x86asm com/martiansoftware jline jni jnr/constants/platform/darwin jnr/constants/platform/fake jnr/constants/platform/freebsd jnr/constants/platform/openbsd jnr/constants/platform/sunos jnr/ffi/annotations jnr/ffi/byref jnr/ffi/provider jnr/ffi/util jnr/ffi/Struct$* jnr/ffi/types jnr/posix/FreeBSD* jnr/posix/MacOS* jnr/posix/OpenBSD* jnr/x86asm org/apache org/fusesource org/jruby/ant org/jruby/cext org/jruby/compiler/impl/BaseBodyCompiler* org/jruby/compiler/util org/jruby/demo org/jruby/embed/bsf org/jruby/embed/jsr223 org/jruby/embed/osgi org/jruby/ext/ffi/AbstractMemory* org/jruby/ext/ffi/io org/jruby/ext/ffi/jffi org/jruby/javasupport/bsf org/yecht)
|
429
|
+
elsif Gem::Version.new(jruby_core_version) >= Gem::Version.new('1.7.2')
|
430
|
+
excluded_core_packages = %w(**/*Darwin* **/*Ruby20* **/*Solaris* **/*windows* **/*Windows* META-INF com/headius com/kenai/constantine com/kenai/jffi com/martiansoftware jline jni jnr/constants/platform/darwin jnr/constants/platform/fake jnr/constants/platform/freebsd jnr/constants/platform/openbsd jnr/constants/platform/sunos jnr/ffi/annotations jnr/ffi/byref jnr/ffi/provider jnr/ffi/util jnr/ffi/Struct$* jnr/ffi/types jnr/posix/MacOS* jnr/posix/OpenBSD* org/apache org/fusesource org/jruby/ant org/jruby/cext org/jruby/compiler/util org/jruby/demo org/jruby/embed/bsf org/jruby/embed/jsr223 org/jruby/embed/osgi org/jruby/ext/ffi/io org/jruby/ext/ffi/jffi org/jruby/javasupport/bsf)
|
431
|
+
elsif Gem::Version.new(jruby_core_version) >= Gem::Version.new('1.7.1')
|
432
|
+
excluded_core_packages = %w(**/*Darwin* **/*Ruby20* **/*Solaris* **/*windows* **/*Windows* META-INF com/headius com/kenai/constantine com/kenai/jffi com/martiansoftware jline jni jnr/constants/platform/darwin jnr/constants/platform/fake jnr/constants/platform/freebsd jnr/constants/platform/openbsd jnr/constants/platform/sunos jnr/ffi/annotations jnr/ffi/byref jnr/ffi/provider jnr/ffi/util jnr/ffi/Struct$* jnr/ffi/types jnr/posix/MacOS* jnr/posix/OpenBSD* org/apache org/fusesource org/jruby/ant org/jruby/cext org/jruby/compiler/util org/jruby/demo org/jruby/embed/bsf org/jruby/embed/jsr223 org/jruby/embed/osgi org/jruby/ext/ffi/io org/jruby/ext/ffi/jffi org/jruby/ext/openssl org/jruby/javasupport/bsf org/jruby/org/bouncycastle)
|
427
433
|
elsif Gem::Version.new(jruby_core_version) >= Gem::Version.new('1.7.0')
|
428
434
|
# TODO(uwe): Remove when we stop supporting jruby-jars 1.7.0
|
429
435
|
excluded_core_packages = %w(**/*Darwin* **/*Solaris* **/*windows* **/*Windows* META-INF com/headius com/kenai/constantine com/kenai/jffi com/martiansoftware jline jni jnr/constants/platform/darwin jnr/constants/platform/fake jnr/constants/platform/freebsd jnr/constants/platform/openbsd jnr/constants/platform/sunos jnr/ffi/annotations jnr/ffi/byref jnr/ffi/provider jnr/ffi/util jnr/ffi/Struct$* jnr/ffi/types jnr/posix/MacOS* jnr/posix/OpenBSD* org/apache org/bouncycastle org/fusesource org/jruby/ant org/jruby/cext org/jruby/compiler/util org/jruby/demo org/jruby/embed/bsf org/jruby/embed/jsr223 org/jruby/embed/osgi org/jruby/ext/ffi/io org/jruby/ext/ffi/jffi org/jruby/ext/openssl org/jruby/javasupport/bsf)
|
@@ -520,7 +526,7 @@ module Ruboto
|
|
520
526
|
print 'excluded...'
|
521
527
|
lib_dirs.each do |ld|
|
522
528
|
Dir.chdir "new/jruby.home/lib/ruby/#{ld}" do
|
523
|
-
libs = Dir['*'].map{|d|d.sub /\.(rb|jar)$/, ''}.uniq
|
529
|
+
libs = Dir['*'].map { |d| d.sub /\.(rb|jar)$/, '' }.uniq
|
524
530
|
libs.each do |d|
|
525
531
|
next if included_stdlibs.include? d
|
526
532
|
FileUtils.rm_rf d if File.exists? d
|
@@ -610,8 +616,8 @@ module Ruboto
|
|
610
616
|
jar_load_code = ''
|
611
617
|
end
|
612
618
|
|
613
|
-
File.open("#{j}.rb", 'w'){|f| f << jar_load_code}
|
614
|
-
File.open("#{j}.jar.rb", 'w'){|f| f << jar_load_code}
|
619
|
+
File.open("#{j}.rb", 'w') { |f| f << jar_load_code }
|
620
|
+
File.open("#{j}.jar.rb", 'w') { |f| f << jar_load_code }
|
615
621
|
end
|
616
622
|
|
617
623
|
`jar -cf ../../#{jruby_stdlib} .`
|
data/lib/ruboto/version.rb
CHANGED
@@ -10,8 +10,8 @@ class OptionMenuActivity
|
|
10
10
|
|
11
11
|
self.content_view =
|
12
12
|
linear_layout :orientation => LinearLayout::VERTICAL do
|
13
|
-
|
14
|
-
|
13
|
+
text_view :text => 'What hath Matz wrought?', :id => 42, :text_size => 48.0,
|
14
|
+
:width => :fill_parent, :gravity => android.view.Gravity::CENTER
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
@@ -19,7 +19,7 @@ class OptionMenuActivity
|
|
19
19
|
mi = menu.add('Test')
|
20
20
|
mi.setIcon($package.R::drawable::get_ruboto_core)
|
21
21
|
mi.set_on_menu_item_click_listener do |menu_item|
|
22
|
-
|
22
|
+
findViewById(42).text = 'What hath Matz wrought!'
|
23
23
|
toast 'Flipped a bit via butterfly'
|
24
24
|
end
|
25
25
|
true
|
metadata
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruboto
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.12.0
|
5
|
-
prerelease: 7
|
4
|
+
version: 0.12.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Daniel Jackoway
|
@@ -12,50 +11,41 @@ authors:
|
|
12
11
|
autorequire:
|
13
12
|
bindir: bin
|
14
13
|
cert_chain: []
|
15
|
-
date: 2013-05-
|
14
|
+
date: 2013-05-27 00:00:00.000000000 Z
|
16
15
|
dependencies:
|
17
16
|
- !ruby/object:Gem::Dependency
|
18
17
|
name: main
|
19
18
|
requirement: !ruby/object:Gem::Requirement
|
20
|
-
none: false
|
21
19
|
requirements:
|
22
|
-
- -
|
20
|
+
- - '>='
|
23
21
|
- !ruby/object:Gem::Version
|
24
22
|
version: 4.7.2
|
25
23
|
type: :runtime
|
26
24
|
prerelease: false
|
27
25
|
version_requirements: !ruby/object:Gem::Requirement
|
28
|
-
none: false
|
29
26
|
requirements:
|
30
|
-
- -
|
27
|
+
- - '>='
|
31
28
|
- !ruby/object:Gem::Version
|
32
29
|
version: 4.7.2
|
33
30
|
- !ruby/object:Gem::Dependency
|
34
31
|
name: rake
|
35
32
|
requirement: !ruby/object:Gem::Requirement
|
36
|
-
none: false
|
37
33
|
requirements:
|
38
|
-
- -
|
34
|
+
- - '>='
|
39
35
|
- !ruby/object:Gem::Version
|
40
36
|
version: '0'
|
41
37
|
type: :development
|
42
38
|
prerelease: false
|
43
39
|
version_requirements: !ruby/object:Gem::Requirement
|
44
|
-
none: false
|
45
40
|
requirements:
|
46
|
-
- -
|
41
|
+
- - '>='
|
47
42
|
- !ruby/object:Gem::Version
|
48
43
|
version: '0'
|
49
|
-
description:
|
50
|
-
apps for
|
51
|
-
|
44
|
+
description: |
|
45
|
+
Ruboto (JRuby on Android) is a platform for developing full stand-alone apps for
|
52
46
|
Android using the Ruby language and libraries. It includes support libraries
|
53
|
-
|
54
47
|
and generators for creating projects, classes, tests, and more. The complete
|
55
|
-
|
56
48
|
APIs of Android, Java, and Ruby are available to you using the Ruby language.
|
57
|
-
|
58
|
-
'
|
59
49
|
email: ruboto@googlegroups.com
|
60
50
|
executables:
|
61
51
|
- ruboto
|
@@ -65,15 +55,19 @@ files:
|
|
65
55
|
- Gemfile
|
66
56
|
- Gemfile.lock
|
67
57
|
- LICENSE
|
68
|
-
- Rakefile
|
69
58
|
- README.md
|
70
|
-
-
|
59
|
+
- Rakefile
|
60
|
+
- assets/.DS_Store
|
61
|
+
- assets/.gitignore
|
71
62
|
- assets/Rakefile
|
63
|
+
- assets/libs/dx.jar
|
72
64
|
- assets/rakelib/ruboto.rake
|
73
|
-
- assets/res
|
65
|
+
- assets/res/.DS_Store
|
74
66
|
- assets/res/drawable-hdpi/ic_launcher.png
|
75
67
|
- assets/res/drawable-ldpi/ic_launcher.png
|
76
68
|
- assets/res/drawable-mdpi/ic_launcher.png
|
69
|
+
- assets/res/drawable/.DS_Store
|
70
|
+
- assets/res/drawable/get_ruboto_core.png
|
77
71
|
- assets/res/layout/get_ruboto_core.xml
|
78
72
|
- assets/samples/sample_activity.rb
|
79
73
|
- assets/samples/sample_activity_test.rb
|
@@ -87,6 +81,9 @@ files:
|
|
87
81
|
- assets/src/InheritingBroadcastReceiver.java
|
88
82
|
- assets/src/InheritingClass.java
|
89
83
|
- assets/src/InheritingService.java
|
84
|
+
- assets/src/RubotoActivity.java
|
85
|
+
- assets/src/RubotoBroadcastReceiver.java
|
86
|
+
- assets/src/RubotoService.java
|
90
87
|
- assets/src/org/ruboto/EntryPointActivity.java
|
91
88
|
- assets/src/org/ruboto/JRubyAdapter.java
|
92
89
|
- assets/src/org/ruboto/Log.java
|
@@ -106,18 +103,12 @@ files:
|
|
106
103
|
- assets/src/ruboto/util/stack.rb
|
107
104
|
- assets/src/ruboto/util/toast.rb
|
108
105
|
- assets/src/ruboto/widget.rb
|
109
|
-
- assets/src/RubotoActivity.java
|
110
|
-
- assets/src/RubotoBroadcastReceiver.java
|
111
|
-
- assets/src/RubotoService.java
|
112
106
|
- assets/test/src/test_helper.rb
|
113
|
-
- assets/.DS_Store
|
114
|
-
- assets/.gitignore
|
115
|
-
- assets/res/.DS_Store
|
116
|
-
- assets/res/drawable/.DS_Store
|
117
107
|
- bin/ruboto
|
118
108
|
- lib/DalvikProxyClassFactory.java
|
119
109
|
- lib/DexClient.java
|
120
110
|
- lib/java_class_gen/android_api.xml
|
111
|
+
- lib/ruboto.rb
|
121
112
|
- lib/ruboto/api.rb
|
122
113
|
- lib/ruboto/commands/base.rb
|
123
114
|
- lib/ruboto/core_ext/array.rb
|
@@ -138,7 +129,6 @@ files:
|
|
138
129
|
- lib/ruboto/util/verify.rb
|
139
130
|
- lib/ruboto/util/xml_element.rb
|
140
131
|
- lib/ruboto/version.rb
|
141
|
-
- lib/ruboto.rb
|
142
132
|
- test/activity/call_super_activity.rb
|
143
133
|
- test/activity/call_super_activity_test.rb
|
144
134
|
- test/activity/dir_and_file_activity.rb
|
@@ -187,26 +177,25 @@ files:
|
|
187
177
|
homepage: http://ruboto.org/
|
188
178
|
licenses:
|
189
179
|
- MIT
|
180
|
+
metadata: {}
|
190
181
|
post_install_message:
|
191
182
|
rdoc_options: []
|
192
183
|
require_paths:
|
193
184
|
- lib
|
194
185
|
required_ruby_version: !ruby/object:Gem::Requirement
|
195
|
-
none: false
|
196
186
|
requirements:
|
197
|
-
- -
|
187
|
+
- - '>='
|
198
188
|
- !ruby/object:Gem::Version
|
199
189
|
version: '0'
|
200
190
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
201
|
-
none: false
|
202
191
|
requirements:
|
203
|
-
- -
|
192
|
+
- - '>='
|
204
193
|
- !ruby/object:Gem::Version
|
205
|
-
version:
|
194
|
+
version: '0'
|
206
195
|
requirements: []
|
207
196
|
rubyforge_project: ruboto/ruboto
|
208
|
-
rubygems_version:
|
197
|
+
rubygems_version: 2.0.3
|
209
198
|
signing_key:
|
210
|
-
specification_version:
|
199
|
+
specification_version: 4
|
211
200
|
summary: A platform for developing apps using JRuby on Android.
|
212
201
|
test_files: []
|