rhodes 3.2.1 → 3.2.2.beta
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +7 -0
- data/Manifest.txt +36 -0
- data/lib/extensions/barcode/ext/barcode/platform/android/jni/src/barcode.cpp +24 -3
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/android/CaptureActivity.java +11 -280
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/google/zxing/client/android/camera/CameraManager.java +11 -4
- data/lib/extensions/barcode/ext/barcode/platform/android/src/com/rhomobile/barcode/Barcode.java +2 -1
- data/lib/extensions/barcode/ext/barcode/platform/iphone/Barcode.xcodeproj/project.pbxproj +36 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeCallbackHelper.h +25 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeCallbackHelper.mm +195 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewController.h +59 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewController.m +346 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewFactory.h +7 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewFactory.mm +58 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewFactoryRegister.mm +18 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewManager.h +16 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/BarcodeViewManager.mm +32 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/Classes/barcode.m +9 -2
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarCameraSimulator.h +45 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarCaptureReader.h +7 -1
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarReaderView.h +21 -4
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarReaderViewController.h +32 -2
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/ZBarSDK.h +1 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar.h +26 -5
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Decoder.h +1 -0
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/Headers/ZBarSDK/zbar/Symbol.h +2 -3
- data/lib/extensions/barcode/ext/barcode/platform/iphone/ZBarSDK/libzbar.a +0 -0
- data/lib/extensions/barcode/ext/barcode/shared/ruby/barcode.i +3 -2
- data/lib/extensions/barcode/ext/barcode/shared/ruby/barcode_wrap.c +7 -4
- data/lib/extensions/barcode/ext/barcode/shared/src/zbar.c +2 -2
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +1 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraNewService.java +7 -2
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraOldService.java +5 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraSemiService.java +8 -1
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/CameraService.java +4 -2
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/camera/ImageCapture.java +11 -6
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocation.java +21 -13
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocationImpl.java +33 -11
- data/platform/android/build/android.rake +63 -1
- data/platform/iphone/RhoLib/RhoLib.xcodeproj/project.pbxproj +4 -0
- data/platform/iphone/curl/curl.xcodeproj/project.pbxproj +4 -0
- data/platform/iphone/icon.png +0 -0
- data/platform/iphone/rbuild/iphone.rake +6 -4
- data/platform/iphone/rhoextlib/rhoextlib.xcodeproj/project.pbxproj +4 -1
- data/platform/iphone/rhorubylib/rhorubylib.xcodeproj/project.pbxproj +4 -1
- data/platform/iphone/rhorunner.xcodeproj/project.pbxproj +4 -0
- data/platform/iphone/rhosynclib/rhosynclib.xcodeproj/project.pbxproj +4 -0
- data/platform/wp7/IronRuby/bin/Silverlight3Release/IronRuby.Libraries.dll +0 -0
- data/platform/wp7/IronRuby/bin/Silverlight3Release/IronRuby.dll +0 -0
- data/platform/wp7/IronRuby/bin/Silverlight3Release/Microsoft.Dynamic.dll +0 -0
- data/platform/wp7/IronRuby/bin/Silverlight3Release/Microsoft.Scripting.Core.dll +0 -0
- data/platform/wp7/IronRuby/bin/Silverlight3Release/Microsoft.Scripting.dll +0 -0
- data/res/generators/rhogen.rb +191 -0
- data/res/generators/templates/extension/app/MontanaTest/controller.rb +20 -0
- data/res/generators/templates/extension/app/MontanaTest/index.erb +17 -0
- data/res/generators/templates/extension/extensions/montana/ext.yml +4 -0
- data/res/generators/templates/extension/extensions/montana/ext/build +17 -0
- data/res/generators/templates/extension/extensions/montana/ext/build.bat +36 -0
- data/res/generators/templates/extension/extensions/montana/ext/montana/platform/android/Rakefile +77 -0
- data/res/generators/templates/extension/extensions/montana/ext/montana/platform/android/ext_build.files +1 -0
- data/res/generators/templates/extension/extensions/montana/ext/montana/platform/android/jni/src/montana.cpp +28 -0
- data/res/generators/templates/extension/extensions/montana/ext/montana/platform/android/src/com/montana/Montana.java +10 -0
- data/res/generators/templates/extension/extensions/montana/ext/montana/platform/bb/Montana.files +1 -0
- data/res/generators/templates/extension/extensions/montana/ext/montana/platform/bb/Rakefile +97 -0
- data/res/generators/templates/extension/extensions/montana/ext/montana/platform/bb/montana.jdp +48 -0
- data/res/generators/templates/extension/extensions/montana/ext/montana/platform/bb/src/com/montana/Montana.java +118 -0
- data/res/generators/templates/extension/extensions/montana/ext/montana/platform/iphone/Classes/Montana.h +4 -0
- data/res/generators/templates/extension/extensions/montana/ext/montana/platform/iphone/Classes/Montana.m +24 -0
- data/res/generators/templates/extension/extensions/montana/ext/montana/platform/iphone/Montana.xcodeproj/project.pbxproj +300 -0
- data/res/generators/templates/extension/extensions/montana/ext/montana/platform/iphone/Montana_Prefix.pch +7 -0
- data/res/generators/templates/extension/extensions/montana/ext/montana/platform/iphone/Rakefile +74 -0
- data/res/generators/templates/extension/extensions/montana/ext/montana/platform/wm/Montana.vcproj +331 -0
- data/res/generators/templates/extension/extensions/montana/ext/montana/platform/wm/Rakefile +62 -0
- data/res/generators/templates/extension/extensions/montana/ext/montana/platform/wm/src/montana_wm.cpp +40 -0
- data/res/generators/templates/extension/extensions/montana/ext/montana/platform/wm/src/montana_wm.h +2 -0
- data/res/generators/templates/extension/extensions/montana/ext/montana/shared/ruby/montana.i +15 -0
- data/res/generators/templates/extension/extensions/montana/ext/montana/shared/ruby/montana_wrap.c +2287 -0
- data/res/generators/templates/extension/extensions/montana/ext/montana/shared/src/montana.c +20 -0
- data/res/generators/templates/extension/extensions/montana/montana.rb +13 -0
- data/spec/framework_spec/build.yml +1 -1
- data/spec/phone_spec/build.yml +1 -1
- data/version +1 -1
- metadata +42 -5
data/platform/iphone/icon.png
CHANGED
Binary file
|
@@ -195,12 +195,13 @@ def make_app_info
|
|
195
195
|
File.open(fname,"w") { |f| f.write(buf) }
|
196
196
|
end
|
197
197
|
|
198
|
-
ICONS = ['icon', 'icon57', 'icon72', 'icon114']
|
198
|
+
ICONS = [['icon', 'icon57'], ['icon57','icon57'], ['icon72','icon72'], ['icon114','icon114']]
|
199
199
|
|
200
200
|
def restore_app_icon
|
201
201
|
puts "restore icon"
|
202
202
|
ipath = $config["build"]["iphonepath"]
|
203
|
-
ICONS.each do |
|
203
|
+
ICONS.each do |pair|
|
204
|
+
name = pair[0]
|
204
205
|
ibak = File.join(ipath, name + '.bak')
|
205
206
|
icon = File.join(ipath, name + '.png')
|
206
207
|
next if !File.exists? ibak
|
@@ -214,10 +215,11 @@ def set_app_icon(make_bak)
|
|
214
215
|
puts "set icon"
|
215
216
|
ipath = $config["build"]["iphonepath"]
|
216
217
|
begin
|
217
|
-
ICONS.each do |
|
218
|
+
ICONS.each do |pair|
|
219
|
+
name = pair[0]
|
218
220
|
ibak = File.join(ipath, name + '.bak')
|
219
221
|
icon = File.join(ipath, name + '.png')
|
220
|
-
appicon = File.join($app_path, 'icon',
|
222
|
+
appicon = File.join($app_path, 'icon', pair[1] + '.png')
|
221
223
|
if make_bak
|
222
224
|
cp icon, ibak unless File.exists? ibak
|
223
225
|
end
|
@@ -245,7 +245,10 @@
|
|
245
245
|
isa = XCBuildConfiguration;
|
246
246
|
buildSettings = {
|
247
247
|
ALWAYS_SEARCH_USER_PATHS = YES;
|
248
|
-
ARCHS =
|
248
|
+
ARCHS = (
|
249
|
+
armv6,
|
250
|
+
armv7,
|
251
|
+
);
|
249
252
|
DSTROOT = /tmp/rhoextlib.dst;
|
250
253
|
GCC_MODEL_TUNING = G5;
|
251
254
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
@@ -917,7 +917,10 @@
|
|
917
917
|
isa = XCBuildConfiguration;
|
918
918
|
buildSettings = {
|
919
919
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
920
|
-
ARCHS =
|
920
|
+
ARCHS = (
|
921
|
+
armv6,
|
922
|
+
armv7,
|
923
|
+
);
|
921
924
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
922
925
|
GCC_MODEL_TUNING = G5;
|
923
926
|
GCC_OPTIMIZATION_LEVEL = 1;
|
@@ -1146,6 +1146,10 @@
|
|
1146
1146
|
isa = XCBuildConfiguration;
|
1147
1147
|
buildSettings = {
|
1148
1148
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
1149
|
+
ARCHS = (
|
1150
|
+
armv6,
|
1151
|
+
armv7,
|
1152
|
+
);
|
1149
1153
|
CODE_SIGN_ENTITLEMENTS = Entitlements.plist;
|
1150
1154
|
CODE_SIGN_IDENTITY = "iPhone Developer";
|
1151
1155
|
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
|
@@ -388,6 +388,10 @@
|
|
388
388
|
isa = XCBuildConfiguration;
|
389
389
|
buildSettings = {
|
390
390
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
391
|
+
ARCHS = (
|
392
|
+
armv6,
|
393
|
+
armv7,
|
394
|
+
);
|
391
395
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
392
396
|
GCC_MODEL_TUNING = G5;
|
393
397
|
HEADER_SEARCH_PATHS = ../../shared;
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/res/generators/rhogen.rb
CHANGED
@@ -278,8 +278,199 @@ module Rhogen
|
|
278
278
|
end
|
279
279
|
|
280
280
|
|
281
|
+
|
282
|
+
class ExtensionGenerator < BaseGenerator
|
283
|
+
|
284
|
+
def self.source_root
|
285
|
+
File.join(File.dirname(__FILE__), 'templates', 'extension')
|
286
|
+
end
|
287
|
+
|
288
|
+
desc <<-DESC
|
289
|
+
Adds native extension to Rhodes based application.
|
290
|
+
DESC
|
291
|
+
|
292
|
+
#option :testing_framework, :desc => 'Specify which testing framework to use (spec, test_unit)'
|
293
|
+
|
294
|
+
first_argument :name, :required => true, :desc => "extension name"
|
295
|
+
|
296
|
+
template :ext do |template|
|
297
|
+
template.source = 'extensions/montana/ext.yml'
|
298
|
+
template.destination = "extensions/#{name.downcase}/ext.yml"
|
299
|
+
end
|
300
|
+
|
301
|
+
template :extension_ruby do |template|
|
302
|
+
template.source = 'extensions/montana/montana.rb'
|
303
|
+
template.destination = "extensions/#{name.downcase}/#{name.downcase}.rb"
|
304
|
+
end
|
305
|
+
|
306
|
+
$build_script_full_path = ''
|
307
|
+
|
308
|
+
def callback_after_make_build(template)
|
309
|
+
# change atribbutes in build script file to executable
|
310
|
+
File.chmod(0755, $build_script_full_path)
|
311
|
+
end
|
312
|
+
|
313
|
+
template :build do |template|
|
314
|
+
template.source = 'extensions/montana/ext/build'
|
315
|
+
template.destination = "extensions/#{name.downcase}/ext/build"
|
316
|
+
$build_script_full_path = template.destination
|
317
|
+
template.options = { :after => :callback_after_make_build}
|
318
|
+
end
|
319
|
+
|
320
|
+
template :build_bat do |template|
|
321
|
+
template.source = 'extensions/montana/ext/build.bat'
|
322
|
+
template.destination = "extensions/#{name.downcase}/ext/build.bat"
|
323
|
+
end
|
324
|
+
|
325
|
+
template :extension_i do |template|
|
326
|
+
template.source = 'extensions/montana/ext/montana/shared/ruby/montana.i'
|
327
|
+
template.destination = "extensions/#{name.downcase}/ext/#{name.downcase}/shared/ruby/#{name.downcase}.i"
|
328
|
+
end
|
329
|
+
|
330
|
+
template :extension_wrap do |template|
|
331
|
+
template.source = 'extensions/montana/ext/montana/shared/ruby/montana_wrap.c'
|
332
|
+
template.destination = "extensions/#{name.downcase}/ext/#{name.downcase}/shared/ruby/#{name.downcase}_wrap.c"
|
333
|
+
end
|
334
|
+
|
335
|
+
template :extension_c do |template|
|
336
|
+
template.source = 'extensions/montana/ext/montana/shared/src/montana.c'
|
337
|
+
template.destination = "extensions/#{name.downcase}/ext/#{name.downcase}/shared/src/#{name.downcase}.c"
|
338
|
+
end
|
339
|
+
|
340
|
+
template :extension_iphone_rakefile do |template|
|
341
|
+
template.source = 'extensions/montana/ext/montana/platform/iphone/Rakefile'
|
342
|
+
template.destination = "extensions/#{name.downcase}/ext/#{name.downcase}/platform/iphone/Rakefile"
|
343
|
+
end
|
344
|
+
|
345
|
+
file :extension_iphone_pch do |file|
|
346
|
+
file.source = 'extensions/montana/ext/montana/platform/iphone/Montana_Prefix.pch'
|
347
|
+
file.destination = "extensions/#{name.downcase}/ext/#{name.downcase}/platform/iphone/#{name.camel_case}_Prefix.pch"
|
348
|
+
end
|
349
|
+
|
350
|
+
template :extension_iphone_project do |template|
|
351
|
+
template.source = 'extensions/montana/ext/montana/platform/iphone/Montana.xcodeproj/project.pbxproj'
|
352
|
+
template.destination = "extensions/#{name.downcase}/ext/#{name.downcase}/platform/iphone/#{name.camel_case}.xcodeproj/project.pbxproj"
|
353
|
+
end
|
354
|
+
|
355
|
+
template :extension_iphone_src_h do |template|
|
356
|
+
template.source = 'extensions/montana/ext/montana/platform/iphone/Classes/Montana.h'
|
357
|
+
template.destination = "extensions/#{name.downcase}/ext/#{name.downcase}/platform/iphone/Classes/#{name.camel_case}.h"
|
358
|
+
end
|
359
|
+
|
360
|
+
template :extension_iphone_src_m do |template|
|
361
|
+
template.source = 'extensions/montana/ext/montana/platform/iphone/Classes/Montana.m'
|
362
|
+
template.destination = "extensions/#{name.downcase}/ext/#{name.downcase}/platform/iphone/Classes/#{name.camel_case}.m"
|
363
|
+
end
|
364
|
+
|
365
|
+
template :extension_android_ext_build do |template|
|
366
|
+
template.source = 'extensions/montana/ext/montana/platform/android/ext_build.files'
|
367
|
+
template.destination = "extensions/#{name.downcase}/ext/#{name.downcase}/platform/android/ext_build.files"
|
368
|
+
end
|
369
|
+
|
370
|
+
template :extension_android_rakefile do |template|
|
371
|
+
template.source = 'extensions/montana/ext/montana/platform/android/Rakefile'
|
372
|
+
template.destination = "extensions/#{name.downcase}/ext/#{name.downcase}/platform/android/Rakefile"
|
373
|
+
end
|
374
|
+
|
375
|
+
template :extension_android_cpp do |template|
|
376
|
+
template.source = 'extensions/montana/ext/montana/platform/android/jni/src/montana.cpp'
|
377
|
+
template.destination = "extensions/#{name.downcase}/ext/#{name.downcase}/platform/android/jni/src/#{name.downcase}.cpp"
|
378
|
+
end
|
379
|
+
|
380
|
+
template :extension_android_java do |template|
|
381
|
+
template.source = 'extensions/montana/ext/montana/platform/android/src/com/montana/Montana.java'
|
382
|
+
template.destination = "extensions/#{name.downcase}/ext/#{name.downcase}/platform/android/src/com/#{name.downcase}/#{name.camel_case}.java"
|
383
|
+
end
|
384
|
+
|
385
|
+
|
386
|
+
template :extension_wm_rakefile do |template|
|
387
|
+
template.source = 'extensions/montana/ext/montana/platform/wm/Rakefile'
|
388
|
+
template.destination = "extensions/#{name.downcase}/ext/#{name.downcase}/platform/wm/Rakefile"
|
389
|
+
end
|
390
|
+
|
391
|
+
template :extension_wm_vcproject do |template|
|
392
|
+
template.source = 'extensions/montana/ext/montana/platform/wm/Montana.vcproj'
|
393
|
+
template.destination = "extensions/#{name.downcase}/ext/#{name.downcase}/platform/wm/#{name.camel_case}.vcproj"
|
394
|
+
end
|
395
|
+
|
396
|
+
template :extension_wm_h do |template|
|
397
|
+
template.source = 'extensions/montana/ext/montana/platform/wm/src/montana_wm.h'
|
398
|
+
template.destination = "extensions/#{name.downcase}/ext/#{name.downcase}/platform/wm/src/#{name.downcase}_wm.h"
|
399
|
+
end
|
400
|
+
|
401
|
+
template :extension_wm_cpp do |template|
|
402
|
+
template.source = 'extensions/montana/ext/montana/platform/wm/src/montana_wm.cpp'
|
403
|
+
template.destination = "extensions/#{name.downcase}/ext/#{name.downcase}/platform/wm/src/#{name.downcase}_wm.cpp"
|
404
|
+
end
|
405
|
+
|
406
|
+
|
407
|
+
template :extension_bb_files do |template|
|
408
|
+
template.source = 'extensions/montana/ext/montana/platform/bb/Montana.files'
|
409
|
+
template.destination = "extensions/#{name.downcase}/ext/#{name.downcase}/platform/bb/#{name.camel_case}.files"
|
410
|
+
end
|
411
|
+
|
412
|
+
template :extension_bb_jgp do |template|
|
413
|
+
template.source = 'extensions/montana/ext/montana/platform/bb/montana.jdp'
|
414
|
+
template.destination = "extensions/#{name.downcase}/ext/#{name.downcase}/platform/bb/#{name.downcase}.jdp"
|
415
|
+
end
|
416
|
+
|
417
|
+
template :extension_bb_Rakefile do |template|
|
418
|
+
template.source = 'extensions/montana/ext/montana/platform/bb/Rakefile'
|
419
|
+
template.destination = "extensions/#{name.downcase}/ext/#{name.downcase}/platform/bb/Rakefile"
|
420
|
+
end
|
421
|
+
|
422
|
+
template :extension_bb_java do |template|
|
423
|
+
template.source = 'extensions/montana/ext/montana/platform/bb/src/com/montana/Montana.java'
|
424
|
+
template.destination = "extensions/#{name.downcase}/ext/#{name.downcase}/platform/bb/src/com/#{name.downcase}/#{name.camel_case}.java"
|
425
|
+
end
|
426
|
+
|
427
|
+
|
428
|
+
|
429
|
+
template :extension_test_controller do |template|
|
430
|
+
template.source = 'app/MontanaTest/controller.rb'
|
431
|
+
template.destination = "app/#{name.camel_case}Test/controller.rb"
|
432
|
+
end
|
433
|
+
|
434
|
+
template :extension_test_index do |template|
|
435
|
+
template.source = 'app/MontanaTest/index.erb'
|
436
|
+
template.destination = "app/#{name.camel_case}Test/index.erb"
|
437
|
+
end
|
438
|
+
|
439
|
+
|
440
|
+
|
441
|
+
|
442
|
+
#<%= name.downcase %>
|
443
|
+
#<%= name.camel_case %>
|
444
|
+
|
445
|
+
#template :spec do |template|
|
446
|
+
# underscore_name = name.camel_case.split(/(?=[A-Z])/).map{|w| w.downcase}.join("_")
|
447
|
+
# template.source = 'spec.rb'
|
448
|
+
# template.destination = "app/test/#{underscore_name}_spec.rb"
|
449
|
+
#end
|
450
|
+
|
451
|
+
#file :loadingpng do |file|
|
452
|
+
# file.source = 'app/loading.png'
|
453
|
+
# file.destination = "#{name}/app/loading.png"
|
454
|
+
#end
|
455
|
+
|
456
|
+
#directory :helpers do |directory|
|
457
|
+
# directory.source = 'app/helpers'
|
458
|
+
# directory.destination = "#{name}/app/helpers"
|
459
|
+
#end
|
460
|
+
|
461
|
+
|
462
|
+
def attributes?
|
463
|
+
self.attributes && !self.attributes.empty?
|
464
|
+
end
|
465
|
+
|
466
|
+
end
|
467
|
+
|
468
|
+
|
469
|
+
|
470
|
+
|
281
471
|
add :app, AppGenerator
|
282
472
|
add :model, ModelGenerator
|
283
473
|
add :spec, SpecGenerator
|
474
|
+
add :extension, ExtensionGenerator
|
284
475
|
|
285
476
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'rho/rhocontroller'
|
2
|
+
require 'helpers/application_helper'
|
3
|
+
require 'helpers/browser_helper'
|
4
|
+
require '<%= name.downcase %>'
|
5
|
+
|
6
|
+
class <%= name.camel_case %>TestController < Rho::RhoController
|
7
|
+
include BrowserHelper
|
8
|
+
include ApplicationHelper
|
9
|
+
|
10
|
+
def index
|
11
|
+
render :back => '/app'
|
12
|
+
end
|
13
|
+
|
14
|
+
def run_test
|
15
|
+
sum = <%= name.camel_case %>.calc_summ(3,7)
|
16
|
+
Alert.show_popup <%= name.camel_case %>::<%= name.camel_case %>StringHelper::process_string('test')+sum.to_s
|
17
|
+
render :action => :index, :back => '/app'
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<div data-role="page">
|
2
|
+
|
3
|
+
<div data-role="header" data-position="inline">
|
4
|
+
<h1><%= name.camel_case %> Extension Test</h1>
|
5
|
+
<a href="<%%= Rho::RhoConfig.start_path %>" class="ui-btn-left" data-icon="home" data-direction="reverse"
|
6
|
+
<%%= "data-ajax='false'" if is_bb6 %>>Home</a>
|
7
|
+
|
8
|
+
</div>
|
9
|
+
|
10
|
+
<div data-role="content">
|
11
|
+
<ul data-role="listview">
|
12
|
+
<%%= link_to 'Run <%= name.camel_case %> test', { :action => :run_test }%>
|
13
|
+
</ul>
|
14
|
+
</div>
|
15
|
+
|
16
|
+
</div>
|
17
|
+
|
@@ -0,0 +1,36 @@
|
|
1
|
+
|
2
|
+
if "%RHO_PLATFORM%" == "android" (
|
3
|
+
|
4
|
+
cd <%= name.downcase %>\platform\android
|
5
|
+
rake --trace
|
6
|
+
|
7
|
+
)
|
8
|
+
|
9
|
+
if "%RHO_PLATFORM%" == "iphone" (
|
10
|
+
|
11
|
+
cd <%= name.downcase %>\platform\phone
|
12
|
+
rake --trace
|
13
|
+
|
14
|
+
)
|
15
|
+
|
16
|
+
if "%RHO_PLATFORM%" == "wm" (
|
17
|
+
|
18
|
+
cd <%= name.downcase %>\platform\wm
|
19
|
+
rake --trace
|
20
|
+
|
21
|
+
)
|
22
|
+
|
23
|
+
if "%RHO_PLATFORM%" == "win32" (
|
24
|
+
|
25
|
+
cd <%= name.downcase %>\platform\wm
|
26
|
+
rake --trace
|
27
|
+
|
28
|
+
)
|
29
|
+
|
30
|
+
if "%RHO_PLATFORM%" == "bb" (
|
31
|
+
|
32
|
+
cd <%= name.downcase %>\platform\bb
|
33
|
+
rake --trace
|
34
|
+
|
35
|
+
)
|
36
|
+
|
data/res/generators/templates/extension/extensions/montana/ext/montana/platform/android/Rakefile
ADDED
@@ -0,0 +1,77 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
|
3
|
+
|
4
|
+
def build_extension(name, arch, src_files)
|
5
|
+
objects = []
|
6
|
+
mkdir_p $tempdir unless File.exists? $tempdir
|
7
|
+
|
8
|
+
use_own_stlport = false
|
9
|
+
$std_includes = File.join ENV['ANDROID_NDK'], "sources", "cxx-stl", "stlport", "stlport"
|
10
|
+
unless File.directory? $std_includes
|
11
|
+
$stlport_includes = "#{$rootdir}/platform/shared/stlport/stlport"
|
12
|
+
use_own_stlport = true
|
13
|
+
end
|
14
|
+
|
15
|
+
#Dir.glob("*.c").each do |f|
|
16
|
+
src_files.each do |f|
|
17
|
+
objname = File.join( $tempdir, File.basename( f.gsub(/\.c$/, '.o') ) )
|
18
|
+
objects << objname
|
19
|
+
|
20
|
+
args = []
|
21
|
+
args << "-I."
|
22
|
+
args << "-I#{$rootdir}/platform/android/Rhodes/jni/include"
|
23
|
+
args << "-I#{$rootdir}/platform/shared/ruby/include"
|
24
|
+
args << "-I#{$rootdir}/platform/shared"
|
25
|
+
args << "-I#{$rootdir}/platform/shared/common"
|
26
|
+
|
27
|
+
args << "-I#{$std_includes}" unless $std_includes.nil?
|
28
|
+
args << "-D__NEW__" if use_own_stlport
|
29
|
+
args << "-I#{$stlport_includes}" if use_own_stlport
|
30
|
+
|
31
|
+
args << "-I#{$rootdir}/platform/shared/ruby/android"
|
32
|
+
args << "-I#{$rootdir}/platform/shared/ruby/generated"
|
33
|
+
|
34
|
+
cc_compile f, $tempdir, args or exit 1
|
35
|
+
|
36
|
+
end
|
37
|
+
|
38
|
+
mkdir_p $targetdir unless File.exist? $targetdir
|
39
|
+
|
40
|
+
cc_ar File.join( $targetdir, 'lib' + name + '.a' ), Dir.glob($tempdir + "/**/*.o") or exit 1
|
41
|
+
|
42
|
+
end
|
43
|
+
|
44
|
+
namespace "build" do
|
45
|
+
task :config do
|
46
|
+
curdir = pwd
|
47
|
+
$<%= name.downcase %>dir = curdir.gsub('/ext/<%= name.downcase %>/platform/android','');
|
48
|
+
$targetdir = ENV['TARGET_TEMP_DIR']
|
49
|
+
raise "TARGET_TEMP_DIR is not set" if $targetdir.nil?
|
50
|
+
$tempdir = ENV['TEMP_FILES_DIR']
|
51
|
+
raise "TEMP_FILES_DIR is not set" if $tempdir.nil?
|
52
|
+
$rootdir = ENV['RHO_ROOT']
|
53
|
+
raise "RHO_ROOT is not set" if $rootdir.nil?
|
54
|
+
|
55
|
+
require File.join($rootdir, 'platform/android/build/androidcommon.rb')
|
56
|
+
|
57
|
+
setup_ndk(ENV['ANDROID_NDK'],ENV['ANDROID_API_LEVEL'])
|
58
|
+
|
59
|
+
end
|
60
|
+
|
61
|
+
task :all => :config do
|
62
|
+
|
63
|
+
src_files = []
|
64
|
+
|
65
|
+
src_files << $<%= name.downcase %>dir + '/ext/<%= name.downcase %>/platform/android/jni/src/<%= name.downcase %>.cpp'
|
66
|
+
src_files << $<%= name.downcase %>dir + '/ext/<%= name.downcase %>/shared/ruby/<%= name.downcase %>_wrap.c'
|
67
|
+
src_files << $<%= name.downcase %>dir + '/ext/<%= name.downcase %>/shared/src/<%= name.downcase %>.c'
|
68
|
+
|
69
|
+
# build native part
|
70
|
+
build_extension('<%= name.camel_case %>', $arch, src_files)
|
71
|
+
|
72
|
+
# java part will be builded automatically (java files should be listed in ext_build.files ans ext. yml should be configured)
|
73
|
+
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
task :default => "build:all"
|