ruboto 0.5.2 → 0.5.3

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.
Files changed (45) hide show
  1. data/Gemfile.lock +5 -5
  2. data/README.md +2 -2
  3. data/Rakefile +5 -6
  4. data/assets/Rakefile +32 -11
  5. data/assets/res/drawable/get_ruboto_core.png +0 -0
  6. data/assets/res/layout/get_ruboto_core.xml +1 -1
  7. data/assets/samples/sample_activity.rb +13 -11
  8. data/assets/samples/sample_broadcast_receiver.rb +6 -3
  9. data/assets/samples/sample_service.rb +10 -7
  10. data/assets/src/InheritingActivity.java +1 -186
  11. data/assets/src/RubotoActivity.java +9 -11
  12. data/assets/src/RubotoBroadcastReceiver.java +34 -27
  13. data/assets/src/RubotoService.java +9 -2
  14. data/assets/src/org/ruboto/EntryPointActivity.java +194 -0
  15. data/assets/src/org/ruboto/Script.java +29 -15
  16. data/assets/src/org/ruboto/test/InstrumentationTestRunner.java +17 -16
  17. data/assets/src/ruboto.rb +11 -608
  18. data/assets/src/ruboto/activity.rb +84 -0
  19. data/assets/src/ruboto/base.rb +88 -0
  20. data/assets/src/ruboto/broadcast_receiver.rb +31 -0
  21. data/assets/src/ruboto/legacy.rb +223 -0
  22. data/assets/src/ruboto/menu.rb +89 -0
  23. data/assets/src/ruboto/preference.rb +78 -0
  24. data/assets/src/ruboto/service.rb +74 -0
  25. data/assets/src/ruboto/util/stack.rb +34 -0
  26. data/assets/src/ruboto/util/toast.rb +18 -0
  27. data/assets/src/ruboto/widget.rb +188 -0
  28. data/assets/test/{assets/scripts → src}/test_helper.rb +4 -0
  29. data/bin/ruboto +7 -0
  30. data/lib/ruboto/commands/base.rb +4 -18
  31. data/lib/ruboto/util/build.rb +1 -2
  32. data/lib/ruboto/util/update.rb +77 -70
  33. data/lib/ruboto/version.rb +1 -1
  34. data/test/activity/psych_activity.rb +25 -0
  35. data/test/activity/psych_activity_test.rb +16 -0
  36. data/test/activity/stack_activity_test.rb +1 -1
  37. data/test/app_test_methods.rb +8 -4
  38. data/test/minimal_app_test.rb +6 -3
  39. data/test/rake_test.rb +1 -1
  40. data/test/ruboto_gen_test.rb +10 -1
  41. data/test/test_helper.rb +3 -5
  42. data/test/update_test_methods.rb +2 -2
  43. metadata +20 -8
  44. data/test/ruboto_gen_with_psych_test.rb +0 -16
  45. data/test/ruboto_update_with_psych_test.rb +0 -18
@@ -186,10 +186,9 @@ module Ruboto
186
186
  puts "Added file #{script_file}."
187
187
  end
188
188
 
189
- test_file = File.expand_path("test/assets/scripts/#{script_name.chomp('.rb')}_test.rb", dest)
189
+ test_file = File.expand_path("test/src/#{script_name.chomp('.rb')}_test.rb", dest)
190
190
  if !File.exists? test_file
191
191
  sample_test_source = File.read(File.join(Ruboto::ASSETS, "samples/sample_#{underscore klass}_test.rb")).gsub("THE_PACKAGE", package).gsub("Sample#{klass}", name)
192
- FileUtils.mkdir_p File.join(dest, 'test/assets/scripts')
193
192
  File.open test_file, "a" do |f|
194
193
  f << sample_test_source
195
194
  end
@@ -119,10 +119,19 @@ EOF
119
119
  ant_script.gsub!(/\s*<!-- BEGIN added by ruboto(?:-core)? -->.*?<!-- END added by ruboto(?:-core)? -->\s*/m, '')
