ruboto 0.10.2.rc.0 → 0.10.2
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.
- data/Rakefile +24 -13
- data/assets/rakelib/ruboto.rake +43 -10
- data/lib/ruboto/sdk_versions.rb +9 -0
- data/lib/ruboto/util/update.rb +40 -11
- data/lib/ruboto/version.rb +1 -1
- data/test/test_helper.rb +0 -9
- metadata +65 -85
data/Rakefile
CHANGED
@@ -12,7 +12,7 @@ PLATFORM_DEBUG_APK = "#{PLATFORM_PROJECT}/bin/RubotoCore-debug.apk"
|
|
12
12
|
PLATFORM_DEBUG_APK_BAK = "#{PLATFORM_PROJECT}/bin/RubotoCore-debug.apk.bak"
|
13
13
|
PLATFORM_RELEASE_APK = "#{PLATFORM_PROJECT}/bin/RubotoCore-release.apk"
|
14
14
|
PLATFORM_CURRENT_RELEASE_APK = File.expand_path('tmp/RubotoCore-release.apk', File.dirname(__FILE__))
|
15
|
-
MANIFEST_FILE =
|
15
|
+
MANIFEST_FILE = 'AndroidManifest.xml'
|
16
16
|
GEM_FILE = "ruboto-#{Ruboto::VERSION}.gem"
|
17
17
|
GEM_SPEC_FILE = 'ruboto.gemspec'
|
18
18
|
EXAMPLE_FILE = File.expand_path("examples/RubotoTestApp_#{Ruboto::VERSION}_tools_r#{Ruboto::SdkVersions::ANDROID_TOOLS_REVISION}.tgz", File.dirname(__FILE__))
|
@@ -21,7 +21,7 @@ CLEAN.include('ruboto-*.gem', 'tmp')
|
|
21
21
|
|
22
22
|
task :default => :gem
|
23
23
|
|
24
|
-
desc
|
24
|
+
desc 'Generate a gem'
|
25
25
|
task :gem => GEM_FILE
|
26
26
|
|
27
27
|
file GEM_FILE => GEM_SPEC_FILE do
|
@@ -49,7 +49,7 @@ task :uninstall do
|
|
49
49
|
`gem query -i -n ^ruboto$ -v #{Ruboto::VERSION}`
|
50
50
|
if $? == 0
|
51
51
|
puts 'Uninstalling gem'
|
52
|
-
cmd = "gem uninstall ruboto -v #{Ruboto::VERSION}"
|
52
|
+
cmd = "gem uninstall -x ruboto -v #{Ruboto::VERSION}"
|
53
53
|
output = `#{cmd}`
|
54
54
|
if $? == 0
|
55
55
|
puts output
|
@@ -63,7 +63,7 @@ end
|
|
63
63
|
|
64
64
|
task :reinstall => [:uninstall, :clean, :install]
|
65
65
|
|
66
|
-
desc
|
66
|
+
desc 'Generate an example app'
|
67
67
|
task :example => EXAMPLE_FILE
|
68
68
|
|
69
69
|
file EXAMPLE_FILE => :install do
|
@@ -86,7 +86,7 @@ task :release_docs do
|
|
86
86
|
require 'highline/import'
|
87
87
|
user = ask('login : ') { |q| q.echo = true }
|
88
88
|
pass = ask('password: ') { |q| q.echo = '*' }
|
89
|
-
rescue
|
89
|
+
rescue Exception
|
90
90
|
print 'user name: '; user = STDIN.gets.chomp
|
91
91
|
print ' password: '; pass = STDIN.gets.chomp
|
92
92
|
end
|
@@ -167,7 +167,7 @@ To create a project do
|
|
167
167
|
ruboto gen app --package <your.package.name>
|
168
168
|
|
169
169
|
|
170
|
-
You can find an introductory tutorial at https://github.com/ruboto/ruboto/wiki
|
170
|
+
You can find an introductory tutorial at https://github.com/ruboto/ruboto/wiki
|
171
171
|
|
172
172
|
If you have any problems or questions, come see us at http://ruboto.org/
|
173
173
|
|
@@ -259,12 +259,12 @@ task :stats do
|
|
259
259
|
puts "\nTotal: #{total}\n\n"
|
260
260
|
end
|
261
261
|
|
262
|
-
desc
|
262
|
+
desc 'Push the gem to RubyGems'
|
263
263
|
task :release => [:clean, :gem] do
|
264
264
|
output = `git status --porcelain`
|
265
265
|
raise "Workspace not clean!\n#{output}" unless output.empty?
|
266
266
|
sh "git tag #{Ruboto::VERSION}"
|
267
|
-
sh
|
267
|
+
sh 'git push --tags'
|
268
268
|
sh "gem push #{GEM_FILE}"
|
269
269
|
|
270
270
|
examples_glob = "#{EXAMPLE_FILE.slice(/^.*?_\d+\.\d+\.\d+/)}*"
|
@@ -272,7 +272,7 @@ task :release => [:clean, :gem] do
|
|
272
272
|
Rake::Task[:example].invoke
|
273
273
|
sh "git add #{EXAMPLE_FILE}"
|
274
274
|
sh "git commit -m '* Added example app for Ruboto #{Ruboto::VERSION} tools r#{Ruboto::SdkVersions::ANDROID_TOOLS_REVISION}' \"#{examples_glob}\""
|
275
|
-
sh
|
275
|
+
sh 'git push'
|
276
276
|
end
|
277
277
|
|
278
278
|
desc "Run the tests. Select which test files to load with 'rake test TEST=test_file_pattern'"
|
@@ -282,7 +282,7 @@ task :test do
|
|
282
282
|
ARGV.delete_if { |a| test_pattern.include? a }
|
283
283
|
test_pattern.map! { |t| t[5..-1] }
|
284
284
|
$: << File.expand_path('test', File.dirname(__FILE__))
|
285
|
-
(test_pattern.any? ? test_pattern :
|
285
|
+
(test_pattern.any? ? test_pattern : %w(test/*_test.rb)).map { |d| Dir[d] }.flatten.each do |f|
|
286
286
|
require f.chomp('.rb')[5..-1]
|
287
287
|
end
|
288
288
|
end
|
@@ -390,14 +390,25 @@ namespace :platform do
|
|
390
390
|
uninstall_apk
|
391
391
|
end
|
392
392
|
puts "Installing package #{package}"
|
393
|
+
install_retry_count = 0
|
393
394
|
begin
|
394
395
|
output = nil
|
395
396
|
timeout 180 do
|
397
|
+
install_start = Time.now
|
396
398
|
output = `adb install #{PLATFORM_CURRENT_RELEASE_APK} 2>&1`
|
399
|
+
puts "Install took #{(Time.now - install_start).to_i}s."
|
397
400
|
end
|
398
401
|
rescue TimeoutError
|
399
|
-
puts 'Install of current RubotoCore timed out.
|
400
|
-
|
402
|
+
puts 'Install of current RubotoCore timed out.'
|
403
|
+
install_retry_count += 1
|
404
|
+
if install_retry_count <= 3
|
405
|
+
puts 'Retrying.'
|
406
|
+
retry
|
407
|
+
end
|
408
|
+
puts 'Retrying one final time...'
|
409
|
+
install_start = Time.now
|
410
|
+
output = `adb install #{PLATFORM_CURRENT_RELEASE_APK} 2>&1`
|
411
|
+
puts "Install took #{(Time.now - install_start).to_i}s."
|
401
412
|
end
|
402
413
|
puts output
|
403
414
|
raise "Install failed (#{$?}) #{$1 ? "[#$1}]" : output}" if $? != 0 || output =~ failure_pattern || output !~ success_pattern
|
@@ -415,7 +426,7 @@ namespace :platform do
|
|
415
426
|
|
416
427
|
def package_installed?
|
417
428
|
package_name = package
|
418
|
-
|
429
|
+
%w( -0 -1 -2).each do |i|
|
419
430
|
path = "/data/app/#{package_name}#{i}.apk"
|
420
431
|
o = `adb shell ls -l #{path}`.chomp
|
421
432
|
if o =~ /^-rw-r--r-- system\s+system\s+(\d+) \d{4}-\d{2}-\d{2} \d{2}:\d{2} #{File.basename(path)}$/
|
data/assets/rakelib/ruboto.rake
CHANGED
@@ -37,7 +37,10 @@ unless File.exists? dx_filename
|
|
37
37
|
exit 1
|
38
38
|
end
|
39
39
|
new_dx_content = File.read(dx_filename).dup
|
40
|
+
|
41
|
+
# FIXME(uwe): Set Xmx on windows bat script:
|
40
42
|
# set defaultXmx=-Xmx1024M
|
43
|
+
|
41
44
|
xmx_pattern = /^defaultMx="-Xmx(\d+)(M|m|G|g|T|t)"/
|
42
45
|
if new_dx_content =~ xmx_pattern &&
|
43
46
|
($1.to_i * 1024 ** {'M' => 2, 'G' => 3, 'T' => 4}[$2.upcase]) < 2560*1024**2
|
@@ -160,7 +163,7 @@ end
|
|
160
163
|
|
161
164
|
desc 'Start the emulator with larger disk'
|
162
165
|
task :emulator do
|
163
|
-
sh
|
166
|
+
sh "emulator -partition-size 1024 -avd Android_#{sdk_level_name}"
|
164
167
|
end
|
165
168
|
|
166
169
|
desc 'Start the application on the device/emulator.'
|
@@ -182,7 +185,6 @@ end
|
|
182
185
|
|
183
186
|
file PROJECT_PROPS_FILE
|
184
187
|
file MANIFEST_FILE => PROJECT_PROPS_FILE do
|
185
|
-
sdk_level = File.read(PROJECT_PROPS_FILE).scan(/(?:target=android-)(\d+)/)[0][0].to_i
|
186
188
|
old_manifest = File.read(MANIFEST_FILE)
|
187
189
|
manifest = old_manifest.dup
|
188
190
|
manifest.sub!(/(android:minSdkVersion=').*?(')/) { "#$1#{sdk_level}#$2" }
|
@@ -213,7 +215,7 @@ namespace :update_scripts do
|
|
213
215
|
end
|
214
216
|
end
|
215
217
|
|
216
|
-
task :test => :uninstall do
|
218
|
+
task :test => APK_DEPENDENCIES + [:uninstall] do
|
217
219
|
Dir.chdir('test') do
|
218
220
|
puts 'Running tests'
|
219
221
|
sh "adb uninstall #{package}.tests"
|
@@ -234,7 +236,7 @@ namespace :test do
|
|
234
236
|
rescue TimeoutError
|
235
237
|
puts 'Installing package timed out.'
|
236
238
|
install_retry_count += 1
|
237
|
-
if install_retry_count
|
239
|
+
if install_retry_count <= 3
|
238
240
|
puts 'Retrying install...'
|
239
241
|
retry
|
240
242
|
end
|
@@ -333,16 +335,32 @@ file BUNDLE_JAR => [GEM_FILE, GEM_LOCK_FILE] do
|
|
333
335
|
unless jar =~ /sqlite-jdbc/
|
334
336
|
puts "Expanding #{gem_lib} #{jar} into #{BUNDLE_JAR}"
|
335
337
|
`jar xf #{jar}`
|
338
|
+
if ENV['STRIP_INVOKERS']
|
339
|
+
invokers = Dir['**/*$INVOKER$*.class']
|
340
|
+
if invokers.size > 0
|
341
|
+
puts "Removing invokers(#{invokers.size})..."
|
342
|
+
FileUtils.rm invokers
|
343
|
+
end
|
344
|
+
populators = Dir['**/*$POPULATOR.class']
|
345
|
+
if populators.size > 0
|
346
|
+
puts "Removing populators(#{populators.size})..."
|
347
|
+
FileUtils.rm populators
|
348
|
+
end
|
349
|
+
end
|
336
350
|
end
|
337
351
|
if jar == 'arjdbc/jdbc/adapter_java.jar'
|
338
352
|
jar_load_code = <<-END_CODE
|
339
353
|
require 'jruby'
|
340
354
|
Java::arjdbc.jdbc.AdapterJavaService.new.basicLoad(JRuby.runtime)
|
341
355
|
END_CODE
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
356
|
+
|
357
|
+
# TODO(uwe): Seems ARJDBC requires all these classes to be present...
|
358
|
+
# classes = Dir['arjdbc/**/*']
|
359
|
+
# dbs = /db2|derby|firebird|h2|hsqldb|informix|mimer|mssql|mysql|oracle|postgres|sybase/i
|
360
|
+
# files = classes.grep(dbs)
|
361
|
+
# FileUtils.rm_f(files)
|
362
|
+
# ODOT
|
363
|
+
|
346
364
|
elsif jar =~ /shared\/jopenssl.jar$/
|
347
365
|
jar_load_code = <<-END_CODE
|
348
366
|
require 'jruby'
|
@@ -389,6 +407,19 @@ end
|
|
389
407
|
|
390
408
|
# Methods
|
391
409
|
|
410
|
+
API_LEVEL_TO_VERSION = {
|
411
|
+
7 => '2.1', 8 => '2.2', 10 => '2.3.3', 11 => '3.0', 12 => '3.1',
|
412
|
+
13 => '3.2', 14 => '4.0', 15 => '4.0.3', 16 => '4.1.2', 17 => '4.2.2',
|
413
|
+
}
|
414
|
+
|
415
|
+
def sdk_level_name
|
416
|
+
API_LEVEL_TO_VERSION[sdk_level]
|
417
|
+
end
|
418
|
+
|
419
|
+
def sdk_level
|
420
|
+
File.read(PROJECT_PROPS_FILE).scan(/(?:target=android-)(\d+)/)[0][0].to_i
|
421
|
+
end
|
422
|
+
|
392
423
|
def mark_update(time = Time.now)
|
393
424
|
FileUtils.mkdir_p File.dirname(UPDATE_MARKER_FILE)
|
394
425
|
File.open(UPDATE_MARKER_FILE, 'w') { |f| f << time.iso8601 }
|
@@ -505,6 +536,7 @@ def install_apk
|
|
505
536
|
return
|
506
537
|
when false
|
507
538
|
puts "Package #{package} already installed, but of different size or timestamp. Replacing package."
|
539
|
+
sh "adb shell date -s #{Time.now.strftime '%Y%m%d.%H%M%S'}"
|
508
540
|
output = nil
|
509
541
|
install_retry_count = 0
|
510
542
|
begin
|
@@ -514,7 +546,7 @@ def install_apk
|
|
514
546
|
rescue Timeout::Error
|
515
547
|
puts "Installing package #{package} timed out."
|
516
548
|
install_retry_count += 1
|
517
|
-
if install_retry_count
|
549
|
+
if install_retry_count <= 3
|
518
550
|
puts 'Retrying install...'
|
519
551
|
retry
|
520
552
|
end
|
@@ -535,6 +567,7 @@ def install_apk
|
|
535
567
|
uninstall_apk
|
536
568
|
else
|
537
569
|
# Package not installed.
|
570
|
+
sh "adb shell date -s #{Time.now.strftime '%Y%m%d.%H%M%S'}"
|
538
571
|
end
|
539
572
|
puts "Installing package #{package}"
|
540
573
|
output = nil
|
@@ -546,7 +579,7 @@ def install_apk
|
|
546
579
|
rescue Timeout::Error
|
547
580
|
puts "Installing package #{package} timed out."
|
548
581
|
install_retry_count += 1
|
549
|
-
if install_retry_count
|
582
|
+
if install_retry_count <= 3
|
550
583
|
puts 'Retrying install...'
|
551
584
|
retry
|
552
585
|
end
|
data/lib/ruboto/sdk_versions.rb
CHANGED
@@ -2,6 +2,15 @@ require 'pathname'
|
|
2
2
|
|
3
3
|
module Ruboto
|
4
4
|
module SdkVersions
|
5
|
+
VERSION_TO_API_LEVEL = {
|
6
|
+
'2.1' => 'android-7', '2.1-update1' => 'android-7', '2.2' => 'android-8',
|
7
|
+
'2.3' => 'android-9', '2.3.1' => 'android-9', '2.3.2' => 'android-9',
|
8
|
+
'2.3.3' => 'android-10', '2.3.4' => 'android-10',
|
9
|
+
'3.0' => 'android-11', '3.1' => 'android-12', '3.2' => 'android-13',
|
10
|
+
'4.0.1' => 'android-14', '4.0.3' => 'android-15', '4.0.4' => 'android-15',
|
11
|
+
'4.1' => 'android-16', '4.1.1' => 'android-16', '4.1.2' => 'android-16',
|
12
|
+
'4.2' => 'android-17', '4.2.2' => 'android-17',
|
13
|
+
}
|
5
14
|
MINIMUM_SUPPORTED_SDK_LEVEL = 7
|
6
15
|
MINIMUM_SUPPORTED_SDK = "android-#{MINIMUM_SUPPORTED_SDK_LEVEL}"
|
7
16
|
DEFAULT_TARGET_SDK_LEVEL = 8
|
data/lib/ruboto/util/update.rb
CHANGED
@@ -370,14 +370,20 @@ module Ruboto
|
|
370
370
|
'**/*Windows*',
|
371
371
|
'META-INF',
|
372
372
|
'com/headius',
|
373
|
-
'com/kenai/constantine',
|
373
|
+
'com/kenai/constantine',
|
374
|
+
'com/kenai/jffi',
|
375
|
+
'com/kenai/jnr/x86asm',
|
376
|
+
'com/martiansoftware',
|
374
377
|
'jline', 'jni',
|
375
378
|
'jnr/constants/platform/darwin', 'jnr/constants/platform/fake', 'jnr/constants/platform/freebsd',
|
376
379
|
'jnr/constants/platform/openbsd', 'jnr/constants/platform/sunos',
|
377
|
-
'jnr/ffi/annotations',
|
378
|
-
'jnr/ffi/
|
380
|
+
'jnr/ffi/annotations',
|
381
|
+
'jnr/ffi/byref',
|
382
|
+
'jnr/ffi/provider',
|
383
|
+
'jnr/ffi/util',
|
379
384
|
'jnr/ffi/Struct$*',
|
380
385
|
'jnr/ffi/types',
|
386
|
+
'jnr/posix/FreeBSD*',
|
381
387
|
'jnr/posix/MacOS*',
|
382
388
|
'jnr/posix/OpenBSD*',
|
383
389
|
'jnr/x86asm',
|
@@ -385,16 +391,25 @@ module Ruboto
|
|
385
391
|
'org/fusesource',
|
386
392
|
'org/jruby/ant',
|
387
393
|
'org/jruby/cext',
|
388
|
-
# 'org/jruby/compiler', # Needed for initialization, but
|
389
|
-
# 'org/jruby/compiler/impl', # Needed for initialization, but
|
394
|
+
# 'org/jruby/compiler', # Needed for initialization, but should not be necessary
|
395
|
+
# 'org/jruby/compiler/impl', # Needed for initialization, but should not be necessary
|
396
|
+
'org/jruby/compiler/impl/BaseBodyCompiler*',
|
390
397
|
'org/jruby/compiler/util',
|
391
398
|
'org/jruby/demo',
|
392
399
|
'org/jruby/embed/bsf',
|
393
400
|
'org/jruby/embed/jsr223',
|
394
401
|
'org/jruby/embed/osgi',
|
395
402
|
# 'org/jruby/ext/ffi', # Used by several JRuby core classes, but should not be needed unless we add FFI support
|
403
|
+
'org/jruby/ext/ffi/AbstractMemory*',
|
396
404
|
'org/jruby/ext/ffi/io',
|
397
405
|
'org/jruby/ext/ffi/jffi',
|
406
|
+
#'org/jruby/ir/dataflow',
|
407
|
+
#'org/jruby/ir/dataflow/analyses',
|
408
|
+
#'org/jruby/ir/representations',
|
409
|
+
#'org/jruby/ir/runtime',
|
410
|
+
#'org/jruby/ir/targets',
|
411
|
+
#'org/jruby/ir/transformations',
|
412
|
+
#'org/jruby/ir/util',
|
398
413
|
'org/jruby/javasupport/bsf',
|
399
414
|
# 'org/jruby/management', # should be excluded
|
400
415
|
# 'org/jruby/runtime/invokedynamic', # Should be excluded
|
@@ -408,7 +423,9 @@ module Ruboto
|
|
408
423
|
'**/*Windows*',
|
409
424
|
'META-INF',
|
410
425
|
'com/headius',
|
411
|
-
'com/kenai/constantine',
|
426
|
+
'com/kenai/constantine',
|
427
|
+
'com/kenai/jffi',
|
428
|
+
'com/martiansoftware',
|
412
429
|
'jline', 'jni',
|
413
430
|
'jnr/constants/platform/darwin', 'jnr/constants/platform/fake', 'jnr/constants/platform/freebsd',
|
414
431
|
'jnr/constants/platform/openbsd', 'jnr/constants/platform/sunos',
|
@@ -535,13 +552,15 @@ module Ruboto
|
|
535
552
|
# FIXME(uwe): Add a Ruboto.yml config for this if it works
|
536
553
|
# Reduces the installation footprint, but also reduces performance and increases stack
|
537
554
|
# FIXME(uwe): Measure the performance change
|
538
|
-
if
|
555
|
+
if ENV['STRIP_INVOKERS']
|
539
556
|
invokers = Dir['**/*$INVOKER$*.class']
|
540
|
-
|
557
|
+
if invokers.size > 0
|
558
|
+
print "Removing invokers(#{invokers.size})..."
|
541
559
|
FileUtils.rm invokers
|
542
560
|
end
|
543
561
|
populators = Dir['**/*$POPULATOR.class']
|
544
|
-
|
562
|
+
if populators.size > 0
|
563
|
+
print "Removing populators(#{populators.size})..."
|
545
564
|
FileUtils.rm populators
|
546
565
|
end
|
547
566
|
end
|
@@ -636,6 +655,18 @@ module Ruboto
|
|
636
655
|
print "#{File.basename(j).chomp('.jar')}..."
|
637
656
|
system "jar xf #{j}"
|
638
657
|
FileUtils.rm j
|
658
|
+
if ENV['STRIP_INVOKERS']
|
659
|
+
invokers = Dir['**/*$INVOKER$*.class']
|
660
|
+
if invokers.size > 0
|
661
|
+
print "Removing invokers(#{invokers.size})..."
|
662
|
+
FileUtils.rm invokers
|
663
|
+
end
|
664
|
+
populators = Dir['**/*$POPULATOR.class']
|
665
|
+
if populators.size > 0
|
666
|
+
print "Removing populators(#{populators.size})..."
|
667
|
+
FileUtils.rm populators
|
668
|
+
end
|
669
|
+
end
|
639
670
|
|
640
671
|
if j =~ %r{json/ext/generator.jar$}
|
641
672
|
jar_load_code = <<-END_CODE
|
@@ -657,8 +688,6 @@ module Ruboto
|
|
657
688
|
|
658
689
|
File.open("#{j}.rb", 'w'){|f| f << jar_load_code}
|
659
690
|
File.open("#{j}.jar.rb", 'w'){|f| f << jar_load_code}
|
660
|
-
#FileUtils.rm Dir['**/*$POPULATOR.class']
|
661
|
-
#FileUtils.rm Dir['**/*$INVOKER$*.class']
|
662
691
|
end
|
663
692
|
|
664
693
|
`jar -cf ../../#{jruby_stdlib} .`
|
data/lib/ruboto/version.rb
CHANGED
data/test/test_helper.rb
CHANGED
@@ -33,15 +33,6 @@ module RubotoTest
|
|
33
33
|
TMP_DIR = File.join PROJECT_DIR, 'tmp'
|
34
34
|
APP_DIR = File.join TMP_DIR, APP_NAME
|
35
35
|
ANDROID_TARGET = (ENV['ANDROID_TARGET'] && ENV['ANDROID_TARGET'].slice(/\d+/).to_i) || MINIMUM_SUPPORTED_SDK_LEVEL
|
36
|
-
VERSION_TO_API_LEVEL = {
|
37
|
-
'2.1' => 'android-7', '2.1-update1' => 'android-7', '2.2' => 'android-8',
|
38
|
-
'2.3' => 'android-9', '2.3.1' => 'android-9', '2.3.2' => 'android-9',
|
39
|
-
'2.3.3' => 'android-10', '2.3.4' => 'android-10',
|
40
|
-
'3.0' => 'android-11', '3.1' => 'android-12', '3.2' => 'android-13',
|
41
|
-
'4.0.1' => 'android-14', '4.0.3' => 'android-15', '4.0.4' => 'android-15',
|
42
|
-
'4.1' => 'android-16', '4.1.1' => 'android-16', '4.1.2' => 'android-16',
|
43
|
-
'4.2' => 'android-17',
|
44
|
-
}
|
45
36
|
|
46
37
|
def self.version_from_device
|
47
38
|
puts 'Reading OS version from device/emulator'
|
metadata
CHANGED
@@ -1,71 +1,59 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruboto
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 10
|
9
|
-
- 2
|
10
|
-
- rc
|
11
|
-
- 0
|
12
|
-
version: 0.10.2.rc.0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.10.2
|
5
|
+
prerelease:
|
13
6
|
platform: ruby
|
14
|
-
authors:
|
7
|
+
authors:
|
15
8
|
- Daniel Jackoway
|
16
9
|
- Charles Nutter
|
17
10
|
- Scott Moyer
|
18
11
|
- Uwe Kubosch
|
19
|
-
autorequire:
|
12
|
+
autorequire:
|
20
13
|
bindir: bin
|
21
14
|
cert_chain: []
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
- !ruby/object:Gem::Dependency
|
15
|
+
date: 2013-03-10 00:00:00.000000000 Z
|
16
|
+
dependencies:
|
17
|
+
- !ruby/object:Gem::Dependency
|
26
18
|
name: main
|
27
|
-
|
28
|
-
|
19
|
+
version_requirements: !ruby/object:Gem::Requirement
|
20
|
+
requirements:
|
21
|
+
- - "~>"
|
22
|
+
- !ruby/object:Gem::Version
|
23
|
+
version: '4.7'
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 4.7.2
|
29
27
|
none: false
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
- 4
|
36
|
-
- 7
|
37
|
-
version: "4.7"
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
29
|
+
requirements:
|
30
|
+
- - "~>"
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '4.7'
|
38
33
|
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
hash: 39
|
41
|
-
segments:
|
42
|
-
- 4
|
43
|
-
- 7
|
44
|
-
- 2
|
34
|
+
- !ruby/object:Gem::Version
|
45
35
|
version: 4.7.2
|
36
|
+
none: false
|
37
|
+
prerelease: false
|
46
38
|
type: :runtime
|
47
|
-
version_requirements: *id001
|
48
39
|
description: |
|
49
40
|
Ruboto (JRuby on Android) is a platform for developing full stand-alone apps for
|
50
41
|
Android using the Ruby language and libraries. It includes support libraries
|
51
42
|
and generators for creating projects, classes, tests, and more. The complete
|
52
43
|
APIs of Android, Java, and Ruby are available to you using the Ruby language.
|
53
|
-
|
54
44
|
email: ruboto@googlegroups.com
|
55
|
-
executables:
|
45
|
+
executables:
|
56
46
|
- ruboto
|
57
47
|
extensions: []
|
58
|
-
|
59
48
|
extra_rdoc_files: []
|
60
|
-
|
61
|
-
files:
|
49
|
+
files:
|
62
50
|
- Gemfile
|
63
51
|
- Gemfile.lock
|
64
52
|
- LICENSE
|
65
53
|
- Rakefile
|
66
54
|
- README.md
|
67
|
-
- assets/libs/dx.jar
|
68
55
|
- assets/Rakefile
|
56
|
+
- assets/libs/dx.jar
|
69
57
|
- assets/rakelib/ruboto.rake
|
70
58
|
- assets/res/drawable/get_ruboto_core.png
|
71
59
|
- assets/res/drawable-hdpi/ic_launcher.png
|
@@ -84,6 +72,9 @@ files:
|
|
84
72
|
- assets/src/InheritingBroadcastReceiver.java
|
85
73
|
- assets/src/InheritingClass.java
|
86
74
|
- assets/src/InheritingService.java
|
75
|
+
- assets/src/RubotoActivity.java
|
76
|
+
- assets/src/RubotoBroadcastReceiver.java
|
77
|
+
- assets/src/RubotoService.java
|
87
78
|
- assets/src/org/ruboto/EntryPointActivity.java
|
88
79
|
- assets/src/org/ruboto/JRubyAdapter.java
|
89
80
|
- assets/src/org/ruboto/Log.java
|
@@ -100,12 +91,9 @@ files:
|
|
100
91
|
- assets/src/ruboto/package.rb
|
101
92
|
- assets/src/ruboto/preference.rb
|
102
93
|
- assets/src/ruboto/service.rb
|
94
|
+
- assets/src/ruboto/widget.rb
|
103
95
|
- assets/src/ruboto/util/stack.rb
|
104
96
|
- assets/src/ruboto/util/toast.rb
|
105
|
-
- assets/src/ruboto/widget.rb
|
106
|
-
- assets/src/RubotoActivity.java
|
107
|
-
- assets/src/RubotoBroadcastReceiver.java
|
108
|
-
- assets/src/RubotoService.java
|
109
97
|
- assets/test/src/test_helper.rb
|
110
98
|
- assets/.DS_Store
|
111
99
|
- assets/.gitignore
|
@@ -114,14 +102,16 @@ files:
|
|
114
102
|
- bin/ruboto
|
115
103
|
- lib/DalvikProxyClassFactory.java
|
116
104
|
- lib/DexClient.java
|
105
|
+
- lib/ruboto.rb
|
117
106
|
- lib/java_class_gen/android_api.xml
|
118
107
|
- lib/ruboto/api.rb
|
108
|
+
- lib/ruboto/description.rb
|
109
|
+
- lib/ruboto/sdk_versions.rb
|
110
|
+
- lib/ruboto/version.rb
|
119
111
|
- lib/ruboto/commands/base.rb
|
120
112
|
- lib/ruboto/core_ext/array.rb
|
121
113
|
- lib/ruboto/core_ext/object.rb
|
122
114
|
- lib/ruboto/core_ext/rexml.rb
|
123
|
-
- lib/ruboto/description.rb
|
124
|
-
- lib/ruboto/sdk_versions.rb
|
125
115
|
- lib/ruboto/util/asset_copier.rb
|
126
116
|
- lib/ruboto/util/build.rb
|
127
117
|
- lib/ruboto/util/code_formatting.rb
|
@@ -132,8 +122,18 @@ files:
|
|
132
122
|
- lib/ruboto/util/update.rb
|
133
123
|
- lib/ruboto/util/verify.rb
|
134
124
|
- lib/ruboto/util/xml_element.rb
|
135
|
-
-
|
136
|
-
-
|
125
|
+
- test/app_test_methods.rb
|
126
|
+
- test/broadcast_receiver_test.rb
|
127
|
+
- test/gem_test.rb
|
128
|
+
- test/minimal_app_test.rb
|
129
|
+
- test/rake_test.rb
|
130
|
+
- test/ruboto_gen_test.rb
|
131
|
+
- test/ruboto_update_test.rb
|
132
|
+
- test/service_test.rb
|
133
|
+
- test/sqldroid_test.rb
|
134
|
+
- test/test_helper.rb
|
135
|
+
- test/update_test_methods.rb
|
136
|
+
- test/updated_example_test_methods.rb
|
137
137
|
- test/activity/call_super_activity.rb
|
138
138
|
- test/activity/call_super_activity_test.rb
|
139
139
|
- test/activity/dir_and_file_activity.rb
|
@@ -165,52 +165,32 @@ files:
|
|
165
165
|
- test/activity/subclass_activity_test.rb
|
166
166
|
- test/activity/view_constants_activity.rb
|
167
167
|
- test/activity/view_constants_activity_test.rb
|
168
|
-
- test/app_test_methods.rb
|
169
|
-
- test/broadcast_receiver_test.rb
|
170
|
-
- test/gem_test.rb
|
171
|
-
- test/minimal_app_test.rb
|
172
|
-
- test/rake_test.rb
|
173
|
-
- test/ruboto_gen_test.rb
|
174
|
-
- test/ruboto_update_test.rb
|
175
|
-
- test/service_test.rb
|
176
|
-
- test/sqldroid_test.rb
|
177
|
-
- test/test_helper.rb
|
178
|
-
- test/update_test_methods.rb
|
179
|
-
- test/updated_example_test_methods.rb
|
180
168
|
homepage: http://ruboto.org/
|
181
|
-
licenses:
|
182
|
-
|
183
|
-
post_install_message:
|
169
|
+
licenses:
|
170
|
+
- MIT
|
171
|
+
post_install_message:
|
184
172
|
rdoc_options: []
|
185
|
-
|
186
|
-
require_paths:
|
173
|
+
require_paths:
|
187
174
|
- lib
|
188
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
175
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
176
|
+
requirements:
|
177
|
+
- - ">="
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
version: !binary |-
|
180
|
+
MA==
|
189
181
|
none: false
|
190
|
-
|
182
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
183
|
+
requirements:
|
191
184
|
- - ">="
|
192
|
-
- !ruby/object:Gem::Version
|
193
|
-
|
194
|
-
|
195
|
-
- 0
|
196
|
-
version: "0"
|
197
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
185
|
+
- !ruby/object:Gem::Version
|
186
|
+
version: !binary |-
|
187
|
+
MA==
|
198
188
|
none: false
|
199
|
-
requirements:
|
200
|
-
- - ">"
|
201
|
-
- !ruby/object:Gem::Version
|
202
|
-
hash: 25
|
203
|
-
segments:
|
204
|
-
- 1
|
205
|
-
- 3
|
206
|
-
- 1
|
207
|
-
version: 1.3.1
|
208
189
|
requirements: []
|
209
|
-
|
210
190
|
rubyforge_project: ruboto/ruboto
|
211
191
|
rubygems_version: 1.8.24
|
212
|
-
signing_key:
|
192
|
+
signing_key:
|
213
193
|
specification_version: 3
|
214
194
|
summary: A platform for developing apps using JRuby on Android.
|
215
195
|
test_files: []
|
216
|
-
|
196
|
+
has_rdoc:
|