rhodes 2.0.0.beta2 → 2.0.0.beta3
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +2 -0
- data/Manifest.txt +27 -148
- data/Rakefile +49 -3
- data/lib/framework/builtinME.rb +6 -0
- data/lib/framework/rho/render.rb +13 -8
- data/lib/framework/rho/rho.rb +97 -43
- data/lib/framework/rho/rhoapplication.rb +8 -3
- data/lib/framework/rho/rhocontroller.rb +1 -1
- data/lib/framework/rhodes-framework.rb +1 -1
- data/lib/framework/rhodes.rb +1 -1
- data/lib/framework/rhoframework.rb +7 -22
- data/lib/framework/rhofsconnector.rb +1 -1
- data/lib/framework/rholang/localization_simplified.rb +2 -2
- data/lib/framework/rhom/rhom.rb +1 -0
- data/lib/framework/rhom/rhom_db_adapter.rb +2 -2
- data/lib/framework/rhom/rhom_model.rb +98 -0
- data/lib/framework/rhom/rhom_object_factory.rb +13 -12
- data/lib/rhodes.rb +1 -1
- data/platform/android/Rhodes/jni/include/{JNIRhodes.h → rhodes/JNIRhodes.h} +3 -54
- data/platform/android/Rhodes/jni/include/{RhoClassFactory.h → rhodes/RhoClassFactory.h} +0 -0
- data/platform/android/Rhodes/jni/include/{SystemInfoImpl.h → rhodes/SystemInfoImpl.h} +0 -0
- data/platform/android/Rhodes/jni/include/{details → rhodes/details}/rhojava.inc +1 -0
- data/platform/android/Rhodes/jni/include/{jni → rhodes/jni}/com_rhomobile_rhodes_Logger.h +0 -0
- data/platform/android/Rhodes/jni/include/{jni → rhodes/jni}/com_rhomobile_rhodes_RhoConf.h +0 -0
- data/platform/android/Rhodes/jni/include/{jni → rhodes/jni}/com_rhomobile_rhodes_RhoLogConf.h +0 -0
- data/platform/android/Rhodes/jni/include/{jni → rhodes/jni}/com_rhomobile_rhodes_RhoMenu.h +0 -0
- data/platform/android/Rhodes/jni/include/{jni → rhodes/jni}/com_rhomobile_rhodes_Rhodes.h +0 -0
- data/platform/android/Rhodes/jni/include/{jni → rhodes/jni}/com_rhomobile_rhodes_SplashScreen.h +0 -0
- data/platform/android/Rhodes/jni/include/{jni → rhodes/jni}/com_rhomobile_rhodes_alert_Alert.h +0 -0
- data/platform/android/Rhodes/jni/include/{jni → rhodes/jni}/com_rhomobile_rhodes_camera_Camera.h +0 -0
- data/platform/android/Rhodes/jni/include/{jni → rhodes/jni}/com_rhomobile_rhodes_datetime_DateTimePicker.h +0 -0
- data/platform/android/Rhodes/jni/include/{jni → rhodes/jni}/com_rhomobile_rhodes_geolocation_GeoLocationImpl.h +0 -0
- data/platform/android/Rhodes/jni/include/{jni → rhodes/jni}/com_rhomobile_rhodes_socket_RhoSocketImpl.h +0 -0
- data/platform/android/Rhodes/jni/include/{jni → rhodes/jni}/com_rhomobile_rhodes_socket_SSLImpl.h +0 -0
- data/platform/android/Rhodes/jni/include/{sslimpl.h → rhodes/sslimpl.h} +0 -0
- data/platform/android/Rhodes/jni/include/rhodes.h +59 -0
- data/platform/android/Rhodes/jni/src/RhoClassFactory.cpp +3 -3
- data/platform/android/Rhodes/jni/src/alert.cpp +2 -2
- data/platform/android/Rhodes/jni/src/callbacks.cpp +4 -3
- data/platform/android/Rhodes/jni/src/camera.cpp +2 -2
- data/platform/android/Rhodes/jni/src/datetimepicker.cpp +2 -2
- data/platform/android/Rhodes/jni/src/geolocation.cpp +2 -2
- data/platform/android/Rhodes/jni/src/logconf.cpp +2 -2
- data/platform/android/Rhodes/jni/src/logger.cpp +2 -2
- data/platform/android/Rhodes/jni/src/mapview.cpp +1 -1
- data/platform/android/Rhodes/jni/src/menu.cpp +2 -2
- data/platform/android/Rhodes/jni/src/nativebar.cpp +1 -1
- data/platform/android/Rhodes/jni/src/navbar.cpp +17 -3
- data/platform/android/Rhodes/jni/src/phonebook.cpp +1 -1
- data/platform/android/Rhodes/jni/src/rhoconf.cpp +2 -2
- data/platform/android/Rhodes/jni/src/rhodes.cpp +3 -3
- data/platform/android/Rhodes/jni/src/ringtones.cpp +1 -1
- data/platform/android/Rhodes/jni/src/socketimpl.cpp +2 -2
- data/platform/android/Rhodes/jni/src/splashscreen.cpp +2 -2
- data/platform/android/Rhodes/jni/src/sslimpl.cpp +3 -3
- data/platform/android/Rhodes/jni/src/syncengine.cpp +2 -2
- data/platform/android/Rhodes/jni/src/webview.cpp +15 -12
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/NativeLibraries.java +11 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/NavBar.java +52 -0
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/Rhodes.java +8 -2
- data/platform/android/Rhodes/src/com/rhomobile/rhodes/WebView.java +26 -28
- data/platform/android/build/RhodesSRC_build.files +21 -20
- data/platform/android/build/android.rake +69 -24
- data/platform/android/build/androidcommon.rb +17 -12
- data/platform/bb/build/bb.rake +23 -21
- data/platform/bb/rhodes/src/com/rho/BrowserAdapter.java +5 -2
- data/platform/bb/rhodes/src/com/rho/RhoRubyHelper.java +6 -1
- data/platform/bb/rhodes/src/com/rho/rubyext/System.java +9 -1
- data/platform/bb/rhodes/src/com/rho/rubyext/WebView.java +31 -2
- data/platform/bb/rhodes/src/rhomobile/RhodesApplication.java +17 -6
- data/platform/bb/rhodes/src/rhomobile/Utilities.java +6 -0
- data/platform/iphone/Classes/AppManager/AppManager.m +16 -4
- data/platform/iphone/Classes/DateTime.h +5 -6
- data/platform/iphone/Classes/DateTimePicker.m +4 -18
- data/platform/iphone/Classes/DateTimePickerDelegate.h +7 -9
- data/platform/iphone/Classes/DateTimePickerDelegate.m +141 -152
- data/platform/iphone/Classes/Rhodes.h +6 -1
- data/platform/iphone/Classes/Rhodes.m +17 -43
- data/platform/iphone/Classes/SimpleMainView.h +1 -1
- data/platform/iphone/Classes/SimpleMainView.m +54 -4
- data/platform/iphone/Classes/WebView.m +17 -0
- data/platform/iphone/rbuild/iphone.rake +1 -0
- data/platform/iphone/rhorunner.xcodeproj/project.pbxproj +0 -45
- data/platform/shared/common/PosixThreadImpl.cpp +8 -0
- data/platform/shared/common/PosixThreadImpl.h +1 -0
- data/platform/shared/common/RhoThread.cpp +1 -0
- data/platform/shared/common/RhoThread.h +4 -2
- data/platform/shared/curl/include/curl/curl.h +4 -0
- data/platform/shared/db/DBAdapter.cpp +47 -60
- data/platform/shared/db/DBAdapter.h +6 -2
- data/platform/shared/net/AsyncHttp.cpp +27 -11
- data/platform/shared/net/AsyncHttp.h +3 -1
- data/platform/shared/net/CURLNetRequest.cpp +11 -10
- data/platform/shared/net/CURLNetRequest.h +6 -4
- data/platform/shared/net/HttpServer.cpp +11 -6
- data/platform/shared/ruby/ext/asynchttp/asynchttp.i +2 -2
- data/platform/shared/ruby/ext/asynchttp/asynchttp_wrap.c +22 -11
- data/platform/shared/ruby/ext/rho/rhoruby.c +2 -2
- data/platform/shared/ruby/ext/rho/rhosupport.c +23 -3
- data/platform/shared/ruby/ext/webview/webview.i +4 -0
- data/platform/shared/ruby/ext/webview/webview_wrap.c +39 -0
- data/platform/shared/ruby/re.c +8 -0
- data/platform/shared/ruby/string.c +1 -1
- data/platform/shared/rubyJVM/src/com/rho/IRhoRubyHelper.java +1 -0
- data/platform/shared/rubyJVM/src/com/rho/RhoClassFactory.java +6 -1
- data/platform/shared/rubyJVM/src/com/rho/RhoThread.java +3 -0
- data/platform/shared/rubyJVM/src/com/rho/RhodesApp.java +34 -0
- data/platform/shared/rubyJVM/src/com/rho/db/DBAdapter.java +40 -53
- data/platform/shared/rubyJVM/src/com/rho/net/AsyncHttp.java +32 -15
- data/platform/shared/rubyJVM/src/com/rho/net/NetRequest.java +31 -17
- data/platform/shared/rubyJVM/src/com/rho/net/RhoConnection.java +3 -0
- data/platform/shared/rubyJVM/src/com/rho/sync/JSONArrayIterator.java +17 -0
- data/platform/shared/rubyJVM/src/com/rho/sync/SyncEngine.java +158 -137
- data/platform/shared/rubyJVM/src/com/rho/sync/SyncSource.java +18 -17
- data/platform/shared/rubyJVM/src/com/rho/sync/SyncThread.java +10 -2
- data/platform/shared/rubyJVM/src/com/xruby/GeneratedMethods/RubyFile_Methods.java +6 -0
- data/platform/shared/rubyJVM/src/com/xruby/runtime/builtin/RubyFile.java +18 -3
- data/platform/shared/rubyJVM/src/j2me/io/File.java +37 -9
- data/platform/shared/sqlite/sqlite3.c +14613 -13016
- data/platform/shared/sqlite/sqlite3.h +1461 -1499
- data/platform/shared/sqlite/sqlite3ext.h +0 -2
- data/platform/shared/sync/ClientRegister.cpp +3 -3
- data/platform/shared/sync/ClientRegister.h +2 -1
- data/platform/shared/sync/SyncEngine.cpp +20 -8
- data/platform/shared/sync/SyncSource.cpp +12 -12
- data/platform/shared/sync/SyncSource.h +4 -4
- data/platform/shared/sync/SyncThread.cpp +8 -1
- data/platform/shared/tcmalloc/rhomem.h +3 -0
- data/platform/shared/tcmalloc/tcmalloc_.cpp +11 -0
- data/platform/wm/rhodes/Alert.cpp +148 -101
- data/platform/wm/rhodes/Alert.h +4 -1
- data/platform/wm/rhodes/AppManager.cpp +212 -72
- data/platform/wm/rhodes/AppManager.h +24 -3
- data/platform/wm/rhodes/DateTimePicker.cpp +23 -11
- data/platform/wm/rhodes/DateTimePicker.h +16 -5
- data/platform/wm/rhodes/MainWindow.cpp +22 -7
- data/platform/wm/rhodes/OkCancelModalDialog.h +63 -0
- data/platform/wm/rhodes/Rhodes.cpp +29 -17
- data/platform/wm/rhodes/phonebook/NativeAddressBook.cpp +128 -4
- data/platform/wm/rhodes/phonebook/NativeAddressBook.h +33 -3
- data/platform/wm/rhodes/resource.h +1 -1
- data/platform/wm/rhodes/rho/common/RhoClassFactory.cpp +5 -0
- data/platform/wm/rhodes/rho/net/NetRequestImpl.cpp +136 -102
- data/platform/wm/rhodes/rho/net/NetRequestImpl.h +12 -5
- data/platform/wm/rhodes/rho/rubyext/SystemImpl.cpp +24 -10
- data/platform/wm/rhodes/rho/rubyext/WebView.cpp +6 -0
- data/platform/wm/rhodes/rhodes.vcproj +4 -0
- data/platform/wm/tools/detool/detool.cpp +17 -4
- data/rakefile.rb +49 -3
- data/res/build-tools/db/syncdb.schema +2 -2
- data/res/build-tools/detool.exe +0 -0
- data/res/generators/rhogen.rb +10 -10
- data/res/generators/templates/application/app/helpers/browser_helper.rb +9 -4
- data/res/generators/templates/application/app/index.bb.erb +5 -5
- data/res/generators/templates/application/build.yml +1 -0
- data/res/generators/templates/application/public/css/android.css +10 -8
- data/res/generators/templates/application/public/css/blackberry.css +40 -31
- data/res/generators/templates/application/public/css/iphone.css +4 -4
- data/res/generators/templates/application/public/css/webkit.css +7 -0
- data/res/generators/templates/application/public/css/windows_mobile.css +31 -27
- data/res/generators/templates/application/rhoconfig.txt +2 -2
- data/res/generators/templates/model/edit.bb.erb +2 -2
- data/res/generators/templates/model/index.bb.erb +6 -4
- data/res/generators/templates/model/model.rb +2 -1
- data/res/generators/templates/model/new.bb.erb +2 -2
- data/res/generators/templates/model/show.bb.erb +2 -2
- data/rhobuild.yml +37 -0
- data/rhodes.gemspec +1 -1
- data/spec/framework_spec/app/Account/account.rb +7 -0
- data/spec/framework_spec/app/Case/case.rb +6 -0
- data/spec/framework_spec/app/Customer/customer.rb +6 -0
- data/spec/framework_spec/app/Product/product.rb +9 -0
- data/spec/framework_spec/app/spec/rhom_object_spec.rb +1 -1
- data/spec/framework_spec/app/spec/syncengine_spec.rb +2 -1
- metadata +45 -151
- data/lib/build/manifest/createAppManifest.rb +0 -18
- data/lib/build/tasks/android.rake +0 -317
- data/lib/build/tasks/blackberry.rake +0 -355
- data/lib/build/tasks/common.rake +0 -62
- data/lib/build/tasks/iphone.rake +0 -108
- data/lib/build/tasks/linux.rake +0 -81
- data/lib/build/tasks/rhodes-build.rb +0 -11
- data/lib/build/tasks/rspec.rake +0 -20
- data/lib/build/tasks/symbian.rake +0 -202
- data/lib/build/tasks/wm.rake +0 -166
- data/lib/framework/ServeME.rb +0 -7
- data/platform/bb/build/MANIFEST.MF +0 -12
- data/platform/iphone/Classes/DateTimePicker.h +0 -17
- data/res/generators/templates/application/public/icons/Read me first - license.txt +0 -14
- data/res/generators/templates/application/public/icons/about.png +0 -0
- data/res/generators/templates/application/public/icons/airplane.png +0 -0
- data/res/generators/templates/application/public/icons/baby.png +0 -0
- data/res/generators/templates/application/public/icons/badge.png +0 -0
- data/res/generators/templates/application/public/icons/bandaid.png +0 -0
- data/res/generators/templates/application/public/icons/bar-chart.png +0 -0
- data/res/generators/templates/application/public/icons/battery.png +0 -0
- data/res/generators/templates/application/public/icons/beaker.png +0 -0
- data/res/generators/templates/application/public/icons/beaker2.png +0 -0
- data/res/generators/templates/application/public/icons/beermug.png +0 -0
- data/res/generators/templates/application/public/icons/bird.png +0 -0
- data/res/generators/templates/application/public/icons/book.png +0 -0
- data/res/generators/templates/application/public/icons/bookmark.png +0 -0
- data/res/generators/templates/application/public/icons/brightness.png +0 -0
- data/res/generators/templates/application/public/icons/bug.png +0 -0
- data/res/generators/templates/application/public/icons/cabinet.png +0 -0
- data/res/generators/templates/application/public/icons/calendar.png +0 -0
- data/res/generators/templates/application/public/icons/camera.png +0 -0
- data/res/generators/templates/application/public/icons/changeName.rb +0 -22
- data/res/generators/templates/application/public/icons/chat2.png +0 -0
- data/res/generators/templates/application/public/icons/chicken.png +0 -0
- data/res/generators/templates/application/public/icons/clock.png +0 -0
- data/res/generators/templates/application/public/icons/cloud.png +0 -0
- data/res/generators/templates/application/public/icons/coffee.png +0 -0
- data/res/generators/templates/application/public/icons/compass.png +0 -0
- data/res/generators/templates/application/public/icons/contrast.png +0 -0
- data/res/generators/templates/application/public/icons/dashboard.png +0 -0
- data/res/generators/templates/application/public/icons/display.png +0 -0
- data/res/generators/templates/application/public/icons/dogpaw.png +0 -0
- data/res/generators/templates/application/public/icons/download.png +0 -0
- data/res/generators/templates/application/public/icons/dumbbell.png +0 -0
- data/res/generators/templates/application/public/icons/ekg.png +0 -0
- data/res/generators/templates/application/public/icons/envelope.png +0 -0
- data/res/generators/templates/application/public/icons/equalizer.png +0 -0
- data/res/generators/templates/application/public/icons/eye.png +0 -0
- data/res/generators/templates/application/public/icons/film-roll.png +0 -0
- data/res/generators/templates/application/public/icons/flag.png +0 -0
- data/res/generators/templates/application/public/icons/fork-and-knife.png +0 -0
- data/res/generators/templates/application/public/icons/fuel.png +0 -0
- data/res/generators/templates/application/public/icons/gameplan.png +0 -0
- data/res/generators/templates/application/public/icons/gear.png +0 -0
- data/res/generators/templates/application/public/icons/gear2.png +0 -0
- data/res/generators/templates/application/public/icons/gift.png +0 -0
- data/res/generators/templates/application/public/icons/heart.png +0 -0
- data/res/generators/templates/application/public/icons/house.png +0 -0
- data/res/generators/templates/application/public/icons/inbox.png +0 -0
- data/res/generators/templates/application/public/icons/index-cards.png +0 -0
- data/res/generators/templates/application/public/icons/iphone.png +0 -0
- data/res/generators/templates/application/public/icons/ipod.png +0 -0
- data/res/generators/templates/application/public/icons/key.png +0 -0
- data/res/generators/templates/application/public/icons/lifebuoy.png +0 -0
- data/res/generators/templates/application/public/icons/lightbulb.png +0 -0
- data/res/generators/templates/application/public/icons/line-chart.png +0 -0
- data/res/generators/templates/application/public/icons/location.png +0 -0
- data/res/generators/templates/application/public/icons/lock.png +0 -0
- data/res/generators/templates/application/public/icons/loopback.png +0 -0
- data/res/generators/templates/application/public/icons/magnifying-glass.png +0 -0
- data/res/generators/templates/application/public/icons/map-marker.png +0 -0
- data/res/generators/templates/application/public/icons/map.png +0 -0
- data/res/generators/templates/application/public/icons/medical-bag.png +0 -0
- data/res/generators/templates/application/public/icons/medical.png +0 -0
- data/res/generators/templates/application/public/icons/microphone.png +0 -0
- data/res/generators/templates/application/public/icons/movie1.png +0 -0
- data/res/generators/templates/application/public/icons/movie2.png +0 -0
- data/res/generators/templates/application/public/icons/network.png +0 -0
- data/res/generators/templates/application/public/icons/note.png +0 -0
- data/res/generators/templates/application/public/icons/outlet.png +0 -0
- data/res/generators/templates/application/public/icons/palette.png +0 -0
- data/res/generators/templates/application/public/icons/paperclip.png +0 -0
- data/res/generators/templates/application/public/icons/phone.png +0 -0
- data/res/generators/templates/application/public/icons/photos.png +0 -0
- data/res/generators/templates/application/public/icons/piano.png +0 -0
- data/res/generators/templates/application/public/icons/picture-frame.png +0 -0
- data/res/generators/templates/application/public/icons/pill.png +0 -0
- data/res/generators/templates/application/public/icons/pin.png +0 -0
- data/res/generators/templates/application/public/icons/pinetree.png +0 -0
- data/res/generators/templates/application/public/icons/planet.png +0 -0
- data/res/generators/templates/application/public/icons/puzzle.png +0 -0
- data/res/generators/templates/application/public/icons/radar.png +0 -0
- data/res/generators/templates/application/public/icons/redo.png +0 -0
- data/res/generators/templates/application/public/icons/refresh.png +0 -0
- data/res/generators/templates/application/public/icons/runner.png +0 -0
- data/res/generators/templates/application/public/icons/shoebox.png +0 -0
- data/res/generators/templates/application/public/icons/shopping-bag.png +0 -0
- data/res/generators/templates/application/public/icons/shopping-cart.png +0 -0
- data/res/generators/templates/application/public/icons/shuffle.png +0 -0
- data/res/generators/templates/application/public/icons/signpost.png +0 -0
- data/res/generators/templates/application/public/icons/skull-n-crossbones.png +0 -0
- data/res/generators/templates/application/public/icons/skull.png +0 -0
- data/res/generators/templates/application/public/icons/sliders.png +0 -0
- data/res/generators/templates/application/public/icons/spraycan.png +0 -0
- data/res/generators/templates/application/public/icons/squiggle.png +0 -0
- data/res/generators/templates/application/public/icons/star.png +0 -0
- data/res/generators/templates/application/public/icons/stopwatch.png +0 -0
- data/res/generators/templates/application/public/icons/suitcase.png +0 -0
- data/res/generators/templates/application/public/icons/tag.png +0 -0
- data/res/generators/templates/application/public/icons/tags.png +0 -0
- data/res/generators/templates/application/public/icons/target.png +0 -0
- data/res/generators/templates/application/public/icons/testtube.png +0 -0
- data/res/generators/templates/application/public/icons/thermometer.png +0 -0
- data/res/generators/templates/application/public/icons/toolbox.png +0 -0
- data/res/generators/templates/application/public/icons/trophy.png +0 -0
- data/res/generators/templates/application/public/icons/tshirt.png +0 -0
- data/res/generators/templates/application/public/icons/tv.png +0 -0
- data/res/generators/templates/application/public/icons/umbrella.png +0 -0
- data/res/generators/templates/application/public/icons/walk.png +0 -0
- data/res/generators/templates/application/public/icons/weather.png +0 -0
- data/res/generators/templates/application/public/icons/widescreen.png +0 -0
- data/res/generators/templates/application/public/icons/wineglass.png +0 -0
- data/res/generators/templates/application/public/icons/zap.png +0 -0
- data/res/generators/templates/application/public/js/jquery-1.2.6.min.js +0 -32
- data/res/generators/templates/model/config.rb +0 -3
- data/res/generators/templates/spec/app/spec/webview_spec.rb +0 -5
- data/spec/framework_spec/app/Account/config.rb +0 -59
- data/spec/framework_spec/app/Case/config.rb +0 -3
- data/spec/framework_spec/app/Customer/config.rb +0 -3
- data/spec/framework_spec/app/Product/config.rb +0 -17
@@ -1,317 +0,0 @@
|
|
1
|
-
#
|
2
|
-
require File.join(File.dirname(__FILE__),'..','jake.rb')
|
3
|
-
|
4
|
-
def freplace( fname, pattern, str )
|
5
|
-
f = File.open( fname )
|
6
|
-
strings = f.read
|
7
|
-
f.close
|
8
|
-
|
9
|
-
strings.gsub!( pattern, str )
|
10
|
-
|
11
|
-
f = File.new( fname, "w" )
|
12
|
-
f.print strings
|
13
|
-
f.close
|
14
|
-
end
|
15
|
-
|
16
|
-
namespace "config" do
|
17
|
-
task :android => :common do
|
18
|
-
|
19
|
-
if RUBY_PLATFORM =~ /(win|w)32$/
|
20
|
-
$all_files_mask = "*.*"
|
21
|
-
$exe_ext = ".exe"
|
22
|
-
$bat_ext = ".bat"
|
23
|
-
else
|
24
|
-
$all_files_mask = "*"
|
25
|
-
$exe_ext = ""
|
26
|
-
$bat_ext = ""
|
27
|
-
end
|
28
|
-
|
29
|
-
$tmpdir = File.join( $bindir, "tmp" )
|
30
|
-
|
31
|
-
$deploydir = File.join($basedir,'deploy','android')
|
32
|
-
$excludelib = ['**/singleton.rb','**/rational.rb','**/TestServe.rb','**/rhoframework.rb','**/date.rb']
|
33
|
-
|
34
|
-
$java = $config["env"]["paths"]["java"]
|
35
|
-
$keytool = File.join( $java, "keytool" + $exe_ext )
|
36
|
-
$jarsigner = File.join( $java, "jarsigner" + $exe_ext )
|
37
|
-
|
38
|
-
$androidsdk = $config["env"]["paths"]["android"]
|
39
|
-
$androidplatform = "android-1.1"
|
40
|
-
|
41
|
-
$dx = File.join( $androidsdk, "platforms", $androidplatform, "tools", "dx" + $bat_ext )
|
42
|
-
$aapt = File.join( $androidsdk, "platforms", $androidplatform, "tools", "aapt" + $exe_ext )
|
43
|
-
$apkbuilder = File.join( $androidsdk, "tools", "apkbuilder" + $bat_ext )
|
44
|
-
$adb = File.join( $androidsdk, "tools", "adb" + $exe_ext )
|
45
|
-
$emulator = File.join( $androidsdk, "tools", "emulator" + $exe_ext )
|
46
|
-
$androidjar = File.join( $androidsdk, "platforms", $androidplatform, "android.jar" )
|
47
|
-
|
48
|
-
$keystoredir = ENV['HOME'] + "/.rhomobile"
|
49
|
-
$keystore = $keystoredir + "/keystore"
|
50
|
-
$storepass = "81719ef3a881469d96debda3112854eb"
|
51
|
-
$keypass = $storepass
|
52
|
-
|
53
|
-
if $config["env"].has_key? "application-name"
|
54
|
-
$appname = $config["env"]["application-name"]
|
55
|
-
else
|
56
|
-
$appname = "Rhodes"
|
57
|
-
end
|
58
|
-
|
59
|
-
$appid = "com.rhomobile.rhodes." + $appname
|
60
|
-
|
61
|
-
end
|
62
|
-
end
|
63
|
-
|
64
|
-
task :loadframework do
|
65
|
-
require 'rhodes-framework'
|
66
|
-
puts $rhodeslib
|
67
|
-
end
|
68
|
-
|
69
|
-
namespace "resources" do
|
70
|
-
task :android => ["config:android", "loadframework", "makedirs"] do
|
71
|
-
android = $config["env"]["paths"]["android"]
|
72
|
-
|
73
|
-
rm_rf $tmpdir
|
74
|
-
cp_r File.join( $prebuilt, "android" ), $tmpdir
|
75
|
-
|
76
|
-
manifest = File.join( $tmpdir, "AndroidManifest.xml" )
|
77
|
-
res = File.join( $tmpdir, "res" )
|
78
|
-
classes = File.join( $tmpdir, "classes" )
|
79
|
-
androidr = File.join( $tmpdir, "src", "com", "rhomobile", "rhodes", "AndroidR.java" )
|
80
|
-
genr = File.join( $tmpdir, "R.java" )
|
81
|
-
|
82
|
-
# Modify app_name
|
83
|
-
freplace( File.join( res, "values", "strings.xml" ), /<string name="app_name">[^>]*<\/string>/, "<string name=\"app_name\">#{$appname}</string>" )
|
84
|
-
# Modify package name
|
85
|
-
freplace( manifest, /package="[^"]*"/, "package=\"#{$appid}\"" )
|
86
|
-
# Generate new R.java and compile it
|
87
|
-
puts `#{$aapt} package -M #{manifest} -S #{res} -I #{$androidjar} -J #{$tmpdir}`
|
88
|
-
puts `javac -d #{classes} #{genr}`
|
89
|
-
# Modify AndroidR import section and compile it
|
90
|
-
freplace( androidr, /import com\.rhomobile\..*\.R;/, "import #{$appid}.R;" )
|
91
|
-
puts `javac -cp #{classes} -d #{classes} #{androidr}`
|
92
|
-
end
|
93
|
-
end
|
94
|
-
|
95
|
-
namespace "bundle" do
|
96
|
-
task :android => ["config:android", "resources:android", "loadframework", "makedirs"] do
|
97
|
-
android = $config["env"]["paths"]["android"]
|
98
|
-
|
99
|
-
rm_rf $srcdir
|
100
|
-
mkdir_p $srcdir
|
101
|
-
mkdir_p File.join($srcdir,'apps')
|
102
|
-
|
103
|
-
compileERB = File.join($compileERBbase,'bb.rb')
|
104
|
-
xruby = File.join($res,'xruby-0.3.3.jar')
|
105
|
-
|
106
|
-
dest = $srcdir
|
107
|
-
chdir $rhodeslib
|
108
|
-
Dir.glob("*").each { |f|
|
109
|
-
src = f
|
110
|
-
cp_r src,dest
|
111
|
-
}
|
112
|
-
chdir dest
|
113
|
-
Dir.glob("**/rhodes-framework.rb").each {|f| rm f}
|
114
|
-
Dir.glob("**/erb.rb").each {|f| rm f}
|
115
|
-
Dir.glob("**/find.rb").each {|f| rm f}
|
116
|
-
$excludelib.each {|e| Dir.glob(e).each {|f| rm f}}
|
117
|
-
|
118
|
-
chdir $basedir
|
119
|
-
#throw "ME"
|
120
|
-
cp_r 'app',File.join($srcdir,'apps')
|
121
|
-
cp_r 'public', File.join($srcdir,'apps')
|
122
|
-
cp 'rhoconfig.txt', File.join($srcdir,'apps')
|
123
|
-
#cp 'index.erb', File.join($srcdir,'apps')
|
124
|
-
#cp 'layout.erb', File.join($srcdir,'apps')
|
125
|
-
#cp 'loading.html', File.join($srcdir,'apps')
|
126
|
-
cp $appmanifest, $srcdir
|
127
|
-
puts `ruby "#{$srcdir}/createAppManifest.rb"`
|
128
|
-
rm File.join($srcdir,'createAppManifest.rb')
|
129
|
-
cp compileERB, $srcdir
|
130
|
-
puts `ruby "#{$srcdir}/bb.rb"`
|
131
|
-
|
132
|
-
chdir $bindir
|
133
|
-
puts `java -jar #{xruby} -c RhoBundle`
|
134
|
-
chdir $srcdir
|
135
|
-
Dir.glob("**/*.rb") { |f| rm f }
|
136
|
-
Dir.glob("**/*.erb") { |f| rm f }
|
137
|
-
puts `jar uf ../RhoBundle.jar apps/#{$all_files_mask}`
|
138
|
-
mkdir_p "../assets"
|
139
|
-
cp_r "apps","../assets"
|
140
|
-
cp File.join($prebuilt,"android","loading.html"), "../assets/apps"
|
141
|
-
|
142
|
-
chdir $basedir
|
143
|
-
|
144
|
-
rm_rf $targetdir
|
145
|
-
mkdir_p $targetdir
|
146
|
-
|
147
|
-
chdir $bindir
|
148
|
-
|
149
|
-
classes = File.join($tmpdir,"classes")
|
150
|
-
rhobundle = File.join($bindir,"RhoBundle.jar")
|
151
|
-
dexfile = File.join($bindir,"classes.dex")
|
152
|
-
|
153
|
-
puts "Running dx utility"
|
154
|
-
puts `#{$dx} --dex "--output=#{dexfile}" "#{classes}" "#{rhobundle}"`
|
155
|
-
|
156
|
-
manifest = File.join($tmpdir,"AndroidManifest.xml")
|
157
|
-
resource = File.join($tmpdir,"res")
|
158
|
-
assets = File.join($bindir,"assets")
|
159
|
-
resourcepkg = File.join($bindir,"rhodes.ap_")
|
160
|
-
|
161
|
-
puts "Packaging Assets and Jars"
|
162
|
-
puts `#{$aapt} package -f -M "#{manifest}" -S "#{resource}" -A "#{assets}" -I "#{$androidjar}" -F "#{resourcepkg}"`
|
163
|
-
|
164
|
-
|
165
|
-
chdir $basedir
|
166
|
-
end
|
167
|
-
end
|
168
|
-
|
169
|
-
namespace "device" do
|
170
|
-
desc "Create downloadable signed app for android"
|
171
|
-
task :android => "bundle:android" do
|
172
|
-
chdir $bindir
|
173
|
-
|
174
|
-
dexfile = File.join($bindir,"classes.dex")
|
175
|
-
apkfile = File.join($targetdir,$appname + ".apk")
|
176
|
-
signedapkfile = File.join($targetdir,$appname + "_signed.apk")
|
177
|
-
resourcepkg = File.join($bindir,"rhodes.ap_")
|
178
|
-
|
179
|
-
puts "Building APK file"
|
180
|
-
puts `#{$apkbuilder} "#{apkfile}" -u -z "#{resourcepkg}" -f "#{dexfile}"`
|
181
|
-
|
182
|
-
if not File.exists? $keystore
|
183
|
-
puts "Generating private keystore..."
|
184
|
-
mkdir_p $keystoredir
|
185
|
-
|
186
|
-
puts `#{$keytool} -genkey -alias rhomobile.keystore -keyalg RSA -validity 20000 -keystore "#{$keystore}" -storepass #{$storepass} -keypass #{$keypass}`
|
187
|
-
end
|
188
|
-
|
189
|
-
puts "Signing APK file"
|
190
|
-
puts `#{$jarsigner} -verbose -keystore "#{$keystore}" -storepass #{$storepass} -signedjar "#{signedapkfile}" "#{apkfile}" rhomobile.keystore`
|
191
|
-
|
192
|
-
chdir $basedir
|
193
|
-
end
|
194
|
-
end
|
195
|
-
|
196
|
-
namespace "run" do
|
197
|
-
namespace "android" do
|
198
|
-
desc "Run app in Android Sim"
|
199
|
-
task :app => ["bundle:android"] do
|
200
|
-
|
201
|
-
chdir $bindir
|
202
|
-
|
203
|
-
dexfile = File.join($bindir,"classes.dex")
|
204
|
-
apkfile = File.join($targetdir,$appname + "-debug.apk")
|
205
|
-
resourcepkg = File.join($bindir,"rhodes.ap_")
|
206
|
-
|
207
|
-
puts "Building APK file"
|
208
|
-
puts `#{$apkbuilder} "#{apkfile}" -z "#{resourcepkg}" -f "#{dexfile}"`
|
209
|
-
chdir $basedir
|
210
|
-
|
211
|
-
puts `#{$adb} start-server`
|
212
|
-
sleep 5
|
213
|
-
|
214
|
-
system("android create avd --name rhoAndroid11 --target 1 --sdcard 32M --skin HVGA")
|
215
|
-
|
216
|
-
Thread.new { system("#{$emulator} -avd rhoAndroid11") }
|
217
|
-
|
218
|
-
sleep 10
|
219
|
-
|
220
|
-
puts "Waiting for emulator to get started"
|
221
|
-
$stdout.flush
|
222
|
-
puts `#{$adb} wait-for-device`
|
223
|
-
sleep 10
|
224
|
-
apkfile = File.join($targetdir,$appname + "-debug.apk")
|
225
|
-
|
226
|
-
puts "Loading package into emulator"
|
227
|
-
theoutput = `#{$adb} install -r "#{apkfile}"`
|
228
|
-
count = 0
|
229
|
-
while theoutput.to_s.match(/Error Type/) and count < 15 do
|
230
|
-
puts "Failed to load (possibly because emulator not done launching)- retrying"
|
231
|
-
$stdout.flush
|
232
|
-
sleep 5
|
233
|
-
count += 1
|
234
|
-
theoutput = `#{$adb} install -r "#{apkfile}"`
|
235
|
-
end
|
236
|
-
puts "Loading complete, you may now run the application"
|
237
|
-
|
238
|
-
end
|
239
|
-
end
|
240
|
-
end
|
241
|
-
|
242
|
-
namespace "check" do
|
243
|
-
task :android => "config:android" do
|
244
|
-
errors = Array.new
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
begin
|
251
|
-
android = $config["env"]["paths"]["android"]
|
252
|
-
rescue
|
253
|
-
puts " - Error parsing build.yml make sure you have all of the required fields (see generated build.yml)"
|
254
|
-
errors << "invalid build.yml"
|
255
|
-
end
|
256
|
-
|
257
|
-
if RUBY_PLATFORM =~ /(win|w)32$/
|
258
|
-
curr = pwd
|
259
|
-
if android.downcase[0] != curr.downcase[0]
|
260
|
-
puts " - Error due to android sdk issues, your app folder must be on the same drive as your sdk folder"
|
261
|
-
errors << "must be on the same drive as android sdk"
|
262
|
-
end
|
263
|
-
end
|
264
|
-
|
265
|
-
if not FileTest.exists? android
|
266
|
-
puts " - android sdk not found. Make sure you have the correct path to the android sdk in your build.yml file "
|
267
|
-
errors << "android sdk missing"
|
268
|
-
end
|
269
|
-
|
270
|
-
|
271
|
-
begin
|
272
|
-
blah = `#{$dx} 2>&1`
|
273
|
-
rescue
|
274
|
-
puts " - dx is not on the path. Make sure you have the android sdk tools folder in your path"
|
275
|
-
errors << "dx not on path"
|
276
|
-
end
|
277
|
-
|
278
|
-
begin
|
279
|
-
blah = `#{$aapt} 2>&1`
|
280
|
-
rescue
|
281
|
-
puts " - aapt is not on the path. Make sure you have the android sdk tools folder in your path"
|
282
|
-
errors << "aapt not on path"
|
283
|
-
end
|
284
|
-
|
285
|
-
begin
|
286
|
-
blah = `#{$apkbuilder} 2>&1`
|
287
|
-
rescue
|
288
|
-
puts " - apkbuilder is not on the path. Make sure you have the android sdk tools folder in your path"
|
289
|
-
errors << "apkbuilder not on path"
|
290
|
-
end
|
291
|
-
|
292
|
-
|
293
|
-
begin
|
294
|
-
blah = `jar 2>&1`
|
295
|
-
rescue
|
296
|
-
puts " - jar is not on the path. Make sure you have the java sdk bin folder in your path"
|
297
|
-
errors << "jar not on path"
|
298
|
-
end
|
299
|
-
|
300
|
-
begin
|
301
|
-
blah = `java 2>&1`
|
302
|
-
rescue
|
303
|
-
puts " - java is not on the path. Make sure you have the java sdk bin folder in your path"
|
304
|
-
errors << "java not on path"
|
305
|
-
end
|
306
|
-
|
307
|
-
puts "\nANDROID: " + android
|
308
|
-
|
309
|
-
if errors.size > 0
|
310
|
-
puts "\nFound the following errors for windows mobile: "
|
311
|
-
errors.each { |error| puts "\t" + error.to_s }
|
312
|
-
else
|
313
|
-
puts "Android config appears valid"
|
314
|
-
end
|
315
|
-
|
316
|
-
end
|
317
|
-
end
|
@@ -1,355 +0,0 @@
|
|
1
|
-
#
|
2
|
-
require File.join(File.dirname(__FILE__),'..','jake.rb')
|
3
|
-
|
4
|
-
def freplace( fname, pattern, str )
|
5
|
-
f = File.open( fname )
|
6
|
-
strings = f.read
|
7
|
-
f.close
|
8
|
-
|
9
|
-
strings.gsub!( pattern, str )
|
10
|
-
|
11
|
-
f = File.new( fname, "w" )
|
12
|
-
f.print strings
|
13
|
-
f.close
|
14
|
-
end
|
15
|
-
|
16
|
-
namespace "config" do
|
17
|
-
task :bb => :common do
|
18
|
-
|
19
|
-
$deploydir = File.join($basedir,'deploy','bb')
|
20
|
-
$excludelib = ['**/singleton.rb','**/rational.rb','**/rhoframework.rb','**/date.rb']
|
21
|
-
|
22
|
-
if $config["env"].has_key? "application-name"
|
23
|
-
$appname = $config["env"]["application-name"]
|
24
|
-
else
|
25
|
-
$appname = "rhodesApp"
|
26
|
-
end
|
27
|
-
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
task :loadframework do
|
32
|
-
require 'rhodes-framework'
|
33
|
-
puts $rhodeslib
|
34
|
-
end
|
35
|
-
|
36
|
-
namespace "bundle" do
|
37
|
-
task :bb => ["config:bb", "loadframework", "makedirs"] do
|
38
|
-
jdehome = $config["env"]["paths"][$config["env"]["bbver"]]["jde"]
|
39
|
-
|
40
|
-
rm_rf $srcdir
|
41
|
-
mkdir_p $srcdir
|
42
|
-
mkdir_p File.join($srcdir,'apps')
|
43
|
-
|
44
|
-
compileERB = File.join($compileERBbase,'bb.rb')
|
45
|
-
#rubypath = File.join($res,'RhoRuby.exe')
|
46
|
-
xruby = File.join($res,'xruby-0.3.3.jar')
|
47
|
-
|
48
|
-
dest = $srcdir
|
49
|
-
chdir $rhodeslib
|
50
|
-
Dir.glob("*").each { |f|
|
51
|
-
src = f
|
52
|
-
cp_r src,dest
|
53
|
-
}
|
54
|
-
chdir dest
|
55
|
-
Dir.glob("**/rhodes-framework.rb").each {|f| rm f}
|
56
|
-
Dir.glob("**/erb.rb").each {|f| rm f}
|
57
|
-
Dir.glob("**/find.rb").each {|f| rm f}
|
58
|
-
$excludelib.each {|e| Dir.glob(e).each {|f| rm f}}
|
59
|
-
|
60
|
-
chdir $basedir
|
61
|
-
#throw "ME"
|
62
|
-
cp_r 'app',File.join($srcdir,'apps')
|
63
|
-
cp_r 'public', File.join($srcdir,'apps')
|
64
|
-
cp 'rhoconfig.txt', File.join($srcdir,'apps')
|
65
|
-
|
66
|
-
chdir File.join($srcdir,'apps/public')
|
67
|
-
rm_rf 'js/iui'
|
68
|
-
Dir.glob("js/jquery*").each {|f| rm_rf f}
|
69
|
-
Dir.glob("js/prototype*").each {|f| rm f}
|
70
|
-
chdir $basedir
|
71
|
-
|
72
|
-
#cp 'index.erb', File.join($srcdir,'apps')
|
73
|
-
#cp 'layout.erb', File.join($srcdir,'apps')
|
74
|
-
#cp 'loading.html', File.join($srcdir,'apps')
|
75
|
-
cp $appmanifest, $srcdir
|
76
|
-
puts `ruby #{$srcdir}/createAppManifest.rb`
|
77
|
-
rm File.join($srcdir,'createAppManifest.rb')
|
78
|
-
cp compileERB, $srcdir
|
79
|
-
puts `ruby #{$srcdir}/bb.rb`
|
80
|
-
|
81
|
-
chdir $bindir
|
82
|
-
puts `java -jar "#{xruby}" -c RhoBundle`
|
83
|
-
chdir $srcdir
|
84
|
-
Dir.glob("**/*.rb") { |f| rm f }
|
85
|
-
Dir.glob("**/*.erb") { |f| rm f }
|
86
|
-
puts `jar uf ../RhoBundle.jar apps/*.*`
|
87
|
-
chdir $basedir
|
88
|
-
|
89
|
-
rm_rf $srcdir
|
90
|
-
|
91
|
-
args = []
|
92
|
-
args << "-classpath"
|
93
|
-
args << '"' + jdehome + "/lib/net_rim_api.jar;" + File.join($prebuilt, "bb","RubyVM.jar") + '"'
|
94
|
-
args << "-d"
|
95
|
-
args << '"' + $bindir + '"'
|
96
|
-
args << '"' + $bindir + "/RhoBundle.jar" +'"'
|
97
|
-
puts Jake.run(jdehome + "/bin/preverify.exe",args)
|
98
|
-
$stdout.flush
|
99
|
-
|
100
|
-
rm_rf $tmpdir
|
101
|
-
mkdir_p $tmpdir
|
102
|
-
|
103
|
-
rm_rf $targetdir
|
104
|
-
mkdir_p $targetdir
|
105
|
-
|
106
|
-
Jake.unjar(File.join($prebuilt, "bb","RubyVM.jar"), $tmpdir)
|
107
|
-
Jake.unjar($bindir + "/RhoBundle.jar", $tmpdir)
|
108
|
-
Jake.unjar(File.join($prebuilt, "bb","rhodes.jar"), $tmpdir)
|
109
|
-
|
110
|
-
Jake.jar($bindir + "/" + $appname + ".jar",'"' + File.join($prebuilt, "bb","manifest.mf") + '"',$tmpdir,true)
|
111
|
-
|
112
|
-
vendor = $config["env"]["vendor"]
|
113
|
-
version = $config["env"]["version"]
|
114
|
-
Jake.rapc($appname,
|
115
|
-
$targetdir,
|
116
|
-
jdehome + "/lib/net_rim_api.jar",
|
117
|
-
'"' + $bindir + "/" + $appname + ".jar" +'"',
|
118
|
-
$appname,
|
119
|
-
vendor,
|
120
|
-
version,
|
121
|
-
"resources/icon.png",
|
122
|
-
false,
|
123
|
-
true
|
124
|
-
)
|
125
|
-
$stdout.flush
|
126
|
-
|
127
|
-
cp File.join($prebuilt, "bb","rhodesApp.alx"), File.join($targetdir, $appname + ".alx")
|
128
|
-
freplace( File.join( $targetdir, $appname + ".alx" ), /rhodesApp/, $appname )
|
129
|
-
end
|
130
|
-
end
|
131
|
-
|
132
|
-
namespace "device" do
|
133
|
-
desc "Create downloadable app for BlackBerry"
|
134
|
-
task :bb => "bundle:bb" do
|
135
|
-
if $config["env"]["bbsignpwd"] and $config["env"]["bbsignpwd"] != ""
|
136
|
-
Rake::Task["run:bb:autosign"].execute
|
137
|
-
else
|
138
|
-
Rake::Task["run:bb:manualsign"].execute
|
139
|
-
end
|
140
|
-
|
141
|
-
webdir = File.join($targetdir, "web")
|
142
|
-
mkdir_p webdir
|
143
|
-
|
144
|
-
cp File.join($targetdir, $appname + ".jad"), webdir
|
145
|
-
|
146
|
-
Jake.unjar(File.join($targetdir, $appname + ".cod"), webdir)
|
147
|
-
|
148
|
-
rm_rf $deploydir
|
149
|
-
mkdir_p $deploydir
|
150
|
-
mv $targetdir,$deploydir
|
151
|
-
|
152
|
-
end
|
153
|
-
end
|
154
|
-
|
155
|
-
namespace "run" do
|
156
|
-
namespace "bb" do
|
157
|
-
def startmds
|
158
|
-
mdshome = $config["env"]["paths"][$config["env"]["bbver"]]["mds"]
|
159
|
-
args = []
|
160
|
-
args << "/c"
|
161
|
-
args << "run.bat"
|
162
|
-
|
163
|
-
Jake.run("cmd.exe",args, mdshome,true)
|
164
|
-
end
|
165
|
-
|
166
|
-
def stopmds
|
167
|
-
mdshome = $config["env"]["paths"][$config["env"]["bbver"]]["mds"]
|
168
|
-
args = []
|
169
|
-
args << "/c"
|
170
|
-
args << "shutdown.bat"
|
171
|
-
|
172
|
-
Jake.run("cmd.exe",args, mdshome,true)
|
173
|
-
end
|
174
|
-
|
175
|
-
def startsim
|
176
|
-
bbver = $config["env"]["bbver"]
|
177
|
-
sim = $config["env"]["paths"][bbver]["sim"]
|
178
|
-
jde = $config["env"]["paths"][bbver]["jde"]
|
179
|
-
|
180
|
-
command = '"' + jde + "/simulator/fledge.exe\""
|
181
|
-
args = []
|
182
|
-
args << "/app=Jvm.dll"
|
183
|
-
args << "/handheld=" + sim
|
184
|
-
args << "/session=" + sim
|
185
|
-
args << "/app-param=DisableRegistration"
|
186
|
-
args << "/app-param=JvmAlxConfigFile:"+sim+".xml"
|
187
|
-
args << "/data-port=0x4d44"
|
188
|
-
args << "/data-port=0x4d4e"
|
189
|
-
args << "/pin=0x2100000A"
|
190
|
-
|
191
|
-
if bbver !~ /^4\.[012](\..*)?$/
|
192
|
-
args << "/fs-sdcard=true"
|
193
|
-
end
|
194
|
-
|
195
|
-
args << "\"/app-param=JvmDebugFile:"+Jake.get_absolute($config["env"]["applog"]) +'"'
|
196
|
-
|
197
|
-
Thread.new { Jake.run(command,args,jde + "/simulator",true) }
|
198
|
-
$stdout.flush
|
199
|
-
end
|
200
|
-
|
201
|
-
def stopsim
|
202
|
-
bbver = $config["env"]["bbver"]
|
203
|
-
sim = $config["env"]["paths"][bbver]["sim"]
|
204
|
-
jde = $config["env"]["paths"][bbver]["jde"]
|
205
|
-
|
206
|
-
command = '"' + jde + "/simulator/fledgecontroller.exe\""
|
207
|
-
args = []
|
208
|
-
args << "/session="+sim
|
209
|
-
args << "/execute=Exit(true)"
|
210
|
-
Jake.run(command,args, jde + "/simulator")
|
211
|
-
end
|
212
|
-
|
213
|
-
task :stopmdsandsim => ["config:bb"] do
|
214
|
-
stopsim
|
215
|
-
stopmds
|
216
|
-
end
|
217
|
-
|
218
|
-
desc "Run app in BlackBerry Sim"
|
219
|
-
task :app => [:stopmdsandsim, "bundle:bb"] do
|
220
|
-
jde = $config["env"]["paths"][$config["env"]["bbver"]]["jde"]
|
221
|
-
|
222
|
-
cp_r File.join($targetdir,"/."), jde + "/simulator"
|
223
|
-
|
224
|
-
startmds
|
225
|
-
startsim
|
226
|
-
|
227
|
-
# puts "sleeping to allow simulator to get started"
|
228
|
-
# sleep 25
|
229
|
-
|
230
|
-
# command = '"' + jde + "/simulator/fledgecontroller.exe\""
|
231
|
-
# args = []
|
232
|
-
# args << "/session="+sim
|
233
|
-
# args << "\"/execute=LoadCod(" + File.join($targetdir,$appname + ".cod") + ")\""
|
234
|
-
|
235
|
-
# Jake.run(command,args, jde + "/simulator")
|
236
|
-
$stdout.flush
|
237
|
-
end
|
238
|
-
|
239
|
-
task :autosign do
|
240
|
-
java = $config["env"]["paths"]["java"] + "/java.exe"
|
241
|
-
jde = $config["env"]["paths"][$config["env"]["bbver"]]["jde"]
|
242
|
-
|
243
|
-
args = []
|
244
|
-
args << "-jar"
|
245
|
-
args << '"' + jde + "/bin/SignatureTool.jar\""
|
246
|
-
args << "-c"
|
247
|
-
args << "-a"
|
248
|
-
args << "-p"
|
249
|
-
args << '"' + $config["env"]["bbsignpwd"] +'"'
|
250
|
-
args << "-r"
|
251
|
-
args << $targetdir
|
252
|
-
|
253
|
-
puts Jake.run(java,args)
|
254
|
-
$stdout.flush
|
255
|
-
|
256
|
-
end
|
257
|
-
|
258
|
-
task :manualsign do
|
259
|
-
java = $config["env"]["paths"]["java"] + "/java.exe"
|
260
|
-
jde = $config["env"]["paths"][$config["env"]["bbver"]]["jde"]
|
261
|
-
|
262
|
-
args = []
|
263
|
-
args << "-jar"
|
264
|
-
args << '"' + jde + "/bin/SignatureTool.jar\""
|
265
|
-
args << "-r"
|
266
|
-
args << $targetdir
|
267
|
-
|
268
|
-
puts Jake.run(java,args)
|
269
|
-
$stdout.flush
|
270
|
-
|
271
|
-
end
|
272
|
-
end
|
273
|
-
end
|
274
|
-
|
275
|
-
namespace "check" do
|
276
|
-
task :bb => "config:bb" do
|
277
|
-
errors = Array.new
|
278
|
-
|
279
|
-
begin
|
280
|
-
javahome = $config["env"]["paths"]["java"]
|
281
|
-
jdehome = $config["env"]["paths"][$config["env"]["bbver"]]["jde"]
|
282
|
-
mdshome = $config["env"]["paths"][$config["env"]["bbver"]]["mds"]
|
283
|
-
rescue
|
284
|
-
puts " - Error parsing build.yml make sure you have all of the required fields (see generated build.yml)"
|
285
|
-
errors << "invalid build.yml"
|
286
|
-
end
|
287
|
-
|
288
|
-
|
289
|
-
if not FileTest.exists? javahome
|
290
|
-
puts " - JAVAHOME does not exist. Make sure you have the Java SDK installed and that build.yml has the correct path"
|
291
|
-
errors << "JAVAHOME missing"
|
292
|
-
end
|
293
|
-
|
294
|
-
if not FileTest.exists? javahome + "/javac.exe"
|
295
|
-
puts " - javac.exe not found. Make sure JAVAHOME in build.yml points to a valid Java SDK"
|
296
|
-
errors << "javac missing"
|
297
|
-
end
|
298
|
-
|
299
|
-
if not FileTest.exists? javahome + "/java.exe"
|
300
|
-
puts " - java.exe not found. Make sure JAVAHOME in build.yml points to a valid Java SDK"
|
301
|
-
errors << "java missing"
|
302
|
-
end
|
303
|
-
|
304
|
-
if not FileTest.exists? javahome + "/jar.exe"
|
305
|
-
puts " - jar.exe not found. Make sure JAVAHOME in build.yml points to a valid Java SDK"
|
306
|
-
errors << "jar missing"
|
307
|
-
end
|
308
|
-
|
309
|
-
if not FileTest.exists? jdehome
|
310
|
-
puts " - JDEHOME does not exist. Make sure you have the Blackberry JDK installed and that build.yml has the correct path"
|
311
|
-
errors << "JDEHOME missing"
|
312
|
-
end
|
313
|
-
if not FileTest.exists? mdshome
|
314
|
-
puts " - MDSHOME does not exist. Make sure you have the Blackberry JDK installed and that build.yml has the correct path"
|
315
|
-
errors << "MDSHOME missing"
|
316
|
-
end
|
317
|
-
|
318
|
-
if not FileTest.exists? jdehome + "/bin/preverify.exe"
|
319
|
-
puts " - preverify.exe not found. Make sure JDEHOME in build.yml points to a valid Blackberry JDK"
|
320
|
-
errors << "preverify missing"
|
321
|
-
end
|
322
|
-
|
323
|
-
if not FileTest.exists? jdehome + "/bin/rapc.jar"
|
324
|
-
puts " - rapc.jar not found. Make sure JDEHOME in build.yml points to a valid Blackberry JDK"
|
325
|
-
errors << "rapc missing"
|
326
|
-
end
|
327
|
-
|
328
|
-
begin
|
329
|
-
blah = `jar 2>&1`
|
330
|
-
rescue
|
331
|
-
puts " - jar is not on the path. Make sure you have the java sdk bin folder in your path"
|
332
|
-
errors << "jar not on path"
|
333
|
-
end
|
334
|
-
|
335
|
-
begin
|
336
|
-
blah = `java 2>&1`
|
337
|
-
rescue
|
338
|
-
puts " - java is not on the path. Make sure you have the java sdk bin folder in your path"
|
339
|
-
errors << "java not on path"
|
340
|
-
end
|
341
|
-
|
342
|
-
puts "\nBBVER: " + $config["env"]["bbver"]
|
343
|
-
puts "JAVAHOME: " + javahome
|
344
|
-
puts "JDEHOME: " + jdehome
|
345
|
-
puts "MDSHOME: " + mdshome
|
346
|
-
|
347
|
-
if errors.size > 0
|
348
|
-
puts "\nFound the following errors for blackberry: "
|
349
|
-
errors.each { |error| puts "\t" + error.to_s }
|
350
|
-
else
|
351
|
-
puts "Blackberry config appears valid"
|
352
|
-
end
|
353
|
-
|
354
|
-
end
|
355
|
-
end
|