120
120
  raise "Bad ANT script" unless ant_script.gsub!(ant_setup_line, "#{run_tests_override}\n\n\\1")
121
121
  File.open('build.xml', 'w'){|f| f << ant_script}
122
+
123
+ # FIXME(uwe): Remove when we stop supporting update from Ruboto <= 0.5.2
124
+ if File.directory? 'assets/scripts'
125
+ log_action 'Moving test scripts to the "src" directory.' do
126
+ FileUtils.mv Dir['assets/scripts/*'], 'src'
127
+ FileUtils.rm_rf 'assets/scripts'
128
+ end
129
+ end
130
+ # FIXME end
122
131
  end
123
132
  end
124
133
 
125
- def update_jruby(force=nil, with_psych=nil)
134
+ def update_jruby(force=nil)
126
135
  jruby_core = Dir.glob("libs/jruby-core-*.jar")[0]
127
136
  jruby_stdlib = Dir.glob("libs/jruby-stdlib-*.jar")[0]
128
137
  new_jruby_version = JRubyJars::VERSION
@@ -149,7 +158,7 @@ EOF
149
158
  log_action("Copying #{JRubyJars::core_jar_path} to libs") {copier.copy_from_absolute_path JRubyJars::core_jar_path, "libs"}
150
159
  log_action("Copying #{JRubyJars::stdlib_jar_path} to libs") {copier.copy_from_absolute_path JRubyJars::stdlib_jar_path, "libs"}
151
160
 
152
- reconfigure_jruby_libs(new_jruby_version, with_psych)
161
+ reconfigure_jruby_libs(new_jruby_version)
153
162
 
154
163
  puts "JRuby version is now: #{new_jruby_version}"
155
164
  true
@@ -177,6 +186,7 @@ EOF
177
186
  copier = Ruboto::Util::AssetCopier.new Ruboto::ASSETS, '.', force
178
187
  log_action('icons') do
179
188
  copier.copy 'res/drawable*/icon.png'
189
+ copier.copy 'res/drawable/get_ruboto_core.png'
180
190
  copier.copy 'res/drawable*/icon.png', 'test'
181
191
  end
182
192
  end
@@ -212,7 +222,7 @@ EOF
212
222
  end
213
223
 
214
224
  def update_manifest(min_sdk, target, force = false)
215
- log_action("\nAdding activities (RubotoActivity and RubotoDialog) and SDK versions to the manifest") do
225
+ log_action("\nAdding RubotoActivity, RubotoDialog, RubotoService, and SDK versions to the manifest") do
216
226
  if sdk_element = verify_manifest.elements['uses-sdk']
217
227
  min_sdk ||= sdk_element.attributes["android:minSdkVersion"]
218
228
  target ||= sdk_element.attributes["android:targetSdkVersion"]
@@ -220,22 +230,27 @@ EOF
220
230
  min_sdk ||= MINIMUM_SUPPORTED_SDK
221
231
  target ||= MINIMUM_SUPPORTED_SDK
222
232
  end
233
+
223
234
  app_element = verify_manifest.elements['application']
224
235
  app_element.attributes['android:icon'] ||= '@drawable/icon'
236
+
225
237
  if min_sdk.to_i >= 11
226
238
  app_element.attributes['android:hardwareAccelerated'] ||= 'true'
227
239
  app_element.attributes['android:largeHeap'] ||= 'true'
228
240
  end
229
- if app_element.elements["activity[@android:name='org.ruboto.RubotoActivity']"]
230
- puts 'found activity tag'
231
- else
241
+
242
+ if !app_element.elements["activity[@android:name='org.ruboto.RubotoActivity']"]
232
243
  app_element.add_element 'activity', {"android:name" => "org.ruboto.RubotoActivity", 'android:exported' => 'false'}
233
244
  end
234
- if app_element.elements["activity[@android:name='org.ruboto.RubotoDialog']"]
235
- puts 'found dialog tag'
236
- else
245
+
246
+ if !app_element.elements["activity[@android:name='org.ruboto.RubotoDialog']"]
237
247
  app_element.add_element 'activity', {"android:name" => "org.ruboto.RubotoDialog", 'android:exported' => 'false', "android:theme" => "@android:style/Theme.Dialog"}
238
248
  end
249
+
250
+ if !app_element.elements["service[@android:name='org.ruboto.RubotoService']"]
251
+ app_element.add_element 'service', {"android:name" => "org.ruboto.RubotoService", 'android:exported' => 'false'}
252
+ end
253
+
239
254
  if sdk_element
240
255
  sdk_element.attributes["android:minSdkVersion"] = min_sdk
241
256
  sdk_element.attributes["android:targetSdkVersion"] = target
@@ -262,11 +277,25 @@ EOF
262
277
  FileUtils.mkdir_p File.dirname(to)
263
278
  FileUtils.cp from, to
264
279
  end
280
+ log_action("Copying additional ruboto script components") do
281
+ Dir.glob(Ruboto::GEM_ROOT + "/assets/#{SCRIPTS_DIR}/ruboto/*.rb").each do |i|
282
+ from = File.expand_path(i)
283
+ to = File.expand_path("./#{SCRIPTS_DIR}/ruboto/#{File.basename(i)}")
284
+ FileUtils.mkdir_p File.dirname(to)
285
+ FileUtils.cp from, to
286
+ end
287
+ Dir.glob(Ruboto::GEM_ROOT + "/assets/#{SCRIPTS_DIR}/ruboto/util/*.rb").each do |i|
288
+ from = File.expand_path(i)
289
+ to = File.expand_path("./#{SCRIPTS_DIR}/ruboto/util/#{File.basename(i)}")
290
+ FileUtils.mkdir_p File.dirname(to)
291
+ FileUtils.cp from, to
292
+ end
293
+ end
265
294
  end
266
295
 
267
- def reconfigure_jruby_libs(jruby_core_version, with_psych=nil)
296
+ def reconfigure_jruby_libs(jruby_core_version)
268
297
  reconfigure_jruby_core(jruby_core_version)
269
- reconfigure_jruby_stdlib(with_psych)
298
+ reconfigure_jruby_stdlib
270
299
  end
271
300
 
272
301
  # - Removes unneeded code from jruby-core
@@ -331,76 +360,54 @@ EOF
331
360
  end
332
361
 
333
362
  # - Moves ruby stdlib to the root of the jruby-stdlib jar
334
- # FIXME(uwe): Place stdlib and psych source in lib/ruby/site_ruby/1.8 since that is first in the load path generated by JRuby.
335
- def reconfigure_jruby_stdlib(with_psych=nil)
336
- excluded_stdlibs = %w{} + (verify_ruboto_config[:excluded_stdlibs] || [])
363
+ def reconfigure_jruby_stdlib
364
+ excluded_stdlibs = [*verify_ruboto_config[:excluded_stdlibs]].compact
337
365
  Dir.chdir 'libs' do
338
366
  jruby_stdlib = JRubyJars::stdlib_jar_path.split('/')[-1]
339
- stdlib_1_8_files = nil
340
367
  log_action("Reformatting #{jruby_stdlib}") do
341
- FileUtils.mkdir_p "tmp/old"
342
- FileUtils.mkdir_p "tmp/new/lib/ruby"
343
- Dir.chdir "tmp/old" do
344
- # FileUtils.move "../#{jruby_stdlib}", "."
345
- `jar -xf ../../#{jruby_stdlib}`
346
- # File.delete jruby_stdlib
347
-
348
- FileUtils.move "META-INF/jruby.home/lib/ruby/1.8", "../new/lib/ruby"
349
- Dir["META-INF/jruby.home/lib/ruby/site_ruby/1.8/*"].each do |f|
350
- next if File.basename(f) =~ /^..?$/
351
- FileUtils.move f, "../new/lib/ruby/1.8/" + File.basename(f)
352
- end
353
- Dir["META-INF/jruby.home/lib/ruby/site_ruby/shared/*"].each do |f|
354
- next if File.basename(f) =~ /^..?$/
355
- FileUtils.move f, "../new/lib/ruby/1.8/" + File.basename(f)
368
+ FileUtils.mkdir_p 'tmp'
369
+ Dir.chdir 'tmp' do
370
+ FileUtils.mkdir_p 'old'
371
+ FileUtils.mkdir_p 'new'
372
+ Dir.chdir 'old' do
373
+ `jar -xf ../../#{jruby_stdlib}`
356
374
  end
357
- end
358
- Dir.chdir "tmp/new/lib/ruby/1.8" do
375
+ FileUtils.move 'old/META-INF/jruby.home/lib', 'new'
376
+
377
+ FileUtils.rm_rf 'new/lib/ruby/gems'
378
+
359
379
  if excluded_stdlibs.any?
360
- excluded_stdlibs.each { |d| FileUtils.rm_rf d }
361
- print "excluded #{excluded_stdlibs.join(' ')}..."
362
- end
363
- stdlib_1_8_files = Dir['**/*']
364
- end
365
- Dir.chdir "tmp/new" do
366
- # Uncomment this part to split the stdlib into one jar per directory
367
- # Dir['*'].select{|f| File.directory? f}.each do |d|
368
- # `jar -cf ../jruby-stdlib-#{d}-#{JRubyJars::VERSION}.jar #{d}`
369
- # FileUtils.rm_rf d
370
- # end
371
-
372
- `jar -cf ../../#{jruby_stdlib} .`
373
- end
374
- end
375
380
 
376
- psych_jar = "psych.jar"
377
- psych_already_present = File.exists? psych_jar
378
- FileUtils.rm_f psych_jar
379
-
380
- if with_psych || with_psych.nil? && psych_already_present
381
- log_action("Adding psych #{File.basename psych_jar}") do
382
- psych_dir = 'tmp/psych/lib/ruby/1.8'
383
- FileUtils.mkdir_p File.dirname(psych_dir)
384
- FileUtils.move "tmp/old/META-INF/jruby.home/lib/ruby/1.9", psych_dir
385
- Dir.chdir psych_dir do
386
- if excluded_stdlibs.any?
387
- excluded_stdlibs.each { |d| FileUtils.rm_rf d }
388
- print "excluded #{excluded_stdlibs.join(' ')}..."
381
+ # TODO(uwe): Simplify when we stop supporting JRuby < 1.7.0
382
+ raise "Unrecognized JRuby stdlib jar: #{jruby_stdlib}" unless jruby_stdlib =~ /jruby-stdlib-(.*).jar/
383
+ jruby_version = Gem::Version.new($1)
384
+ if Gem::Requirement.new('< 1.7.0.dev') =~ jruby_version
385
+ lib_dirs = ['1.8', '1.9', 'site_ruby/1.8', 'site_ruby/1.9', 'site_ruby/shared']
386
+ else
387
+ lib_dirs = ['1.8', '1.9', 'shared']
389
388
  end
390
- psych_files = Dir["**/*"]
391
- puts if psych_files.any?
392
- psych_files.each do |f|
393
- next if File.basename(f) =~ /^..?$/
394
- if stdlib_1_8_files.include? f
395
- puts "Removing duplicate #{f}"
396
- FileUtils.rm_f f
389
+ # TODO end
390
+
391
+ lib_dirs.each do |ld|
392
+ excluded_stdlibs.each do |d|
393
+ dir = "new/lib/ruby/#{ld}/#{d}"
394
+ FileUtils.rm_rf dir if File.exists? dir
395
+ file = "#{dir}.rb"
396
+ FileUtils.rm_rf file if File.exists? file
397
397
  end
398
398
  end
399
+ print "excluded #{excluded_stdlibs.join(' ')}..."
399
400
  end
400
- Dir.chdir 'tmp/psych' do
401
- `jar -cf ../../#{psych_jar} .`
401
+
402
+ Dir.chdir "new" do
403
+ # Uncomment this part to split the stdlib into one jar per directory
404
+ # Dir['*'].select{|f| File.directory? f}.each do |d|
405
+ # `jar -cf ../jruby-stdlib-#{d}-#{JRubyJars::VERSION}.jar #{d}`
406
+ # FileUtils.rm_rf d
407
+ # end
408
+
409
+ `jar -cf ../../#{jruby_stdlib} .`
402
410
  end
403
- FileUtils.remove_dir psych_dir, true
404
411
  end
405
412
  end
406
413
 
@@ -1,3 +1,3 @@
1
1
  module Ruboto
2
- VERSION = '0.5.2'
2
+ VERSION = '0.5.3'
3
3
  end
@@ -0,0 +1,25 @@
1
+ require 'jruby'
2
+ require 'rbconfig'
3
+ org.jruby.ext.psych.PsychLibrary.new.load(JRuby.runtime, false)
4
+ $LOADED_FEATURES << 'psych.so'
5
+ $LOAD_PATH << File.join(Config::CONFIG['libdir'], 'ruby/1.9')
6
+ require 'psych.rb'
7
+
8
+ Psych::Parser
9
+ Psych::Handler
10
+
11
+ require 'ruboto'
12
+
13
+ ruboto_import_widgets :Button, :LinearLayout, :TextView
14
+
15
+ $activity.handle_create do |bundle|
16
+ setTitle File.basename(__FILE__).chomp('_activity.rb').split('_').map { |s| "#{s[0..0].upcase}#{s[1..-1]}" }.join(' ')
17
+
18
+ setup_content do
19
+ linear_layout :orientation => LinearLayout::VERTICAL do
20
+ @decoded_view = text_view :id => 42, :text => Psych.load('--- foo')
21
+ # @encoded_view = text_view :id => 43, :text => Psych.dump("foo")
22
+ end
23
+ end
24
+
25
+ end
@@ -0,0 +1,16 @@
1
+ activity org.ruboto.test_app.PsychActivity
2
+
3
+ setup do |activity|
4
+ start = Time.now
5
+ loop do
6
+ @text_view = activity.findViewById(42)
7
+ break if @text_view || (Time.now - start > 60)
8
+ sleep 1
9
+ end
10
+ assert @text_view
11
+ end
12
+
13
+ test('psych_encode_decode') do |activity|
14
+ assert_equal 'foo', activity.find_view_by_id(42).text.to_s
15
+ #assert_equal "--- foo\n...\n", activity.find_view_by_id(43).text.to_s
16
+ end
@@ -19,5 +19,5 @@ test('stack depth') do |activity|
19
19
  assert_equal 44 + os_offset + jruby_offset[0], activity.find_view_by_id(42).text.to_i, version_message
20
20
  assert_equal 68 + os_offset + jruby_offset[1], activity.find_view_by_id(43).text.to_i, version_message
21
21
  assert_equal 77 + os_offset + jruby_offset[2], activity.find_view_by_id(44).text.to_i, version_message
22
- assert_equal 96 + os_offset + jruby_offset[3], activity.find_view_by_id(45).text.to_i, version_message
22
+ assert_equal 93 + os_offset + jruby_offset[3], activity.find_view_by_id(45).text.to_i, version_message
23
23
  end
@@ -4,22 +4,26 @@ module AppTestMethods
4
4
  include RubotoTest
5
5
 
6
6
  def test_activity_tests
7
- if not ON_JRUBY_JARS_1_5_6
8
- assert_code 'YamlLoads', "with_large_stack{require 'yaml'}"
9
- else
7
+ # TODO(uwe): Remove check when we stop supporting jruby-jars 1.5.6
8
+ if ON_JRUBY_JARS_1_5_6
10
9
  puts "Skipping YAML tests on jruby-jars-1.5.6"
10
+ else
11
+ assert_code 'YamlLoads', "with_large_stack{require 'yaml'}"
11
12
  end
12
13
 
13
14
  assert_code 'ReadSourceFile', "File.read(__FILE__)"
14
15
  assert_code 'DirListsFilesInApk', 'Dir["#{File.dirname(__FILE__)}/*"].each{|f| raise "File #{f.inspect} not found" unless File.exists?(f)}'
15
16
 
16
17
  Dir[File.expand_path('activity/*_test.rb', File.dirname(__FILE__))].each do |test_src|
18
+ # TODO(uwe): Remove check when we stop supporting jruby-jars 1.5.6
19
+ next if ON_JRUBY_JARS_1_5_6 && test_src =~ /psych_activity_test.rb$/
20
+
17
21
  snake_name = test_src.chomp('_test.rb')
18
22
  activity_name = File.basename(snake_name).split('_').map { |s| "#{s[0..0].upcase}#{s[1..-1]}" }.join
19
23
  Dir.chdir APP_DIR do
20
24
  system "#{RUBOTO_CMD} gen class Activity --name #{activity_name}"
21
25
  FileUtils.cp "#{snake_name}.rb", "src/"
22
- FileUtils.cp test_src, "test/assets/scripts/"
26
+ FileUtils.cp test_src, "test/src/"
23
27
  end
24
28
  end
25
29
  run_app_tests
@@ -3,7 +3,8 @@ require 'bigdecimal'
3
3
 
4
4
  class MinimalAppTest < Test::Unit::TestCase
5
5
  def setup
6
- generate_app :excluded_stdlibs => %w{ant cgi digest dl drb ffi irb net optparse racc rbconfig rdoc rexml rinda rss rubygems runit shell soap test uri webrick win32 wsdl xmlrpc xsd}
6
+ generate_app :excluded_stdlibs => %w{ant cgi digest dl drb ffi irb net optparse racc rbconfig rdoc rexml rinda rss
7
+ rubygems runit shell soap test uri webrick win32 wsdl xmlrpc xsd ../1.9}
7
8
  end
8
9
 
9
10
  def teardown
@@ -12,8 +13,10 @@ class MinimalAppTest < Test::Unit::TestCase
12
13
 
13
14
  def test_minimal_apk_is_less_than_3_mb
14
15
  apk_size = BigDecimal(File.size("#{APP_DIR}/bin/RubotoTestApp-debug.apk").to_s) / (1024 * 1024)
15
- limit = 3.0
16
- assert apk_size < limit, "APK was larger than #{'%.1f' % limit}MB: #{'%.1f' % apk_size.ceil(1)}MB"
16
+ upper_limit = 3.0
17
+ lower_limit = upper_limit * 0.85
18
+ assert apk_size <= upper_limit, "APK was larger than #{'%.1f' % upper_limit}MB: #{'%.1f' % apk_size.ceil(1)}MB"
19
+ assert apk_size >= lower_limit, "APK was smaller than #{'%.1f' % lower_limit}MB: #{'%.1f' % apk_size.floor(1)}MB. You should lower the limit."
17
20
  end
18
21
 
19
22
  def test_minimal_apk_succeeds_tests
data/test/rake_test.rb CHANGED
@@ -19,7 +19,7 @@ class RakeTest < Test::Unit::TestCase
19
19
  s.gsub!(/What hath Matz wrought\?/, "This text was changed by script!")
20
20
  File.open(activity_filename, 'w') { |f| f << s }
21
21
 
22
- test_filename = "test/assets/scripts/ruboto_test_app_activity_test.rb"
22
+ test_filename = "test/src/ruboto_test_app_activity_test.rb"
23
23
  s2 = File.read(test_filename)
24
24
  s2.gsub!(/What hath Matz wrought\?/, "This text was changed by script!")
25
25
  File.open(test_filename, 'w') { |f| f << s2 }
@@ -1,4 +1,5 @@
1
1
  require File.expand_path("test_helper", File.dirname(__FILE__))
2
+ require 'bigdecimal'
2
3
  require 'test/app_test_methods'
3
4
 
4
5
  class RubotoGenTest < Test::Unit::TestCase
@@ -24,9 +25,17 @@ class RubotoGenTest < Test::Unit::TestCase
24
25
  assert_equal 1, $?.exitstatus
25
26
  assert !File.exists?('src/org/ruboto/test_app/VeryNewActivity.java')
26
27
  assert !File.exists?('src/very_new_activity.rb')
27
- assert !File.exists?('test/assets/scripts/very_new_activity_test.rb')
28
+ assert !File.exists?('test/src/very_new_activity_test.rb')
28
29
  assert File.read('AndroidManifest.xml') !~ /VeryNewActivity/
29
30
  end
30
31
  end
31
32
 
33
+ def test_new_apk_size_is_within_limits
34
+ apk_size = BigDecimal(File.size("#{APP_DIR}/bin/RubotoTestApp-debug.apk").to_s) / 1024
35
+ upper_limit = 54.0
36
+ lower_limit = upper_limit * 0.9
37
+ assert apk_size <= upper_limit, "APK was larger than #{'%.1f' % upper_limit}KB: #{'%.1f' % apk_size.ceil(1)}KB"
38
+ assert apk_size >= lower_limit, "APK was smaller than #{'%.1f' % lower_limit}KB: #{'%.1f' % apk_size.ceil(1)}KB. You should lower the limit."
39
+ end
40
+
32
41
  end
data/test/test_helper.rb CHANGED
@@ -91,13 +91,12 @@ class Test::Unit::TestCase
91
91
  end
92
92
 
93
93
  def generate_app(options = {})
94
- with_psych = options.delete(:with_psych) || false
95
94
  update = options.delete(:update) || false
96
95
  excluded_stdlibs = options.delete(:excluded_stdlibs)
97
96
  raise "Unknown options: #{options.inspect}" unless options.empty?
98
97
  Dir.mkdir TMP_DIR unless File.exists? TMP_DIR
99
98
 
100
- if with_psych || excluded_stdlibs
99
+ if excluded_stdlibs
101
100
  system 'rake platform:uninstall'
102
101
  else
103
102
  system 'rake platform:install'
@@ -108,7 +107,7 @@ class Test::Unit::TestCase
108
107
  end
109
108
 
110
109
  FileUtils.rm_rf APP_DIR if File.exists? APP_DIR
111
- template_dir = "#{APP_DIR}_template_#{$$}#{'_with_psych' if with_psych}#{'_updated' if update}#{"_without_#{excluded_stdlibs.join('_')}" if excluded_stdlibs}"
110
+ template_dir = "#{APP_DIR}_template_#{$$}#{'_updated' if update}#{"_without_#{excluded_stdlibs.map{|ed| ed.gsub(/[.\/]/, '_')}.join('_')}" if excluded_stdlibs}"
112
111
  if File.exists?(template_dir)
113
112
  puts "Copying app from template #{template_dir}"
114
113
  FileUtils.cp_r template_dir, APP_DIR, :preserve => true
@@ -125,14 +124,13 @@ class Test::Unit::TestCase
125
124
  Dir.chdir APP_DIR do
126
125
  File.open('local.properties', 'w') { |f| f.puts "sdk.dir=#{android_home}" }
127
126
  File.open('test/local.properties', 'w') { |f| f.puts "sdk.dir=#{android_home}" }
128
- FileUtils.touch "libs/psych.jar" if with_psych
129
127
  exclude_stdlibs(excluded_stdlibs) if excluded_stdlibs
130
128
  system "#{RUBOTO_CMD} update app"
131
129
  assert_equal 0, $?, "update app failed with return code #$?"
132
130
  end
133
131
  else
134
132
  puts "Generating app #{APP_DIR}"
135
- system "#{RUBOTO_CMD} gen app --package #{PACKAGE} --path #{APP_DIR} --name #{APP_NAME} --target #{ANDROID_TARGET} #{'--with-psych' if with_psych}"
133
+ system "#{RUBOTO_CMD} gen app --package #{PACKAGE} --path #{APP_DIR} --name #{APP_NAME} --target #{ANDROID_TARGET}"
136
134
  if $? != 0
137
135
  FileUtils.rm_rf APP_DIR
138
136
  raise "gen app failed with return code #$?"
@@ -5,8 +5,8 @@ module UpdateTestMethods
5
5
  include RubotoTest
6
6
  include AppTestMethods
7
7
 
8
- def setup(with_psych = false)
9
- generate_app(:with_psych => with_psych, :update => true)
8
+ def setup
9
+ generate_app :update => true
10
10
  end
11
11
 
12
12
  def teardown
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruboto
3
3
  version: !ruby/object:Gem::Version
4
- hash: 15
4
+ hash: 13
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 5
9
- - 2
10
- version: 0.5.2
9
+ - 3
10
+ version: 0.5.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Daniel Jackoway
@@ -18,7 +18,7 @@ autorequire:
18
18
  bindir: bin
19
19
  cert_chain: []
20
20
 
21
- date: 2011-12-24 00:00:00 Z
21
+ date: 2012-01-16 00:00:00 Z
22
22
  dependencies:
23
23
  - !ruby/object:Gem::Dependency
24
24
  name: main
@@ -45,7 +45,7 @@ dependencies:
45
45
  version_requirements: *id001
46
46
  description: |-
47
47
  Ruboto - JRuby on Android
48
- A generator and framework for developing full stand-alone apps for Android usign the Ruby language and libraries.
48
+ A generator and framework for developing full stand-alone apps for Android using the Ruby language and libraries.
49
49
  email: ruboto@googlegroups.com
50
50
  executables:
51
51
  - ruboto
@@ -60,6 +60,7 @@ files:
60
60
  - Rakefile
61
61
  - README.md
62
62
  - assets/Rakefile
63
+ - assets/res/drawable/get_ruboto_core.png
63
64
  - assets/res/drawable-hdpi/icon.png
64
65
  - assets/res/drawable-ldpi/icon.png
65
66
  - assets/res/drawable-mdpi/icon.png
@@ -74,15 +75,26 @@ files:
74
75
  - assets/src/InheritingBroadcastReceiver.java
75
76
  - assets/src/InheritingClass.java
76
77
  - assets/src/InheritingService.java
78
+ - assets/src/org/ruboto/EntryPointActivity.java
77
79
  - assets/src/org/ruboto/RubotoDialog.java
78
80
  - assets/src/org/ruboto/Script.java
79
81
  - assets/src/org/ruboto/test/ActivityTest.java
80
82
  - assets/src/org/ruboto/test/InstrumentationTestRunner.java
83
+ - assets/src/ruboto/activity.rb
84
+ - assets/src/ruboto/base.rb
85
+ - assets/src/ruboto/broadcast_receiver.rb
86
+ - assets/src/ruboto/legacy.rb
87
+ - assets/src/ruboto/menu.rb
88
+ - assets/src/ruboto/preference.rb
89
+ - assets/src/ruboto/service.rb
90
+ - assets/src/ruboto/util/stack.rb
91
+ - assets/src/ruboto/util/toast.rb
92
+ - assets/src/ruboto/widget.rb
81
93
  - assets/src/ruboto.rb
82
94
  - assets/src/RubotoActivity.java
83
95
  - assets/src/RubotoBroadcastReceiver.java
84
96
  - assets/src/RubotoService.java
85
- - assets/test/assets/scripts/test_helper.rb
97
+ - assets/test/src/test_helper.rb
86
98
  - bin/ruboto
87
99
  - lib/java_class_gen/android_api.xml
88
100
  - lib/java_class_gen/InheritingClass.java.erb
@@ -108,15 +120,15 @@ files:
108
120
  - test/activity/image_button_and_button_activity_test.rb
109
121
  - test/activity/option_menu_activity.rb
110
122
  - test/activity/option_menu_activity_test.rb
123
+ - test/activity/psych_activity.rb
124
+ - test/activity/psych_activity_test.rb
111
125
  - test/activity/stack_activity.rb
112
126
  - test/activity/stack_activity_test.rb
113
127
  - test/app_test_methods.rb
114
128
  - test/minimal_app_test.rb
115
129
  - test/rake_test.rb
116
130
  - test/ruboto_gen_test.rb
117
- - test/ruboto_gen_with_psych_test.rb
118
131
  - test/ruboto_update_test.rb
119
- - test/ruboto_update_with_psych_test.rb
120
132
  - test/service_test.rb
121
133
  - test/test_helper.rb
122
134
  - test/update_test_methods.rb