rhodes 7.4.1 → 7.6.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (305) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG +319 -0
  3. data/CREDITS +3 -1
  4. data/LICENSE +1 -1
  5. data/README.md +6 -16
  6. data/Rakefile +55 -43
  7. data/SECURITY.md +19 -0
  8. data/appveyor.yml +66 -8
  9. data/azure-pipelines.yml +67 -0
  10. data/bin/rhodes-setup +22 -8
  11. data/extensions/emdk3-manager/ext/platform/android/src/com/rho/emdk3/EMDK3Extension.java +14 -5
  12. data/extensions/instrumentation/ext/platform/android/src/com/rho/instrumentation/Instrumentation.java +29 -15
  13. data/extensions/rhoconnect-push/ext/rhoconnect-push/platform/android/src/com/rhomobile/rhoelements/ans/ANSManager.java +3 -3
  14. data/extensions/rhoelementsext/ext/rhoelementsext/platform/android/rhoelements_temp/src/com/rho/rhoelements/ElementsCore.java +12 -9
  15. data/extensions/rhoelementsext/ext/rhoelementsext/platform/android/rhoelements_temp/src/com/rho/rhoelements/graphics/BatteryIndicator.java +2 -2
  16. data/lib/commonAPI/barcode/ext/platform/android/AndroidManifest.xml +3 -1
  17. data/lib/commonAPI/barcode/ext/platform/android/src/com/google/barcodereader/BarcodeCaptureActivity.java +11 -13
  18. data/lib/commonAPI/barcode/ext/platform/android/src/com/google/barcodereader/BarcodeGraphicTracker.java +1 -1
  19. data/lib/commonAPI/barcode/ext/platform/android/src/com/google/barcodereader/ui/camera/CameraSource.java +3 -3
  20. data/lib/commonAPI/barcode/ext/platform/android/src/com/google/barcodereader/ui/camera/CameraSourcePreview.java +1 -1
  21. data/lib/commonAPI/barcode/ext/platform/qt/Barcode.pro +1 -1
  22. data/lib/commonAPI/barcode/ext/platform/qt/Barcode.pro.erb +2 -2
  23. data/lib/commonAPI/barcode/ext/platform/qt/src/qzxing/QZXing.pri +9 -21
  24. data/lib/commonAPI/barcode/ext.yml +5 -8
  25. data/lib/commonAPI/bluetooth/ext/platform/qt/Bluetooth.pro +1 -1
  26. data/lib/commonAPI/bluetooth/ext/platform/qt/Bluetooth.pro.erb +1 -1
  27. data/lib/commonAPI/bluetooth/ext/platform/qt/src/bluetooth/bluetoothhelper.h +1 -1
  28. data/lib/commonAPI/coreapi/RhoSystemApi.rb +6 -0
  29. data/lib/commonAPI/coreapi/ext/Intent.xml +4 -0
  30. data/lib/commonAPI/coreapi/ext/platform/android/Rakefile +0 -12
  31. data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/intent/IntentSingleton.java +6 -0
  32. data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/Notification.java +5 -2
  33. data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationScheduler.java +4 -4
  34. data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/notification/NotificationSingleton.java +1 -1
  35. data/lib/commonAPI/coreapi/ext/platform/android/src/com/rho/webview/WebViewSingleton.java +40 -27
  36. data/lib/commonAPI/coreapi/ext/platform/iphone/cpp_based_impl/SystemImpl.mm +5 -6
  37. data/lib/commonAPI/coreapi/ext/platform/iphone/impl/Intent.h +1 -1
  38. data/lib/commonAPI/coreapi/ext/platform/iphone/impl/Intent.m +3 -1
  39. data/lib/commonAPI/coreapi/ext/platform/iphone/impl/NotificationSingleton.h +2 -1
  40. data/lib/commonAPI/coreapi/ext/platform/iphone/impl/NotificationSingleton.m +10 -0
  41. data/lib/commonAPI/coreapi/ext/platform/wm/src/IntentImpl.cpp +3 -0
  42. data/lib/commonAPI/coreapi/ext/push.xml +5 -2
  43. data/lib/commonAPI/coreapi/ext/shared/SystemImplBase.cpp +13 -0
  44. data/lib/commonAPI/coreapi/ext/shared/SystemImplBase.h +2 -0
  45. data/lib/commonAPI/coreapi/ext/system.xml +3 -0
  46. data/lib/commonAPI/mediacapture/ext/camera.xml +4 -9
  47. data/lib/commonAPI/mediacapture/ext/platform/android/ApplicationCameraActivity.erb +2 -2
  48. data/lib/commonAPI/mediacapture/ext/platform/android/ApplicationFileProvider.erb +1 -1
  49. data/lib/commonAPI/mediacapture/ext/platform/android/ext_java.files +2 -9
  50. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraExtension.java +0 -2
  51. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraFactory.java +19 -24
  52. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraObject.java +322 -730
  53. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraRhoListener.java +247 -433
  54. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/{CameraSingletonObject.java → CameraSingleton.java} +68 -74
  55. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/mediacapture/RhoCameraFileProvider.java +6 -0
  56. data/lib/commonAPI/mediacapture/ext/platform/qt/MediaCapture.pro.erb +1 -1
  57. data/lib/commonAPI/mediacapture/ext/platform/qt/Mediacapture.pro +1 -1
  58. data/lib/commonAPI/printing_zebra/ext/platform/android/src/com/rhomobile/printing/zebra/impl/ZebraPrintingProviderImpl.java +2 -1
  59. data/lib/commonAPI/signature/ext/platform/iphone/impl/readme.txt +7 -0
  60. data/lib/commonAPI/signature/ext/platform/qt/Signature.pro +3 -10
  61. data/lib/commonAPI/signature/ext/platform/qt/Signature.pro.erb +2 -2
  62. data/lib/extensions/fcm-push/ext/android/ApplicationManifestAdds.erb +15 -17
  63. data/lib/extensions/fcm-push/ext/android/Rakefile +59 -34
  64. data/lib/extensions/fcm-push/ext/android/ext_java.files +0 -1
  65. data/lib/extensions/fcm-push/ext/android/src/com/rhomobile/rhodes/fcm/FCMFacade.java +13 -17
  66. data/lib/extensions/fcm-push/ext/android/src/com/rhomobile/rhodes/fcm/FCMIntentService.java +81 -80
  67. data/lib/extensions/fcm-push/ext/android/src/com/rhomobile/rhodes/fcm/FCMListener.java +0 -16
  68. data/lib/extensions/fcm-push/ext/iphone/Podfile +15 -2
  69. data/lib/extensions/fcm-push/ext/iphone/fcm-push.xcodeproj/project.pbxproj +6 -7
  70. data/lib/extensions/fcm-push/ext.yml +1 -1
  71. data/lib/extensions/gmaps/ext/platform/android/ApplicationManifestAdds.erb +1 -0
  72. data/lib/extensions/gmaps/ext/platform/android/src/com/rhomobile/rhodes/gmaps/GMapActivity.java +12 -4
  73. data/lib/extensions/gmaps/ext.yml +3 -1
  74. data/lib/extensions/nfc/ext/platform/android/src/com/rhomobile/nfc/Nfc.java +2 -1
  75. data/lib/extensions/serialport/ext/serialport.pro +1 -1
  76. data/platform/android/Rhodes/jni/include/rhodes/JNIRhodes.h +1 -0
  77. data/platform/android/Rhodes/jni/src/MethodResultJni.cpp +4 -0
  78. data/platform/android/Rhodes/jni/src/fileapi.cpp +4 -0
  79. data/platform/android/Rhodes/res/drawable/baseline_check_24.xml +5 -0
  80. data/platform/android/Rhodes/res/drawable/baseline_check_240.xml +5 -0
  81. data/platform/android/Rhodes/res/drawable/baseline_close_24.xml +5 -0
  82. data/platform/android/Rhodes/res/drawable/baseline_close_240.xml +5 -0
  83. data/platform/android/Rhodes/res/layout/overlay_layout.xml +39 -0
  84. data/platform/android/Rhodes/res/layout/perrmission_alert_dialog.xml +267 -0
  85. data/platform/android/Rhodes/src/com/rhomobile/rhodes/BaseActivity.java +183 -66
  86. data/platform/android/Rhodes/src/com/rhomobile/rhodes/LocalFileProvider.java +38 -6
  87. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhoFileProvider.java +32 -0
  88. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesActivity.java +532 -92
  89. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesApplication.java +26 -4
  90. data/platform/android/Rhodes/src/com/rhomobile/rhodes/RhodesService.java +259 -163
  91. data/platform/android/Rhodes/src/com/rhomobile/rhodes/alert/StatusNotification.java +1 -1
  92. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/AbstractRhoExtension.java +14 -3
  93. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtManager.java +4 -0
  94. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/IRhoExtension.java +5 -4
  95. data/platform/android/Rhodes/src/com/rhomobile/rhodes/extmanager/RhoExtManagerImpl.java +79 -38
  96. data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocation.java +20 -15
  97. data/platform/android/Rhodes/src/com/rhomobile/rhodes/geolocation/GeoLocationImpl.java +18 -9
  98. data/platform/android/Rhodes/src/com/rhomobile/rhodes/kioskservices/CallReceiver.java +22 -0
  99. data/platform/android/Rhodes/src/com/rhomobile/rhodes/kioskservices/IKioskMode.java +11 -0
  100. data/platform/android/Rhodes/src/com/rhomobile/rhodes/kioskservices/KioskManager.java +18 -0
  101. data/platform/android/Rhodes/src/com/rhomobile/rhodes/kioskservices/MyAccessibilityService.java +230 -0
  102. data/platform/android/Rhodes/src/com/rhomobile/rhodes/kioskservices/MyNotificationListenerService.java +16 -0
  103. data/platform/android/Rhodes/src/com/rhomobile/rhodes/kioskservices/MyOverlayService.java +197 -0
  104. data/platform/android/Rhodes/src/com/rhomobile/rhodes/kioskservices/PermissionManager.java +232 -0
  105. data/platform/android/Rhodes/src/com/rhomobile/rhodes/mainview/SimpleMainView.java +34 -8
  106. data/platform/android/Rhodes/src/com/rhomobile/rhodes/osfunctionality/AndroidFunctionality26.java +1 -1
  107. data/platform/android/Rhodes/src/com/rhomobile/rhodes/permissioncheck/CheckDrawable.java +53 -0
  108. data/platform/android/Rhodes/src/com/rhomobile/rhodes/permissioncheck/PermissionListGenerate.java +366 -0
  109. data/platform/android/Rhodes/src/com/rhomobile/rhodes/rhodes.iml +11 -0
  110. data/platform/android/Rhodes/src/com/rhomobile/rhodes/socket/SSLImpl.java +1 -0
  111. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/GoogleWebView.java +782 -41
  112. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoInputConnectionWrapper.java +146 -0
  113. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoInputListener.java +21 -0
  114. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/RhoWebViewClient.java +92 -32
  115. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/TauWebViewOptions.java +118 -0
  116. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/WebSettingsProviderBase.java +18 -17
  117. data/platform/android/Rhodes/src/com/rhomobile/rhodes/webview/WebSettingsProviderEclairMR1.java +4 -4
  118. data/platform/android/build/RhodesSRC_build.files +13 -0
  119. data/platform/android/build/{aab_builder.rb → aapt2_helper.rb} +94 -37
  120. data/platform/android/build/android-repack.rake +8 -1
  121. data/platform/android/build/android.rake +238 -238
  122. data/platform/android/build/android_tools.rb +10 -10
  123. data/platform/android/build/androidcommon.rb +31 -14
  124. data/platform/android/build/build_tools_finder.rb +46 -0
  125. data/platform/android/build/config.yml +8 -0
  126. data/platform/android/build/dex_builder.rb +88 -0
  127. data/platform/android/build/hostplatform.rb +9 -0
  128. data/platform/android/build/manifest_generator.rb +15 -10
  129. data/platform/android/build/maven_deps_extractor.rb +29 -22
  130. data/platform/android/build/ndkwrapper.rb +92 -51
  131. data/platform/android/proguard/proguard-base-rules.pro +5 -0
  132. data/platform/android/proguard/proguard.jar +0 -0
  133. data/platform/iphone/Classes/AppManager/AppManager.m +3 -1
  134. data/platform/iphone/Classes/Camera/PickImageDelegate.h +2 -0
  135. data/platform/iphone/Classes/Camera/PickImageDelegate.m +45 -23
  136. data/platform/iphone/Classes/CocoaServer/CCocoaServer.h +27 -0
  137. data/platform/iphone/Classes/CocoaServer/CCocoaServer.m +107 -0
  138. data/platform/iphone/Classes/CocoaServer/RhoHTTPConnection.h +16 -0
  139. data/platform/iphone/Classes/CocoaServer/RhoHTTPConnection.m +226 -0
  140. data/platform/iphone/Classes/RhoAppBaseLib-Bridging-Header.h +4 -0
  141. data/platform/iphone/Classes/RhoAppBaseStandaloneLib-Bridging-Header.h +4 -0
  142. data/platform/iphone/Classes/RhoCryptAESGCM.swift +105 -0
  143. data/platform/iphone/Classes/RhoUIWebView.h +1 -1
  144. data/platform/iphone/Classes/RhoUIWebView.m +1 -1
  145. data/platform/iphone/Classes/RhoWKWebView.h +1 -1
  146. data/platform/iphone/Classes/RhoWKWebView.mm +110 -15
  147. data/platform/iphone/Classes/RhoWebView.h +1 -1
  148. data/platform/iphone/Classes/RhoWebViewFabrique.m +13 -2
  149. data/platform/iphone/Classes/Rhodes.m +3 -0
  150. data/platform/iphone/Classes/SimpleMainView.m +5 -5
  151. data/platform/iphone/Classes/URLProtocol/CRhoURLProtocol.m +21 -10
  152. data/platform/iphone/Classes/rho/net/IPhoneNetRequest.mm +4 -0
  153. data/platform/iphone/CocoaHTTPServer/Core/Categories/DDData.h +14 -0
  154. data/platform/iphone/CocoaHTTPServer/Core/Categories/DDData.m +158 -0
  155. data/platform/iphone/CocoaHTTPServer/Core/Categories/DDNumber.h +12 -0
  156. data/platform/iphone/CocoaHTTPServer/Core/Categories/DDNumber.m +88 -0
  157. data/platform/iphone/CocoaHTTPServer/Core/Categories/DDRange.h +56 -0
  158. data/platform/iphone/CocoaHTTPServer/Core/Categories/DDRange.m +104 -0
  159. data/platform/iphone/CocoaHTTPServer/Core/HTTPAuthenticationRequest.h +45 -0
  160. data/platform/iphone/CocoaHTTPServer/Core/HTTPAuthenticationRequest.m +195 -0
  161. data/platform/iphone/CocoaHTTPServer/Core/HTTPConnection.h +120 -0
  162. data/platform/iphone/CocoaHTTPServer/Core/HTTPConnection.m +2708 -0
  163. data/platform/iphone/CocoaHTTPServer/Core/HTTPLogging.h +136 -0
  164. data/platform/iphone/CocoaHTTPServer/Core/HTTPMessage.h +48 -0
  165. data/platform/iphone/CocoaHTTPServer/Core/HTTPMessage.m +113 -0
  166. data/platform/iphone/CocoaHTTPServer/Core/HTTPResponse.h +149 -0
  167. data/platform/iphone/CocoaHTTPServer/Core/HTTPServer.h +205 -0
  168. data/platform/iphone/CocoaHTTPServer/Core/HTTPServer.m +772 -0
  169. data/platform/iphone/CocoaHTTPServer/Core/Mime/MultipartFormDataParser.h +65 -0
  170. data/platform/iphone/CocoaHTTPServer/Core/Mime/MultipartFormDataParser.m +529 -0
  171. data/platform/iphone/CocoaHTTPServer/Core/Mime/MultipartMessageHeader.h +33 -0
  172. data/platform/iphone/CocoaHTTPServer/Core/Mime/MultipartMessageHeader.m +86 -0
  173. data/platform/iphone/CocoaHTTPServer/Core/Mime/MultipartMessageHeaderField.h +23 -0
  174. data/platform/iphone/CocoaHTTPServer/Core/Mime/MultipartMessageHeaderField.m +211 -0
  175. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPAsyncFileResponse.h +75 -0
  176. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPAsyncFileResponse.m +405 -0
  177. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPDataResponse.h +13 -0
  178. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPDataResponse.m +79 -0
  179. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPDynamicFileResponse.h +52 -0
  180. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPDynamicFileResponse.m +292 -0
  181. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPErrorResponse.h +9 -0
  182. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPErrorResponse.m +38 -0
  183. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPFileResponse.h +25 -0
  184. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPFileResponse.m +237 -0
  185. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPRedirectResponse.h +12 -0
  186. data/platform/iphone/CocoaHTTPServer/Core/Responses/HTTPRedirectResponse.m +73 -0
  187. data/platform/iphone/CocoaHTTPServer/Core/WebSocket.h +105 -0
  188. data/platform/iphone/CocoaHTTPServer/Core/WebSocket.m +791 -0
  189. data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/DAVConnection.h +7 -0
  190. data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/DAVConnection.m +160 -0
  191. data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/DAVResponse.h +11 -0
  192. data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/DAVResponse.m +372 -0
  193. data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/DELETEResponse.h +7 -0
  194. data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/DELETEResponse.m +49 -0
  195. data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/PUTResponse.h +8 -0
  196. data/platform/iphone/CocoaHTTPServer/Extensions/WebDAV/PUTResponse.m +69 -0
  197. data/platform/iphone/CocoaHTTPServer/LICENSE.txt +18 -0
  198. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaAsyncSocket/About.txt +4 -0
  199. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaAsyncSocket/GCDAsyncSocket.h +1226 -0
  200. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaAsyncSocket/GCDAsyncSocket.m +8528 -0
  201. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/About.txt +33 -0
  202. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDASLLogger.h +41 -0
  203. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDASLLogger.m +99 -0
  204. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDAbstractDatabaseLogger.h +102 -0
  205. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDAbstractDatabaseLogger.m +727 -0
  206. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDFileLogger.h +334 -0
  207. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDFileLogger.m +1353 -0
  208. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDLog.h +601 -0
  209. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDLog.m +1083 -0
  210. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDTTYLogger.h +167 -0
  211. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/DDTTYLogger.m +1479 -0
  212. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/Extensions/ContextFilterLogFormatter.h +65 -0
  213. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/Extensions/ContextFilterLogFormatter.m +191 -0
  214. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/Extensions/DispatchQueueLogFormatter.h +116 -0
  215. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/Extensions/DispatchQueueLogFormatter.m +251 -0
  216. data/platform/iphone/CocoaHTTPServer/Vendor/CocoaLumberjack/Extensions/README.txt +7 -0
  217. data/platform/iphone/Framework/RhoApplication/RhoApplication.xcodeproj/project.pbxproj +1 -1
  218. data/platform/iphone/Framework/Rhodes/Rhodes.xcodeproj/project.pbxproj +2 -2
  219. data/platform/iphone/RhoAppBaseLib/RhoAppBaseLib.xcodeproj/project.pbxproj +410 -1
  220. data/platform/iphone/RhoLib/RhoLib.xcodeproj/project.pbxproj +1 -1
  221. data/platform/iphone/curl/curl.xcodeproj/project.pbxproj +4 -1
  222. data/platform/iphone/rbuild/iphone.rake +13 -8
  223. data/platform/iphone/rhoextlib/rhoextlib.xcodeproj/project.pbxproj +4 -1
  224. data/platform/iphone/rhorubylib/rhorubylib.xcodeproj/project.pbxproj +1 -1
  225. data/platform/iphone/rhosynclib/rhosynclib.xcodeproj/project.pbxproj +1 -1
  226. data/platform/osx/bin/RhoSimulator/RhoSimulator.app.zip +0 -0
  227. data/platform/sailfish/build/{harbour-SailfishRhodes.pro.erb → SailfishRhodes.pro.erb} +10 -17
  228. data/platform/sailfish/build/rhodes.pro.erb +7 -17
  229. data/platform/sailfish/build/rpm/SailfishRhodes.desktop.erb +12 -0
  230. data/platform/sailfish/build/rpm/SailfishRhodes.erb +2 -0
  231. data/platform/sailfish/build/rpm/SailfishRhodes.spec.erb +43 -0
  232. data/platform/sailfish/build/rubylib.pro.erb +29 -29
  233. data/platform/sailfish/build/sailfish.rake +188 -180
  234. data/platform/sailfish/keys/regular_cert.pem +14 -0
  235. data/platform/sailfish/keys/regular_key.pem +4 -0
  236. data/platform/shared/common/RhodesApp.cpp +59 -10
  237. data/platform/shared/common/iphone/RhoCryptImpl.mm +130 -54
  238. data/platform/shared/net/HttpServer.cpp +20 -0
  239. data/platform/shared/qt/RhoSimulator.pro +1 -1
  240. data/platform/shared/qt/rhodes/rhodes.pro +4 -11
  241. data/platform/shared/qt/sailfish/SailfishRhodes.desktop +3 -4
  242. data/platform/shared/qt/sailfish/SailfishRhodes.pro +9 -10
  243. data/platform/shared/qt/sailfish/icons/108x108/108x108.png +0 -0
  244. data/platform/shared/qt/sailfish/privileges/sailfishrhodes +2 -0
  245. data/platform/shared/qt/sailfish/qml/pages/FirstPageWK.qml +7 -11
  246. data/platform/shared/qt/sailfish/qml/{harbour-sailfishrhodes.qml → sailfishrhodes.qml} +1 -1
  247. data/platform/shared/qt/sailfish/rpm/sailfishrhodes.spec +80 -0
  248. data/platform/shared/qt/sailfish/rpm/{harbour-sailfishrhodes.yaml → sailfishrhodes.yaml} +2 -2
  249. data/platform/shared/qt/sailfish/src/QtMainWindow.cpp +1 -1
  250. data/platform/shared/qt/sailfish/src/QtMainWindow.h +1 -1
  251. data/platform/shared/qt/sailfish/src/main.cpp +6 -38
  252. data/platform/shared/qt/sailfish/src/rootdelegate.h +2 -14
  253. data/platform/shared/ruby/aurora/ruby/config.h +386 -0
  254. data/platform/shared/ruby/aurora/ruby/constdefs.c +5866 -0
  255. data/platform/shared/ruby/aurora/ruby/constdefs.h +1788 -0
  256. data/platform/shared/ruby/osx/ruby/config.h +2 -0
  257. data/platform/shared/ruby/win32/win32.c +10 -3
  258. data/platform/shared/sqlite/crypto.c +14 -0
  259. data/platform/win32/RhoSimulator/RhoSimulator.exe +0 -0
  260. data/platform/win32/build/rhodes.nsi +3 -3
  261. data/platform/win32/build/win32.rake +1 -1
  262. data/rakefile.rb +55 -43
  263. data/res/build-tools/RhoRuby.exe +0 -0
  264. data/res/build-tools/aapt2/linux/aapt2 +0 -0
  265. data/res/build-tools/aapt2/osx/aapt2 +0 -0
  266. data/res/build-tools/iphonesim/build/Release/iphonesim_8 +4 -4
  267. data/res/generators/templates/application/AndroidManifest.erb +28 -6
  268. data/res/generators/templates/application/build.yml +18 -11
  269. data/res/generators/templates/application/resources/android/res/xml/provider_paths.xml +4 -0
  270. data/res/generators/templates/application/rhoconfig.txt +15 -1
  271. data/res/generators/templates/iphone_project/Bremen8.xcodeproj/project.pbxproj +24 -1
  272. data/res/generators/templates/iphone_project/Classes/SimpleSwiftClass.swift +20 -0
  273. data/res/generators/templates/iphone_project/Classes/rhorunner-Bridging-Header.h +4 -0
  274. data/rhobuild.yml.example +4 -4
  275. data/rhodes.gemspec +4 -3
  276. data/version +1 -1
  277. metadata +157 -57
  278. data/lib/commonAPI/mediacapture/ext/platform/android/adds/res/drawable/camera_btn.xml +0 -14
  279. data/lib/commonAPI/mediacapture/ext/platform/android/adds/res/layout/camera_land.xml +0 -23
  280. data/lib/commonAPI/mediacapture/ext/platform/android/adds/res/layout/camera_port.xml +0 -23
  281. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraActivity.java +0 -156
  282. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraEclair.java +0 -227
  283. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraGingerbread.java +0 -152
  284. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraPreview.java +0 -183
  285. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraSingletonEclair.java +0 -14
  286. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/CameraSingletonGingerbread.java +0 -60
  287. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/ICameraObject.java +0 -20
  288. data/lib/commonAPI/mediacapture/ext/platform/android/src/com/rho/camera/ICameraSingletonObject.java +0 -8
  289. data/lib/extensions/fcm-push/ext/android/src/com/rhomobile/rhodes/fcm/FCMTokenRefresherService.java +0 -27
  290. data/platform/android/Rhodes/AndroidManifest.xml.erb +0 -89
  291. data/platform/sailfish/build/rho_build.cmd.erb +0 -14
  292. data/platform/sailfish/build/rho_clean.cmd.erb +0 -14
  293. data/platform/sailfish/build/rho_deploy.cmd.erb +0 -15
  294. data/platform/sailfish/build/rho_rpm.cmd.erb +0 -14
  295. data/platform/sailfish/build/rho_rpmvalidation.cmd.erb +0 -14
  296. data/platform/sailfish/build/rpm/harbour-SailfishRhodes.desktop.erb +0 -7
  297. data/platform/sailfish/build/rpm/harbour-SailfishRhodes.erb +0 -2
  298. data/platform/sailfish/build/rpm/harbour-SailfishRhodes.yaml.erb +0 -37
  299. data/platform/shared/qt/sailfish/harbour-sailfishrhodes.desktop +0 -6
  300. data/platform/shared/qt/sailfish/icons/108x108/harbour-sailfishrhodes.png +0 -0
  301. data/platform/shared/qt/sailfish/privileges/harbour-sailfishrhodes +0 -2
  302. data/platform/shared/qt/sailfish/qml/pages/FirstPageWE.qml +0 -236
  303. /data/platform/shared/qt/sailfish/icons/128x128/{harbour-sailfishrhodes.png → sailfishrhodes.png} +0 -0
  304. /data/platform/shared/qt/sailfish/icons/172x172/{harbour-sailfishrhodes.png → sailfishrhodes.png} +0 -0
  305. /data/platform/shared/qt/sailfish/icons/86x86/{harbour-sailfishrhodes.png → sailfishrhodes.png} +0 -0
@@ -760,6 +760,9 @@ def read_manifest_package(path)
760
760
  end
761
761
  module_function :read_manifest_package
762
762
 
763
+ def self.jarbin= v
764
+ @@jarbin=v
765
+ end
763
766
 
764
767
  def self.jarsigner= v
765
768
  @@jarsigner=v
@@ -909,7 +912,7 @@ module_function :read_manifest_package
909
912
  def generateKeystore( keystore, storealias, storepass, keypass )
910
913
  @@logger.info "Generating private keystore..."
911
914
 
912
- mkdir_p File.dirname($keystore) unless File.directory? File.dirname($keystore)
915
+ mkdir_p File.dirname(keystore) unless File.directory? File.dirname(keystore)
913
916
 
914
917
  args = []
915
918
  args << "-genkey"
@@ -973,19 +976,16 @@ module_function :read_manifest_package
973
976
 
974
977
  def apk_build(sdk, apk_name, res_name, dex_name, debug)
975
978
  puts "Building APK file..."
976
- prev_dir = Dir.pwd
977
- Dir.chdir File.join(sdk, "tools")
978
-
979
- params = ['-Xmx1024m', '-classpath', findSdkLibJar(sdk), 'com.android.sdklib.build.ApkBuilderMain', apk_name]
980
-
981
- params += ['-u', '-z', res_name, '-f', dex_name]
979
+
980
+ #just put dex file to a copy of already prepared intermediate APK
981
+ cp res_name, apk_name
982
+ params = [ '-uf', apk_name, '-C', File.dirname(dex_name), File.basename(dex_name) ]
983
+ Jake.run( @@jarbin, params)
982
984
 
983
- Jake.run File.join($java, "java#{HostPlatform.exe_ext}"), params
984
985
  unless $?.success?
985
- Dir.chdir prev_dir
986
986
  raise 'Error building APK file'
987
987
  end
988
- Dir.chdir prev_dir
988
+
989
989
  end
990
990
  module_function :apk_build
991
991
 
@@ -65,7 +65,7 @@ def setup_ndk(ndkpath,apilevel,abi)
65
65
 
66
66
  $ndkgccver = ndk.gccver
67
67
  $ndk_rev_major = ndk.rev_major
68
- $target_toolchain = ndk.toolchain
68
+ $target_toolchain = ndk.toolchain_name
69
69
  $androidndkpath = ndkpath unless $androidndkpath
70
70
 
71
71
  $sysincludes = ndk.sysincludes apilevel, abi
@@ -153,18 +153,24 @@ def cpp_def_args
153
153
  args << "-std=c++11"
154
154
  else
155
155
  args << "-stdlib=libc++"
156
+ #args << "-std=c++17"
156
157
  end
157
158
 
158
159
  args << "-Wno-reorder"
159
- #args << "-I\"#{File.join($androidndkpath,'sources','cxx-stl','stlport','stlport')}\""
160
- args << "-I\"#{File.join($androidndkpath,'sources','cxx-stl','gnu-libstdc++',$ndkgccver,'include')}\""
161
- args << "-I\"#{File.join($androidndkpath,'sources','cxx-stl','gnu-libstdc++',$ndkgccver,'include','backward')}\""
160
+
161
+ if($ndk_rev_major < 18)
162
+ args << "-I\"#{File.join($androidndkpath,'sources','cxx-stl','gnu-libstdc++',$ndkgccver,'include')}\""
163
+ args << "-I\"#{File.join($androidndkpath,'sources','cxx-stl','gnu-libstdc++',$ndkgccver,'include','backward')}\""
162
164
 
163
- dirArmeabi = File.join($androidndkpath,'sources','cxx-stl','gnu-libstdc++',$ndkgccver,'libs','armeabi','include')
164
- if !File.directory?(dirArmeabi)
165
- dirArmeabi = File.join($androidndkpath,'sources','cxx-stl','gnu-libstdc++',$ndkgccver,'libs','armeabi-v7a','include')
165
+ dirArmeabi = File.join($androidndkpath,'sources','cxx-stl','gnu-libstdc++',$ndkgccver,'libs','armeabi','include')
166
+ if !File.directory?(dirArmeabi)
167
+ dirArmeabi = File.join($androidndkpath,'sources','cxx-stl','gnu-libstdc++',$ndkgccver,'libs','armeabi-v7a','include')
168
+ end
169
+ args << "-I\"#{dirArmeabi}\""
170
+ else
171
+ #args << "-I\"#{File.join($androidndkpath,'sources','cxx-stl','llvm-libc++','include')}\""
166
172
  end
167
- args << "-I\"#{dirArmeabi}\""
173
+
168
174
  args
169
175
  end
170
176
 
@@ -367,7 +373,10 @@ def cc_link(outname, objects, additional = nil, deps = nil)
367
373
  if($ndk_rev_major >= 18)
368
374
  args << "-v"
369
375
  args << "--target=#{$target_toolchain}#{$apilevel}"
370
- args << "-fuse-ld=gold"
376
+
377
+ if($ndk_rev_major < 22)
378
+ args << "-fuse-ld=gold"
379
+ end
371
380
  end
372
381
 
373
382
  localabi = "unknown"
@@ -399,13 +408,21 @@ def cc_link(outname, objects, additional = nil, deps = nil)
399
408
  args << "-Wl,-z,defs"
400
409
  args << "-fPIC"
401
410
  args << "-Wl,-soname,#{File.basename(outname)}"
402
- args << "--sysroot"
403
- args << $link_sysroot
411
+
412
+
413
+ if $ndk_rev_major < 22 #sysroot is auto detected by target when using NDK >= 22
414
+ args << "--sysroot"
415
+ args << $link_sysroot
416
+ end
417
+
404
418
  args << "-o"
405
419
  args << "\"#{outname}\""
406
420
  args += objects.collect { |x| "\"#{x}\""}
407
421
  args += additional if additional.is_a? Array and not additional.empty?
408
- if($ndk_rev_major >= 18)
422
+
423
+ if $ndk_rev_major>=22
424
+ #do nothing. clang will detect all needed linker flags by target setting
425
+ elsif($ndk_rev_major >= 18)
409
426
  args << "-L#{$link_sysroot}"
410
427
  args << "-Wl,-rpath-link=#{$link_sysroot}"
411
428
  args << "-L#{$link_sysroot_ext}"
@@ -464,7 +481,7 @@ def java_compile(outpath, classpath, srclist)
464
481
  args = []
465
482
  args << "-g"
466
483
  args << "-d"
467
- args << outpath
484
+ args << "\"" + outpath + "\""
468
485
  args << "-source"
469
486
  args << "1.6"
470
487
  args << "-target"
@@ -473,7 +490,7 @@ def java_compile(outpath, classpath, srclist)
473
490
  args << "-encoding"
474
491
  args << "latin1"
475
492
  args << "-classpath"
476
- args << classpath
493
+ args << "\"" + classpath + "\""
477
494
  args << "@#{srclist}"
478
495
  puts Jake.run(javac, args)
479
496
  unless $?.success?
@@ -0,0 +1,46 @@
1
+ module AndroidTools
2
+ def findBuildToolsPath( version, sdk_path, platform)
3
+ if File.exist?(File.join(sdk_path, "build-tools"))
4
+
5
+ build_tools_ver = nil
6
+ if version
7
+ #will try to find user-specified build tools
8
+ path = File.join(sdk_path,'build-tools',version)
9
+ if File.directory?(path)
10
+ build_tools_ver = version
11
+ end
12
+ end
13
+
14
+
15
+ build_tools = {}
16
+
17
+ if !build_tools_ver
18
+ Dir.foreach(File.join(sdk_path, "build-tools")) do |entry|
19
+ next if entry == '.' or entry == '..'
20
+
21
+ #Lets read source.properties file to get highest available build-tools
22
+ src_prop_path = File.join(sdk_path, "build-tools",entry,"source.properties")
23
+ next unless File.file?(src_prop_path)
24
+
25
+ File.open(src_prop_path) do |f|
26
+ f.each_line do |line|
27
+ build_tools[entry] = line.split('=')[1].gsub("\n",'') if line.match(/^Pkg.Revision=/)
28
+ end
29
+ end
30
+ end
31
+
32
+ latest_build_tools = build_tools.sort_by{|folder_name,sdk_version| sdk_version}.last
33
+ build_tools_ver = latest_build_tools[0]
34
+ end
35
+ end
36
+
37
+ if build_tools_ver
38
+ build_tools_path = File.join(sdk_path,'build-tools',build_tools_ver)
39
+ else
40
+ build_tools_path = File.join(sdk_path, "platforms", platform, "tools")
41
+ end
42
+
43
+ build_tools_path
44
+ end
45
+ module_function :findBuildToolsPath
46
+ end
@@ -0,0 +1,8 @@
1
+ maven_deps:
2
+ - 'androidx.core:core:1.6.0'
3
+ - 'androidx.core:core-ktx:1.6.0'
4
+ - 'androidx.lifecycle:lifecycle-common:2.3.1'
5
+ - 'androidx.lifecycle:lifecycle-common-java8:2.3.1'
6
+ - 'org.conscrypt:conscrypt-android:2.5.1'
7
+ - 'com.android.ndk.thirdparty:openssl:1.1.1q-beta-1'
8
+ - 'androidx.localbroadcastmanager:localbroadcastmanager:1.1.0'
@@ -0,0 +1,88 @@
1
+ require_relative '../../../lib/build/jake.rb'
2
+ require_relative 'hostplatform.rb'
3
+ require 'singleton'
4
+
5
+ module AndroidTools
6
+
7
+ class DexBuilder
8
+ include Singleton
9
+
10
+ attr_accessor :logger, :sdk_path, :build_tools_path, :androidplatform, :javabin
11
+
12
+ def build( jarlist = [], outdex )
13
+ tools_path = detect_tools_path
14
+
15
+ bin,args = build_cmd_line(tools_path, jarlist, outdex)
16
+
17
+ @logger.debug "BIN: #{bin}, ARGS: #{args}"
18
+ return false unless bin
19
+
20
+ Jake.run(bin,args)
21
+ $?.success?
22
+ end
23
+
24
+ def detect_tools_path
25
+
26
+ if (@build_tools_path)
27
+ path = @build_tools_path
28
+ else
29
+ path_guess_1 = File.join(@sdk_path, "platforms", @androidplatform, "tools")
30
+ if (File.directory?(path_guess_1))
31
+ path = path_guess_1
32
+ else
33
+ path_guess_2 = File.join(@sdk_path, "platform-tools")
34
+ if (File.directory?(path_guess_2))
35
+ path = path_guess_2
36
+ end
37
+ end
38
+
39
+ end
40
+
41
+ path
42
+ end
43
+
44
+ def build_cmd_line(tools_path, jarlist, outdex)
45
+
46
+ @logger.error( "DEX builder: path to build tools not set" ) unless @build_tools_path
47
+
48
+ @logger.info( "DEX builder: looking for DEX tool in #{@build_tools_path}")
49
+
50
+ #try to find dx.jar first
51
+ dexjar = File.join(@build_tools_path,"lib","dx.jar")
52
+ if File.file?(dexjar)
53
+
54
+ @logger.info( "DEX builder: found dx.jar")
55
+
56
+ args = []
57
+ args << "-Xmx1024m"
58
+ args << "-jar"
59
+ args << dexjar
60
+ args << "--dex"
61
+ args << "--output=#{outdex}"
62
+ args.concat jarlist
63
+
64
+ return @javabin, args
65
+
66
+ else #then go for d8
67
+ d8 = File.join(@build_tools_path,"d8"+HostPlatform::bat_ext)
68
+ if File.file?(d8)
69
+ @logger.info( "DEX builder: found d8")
70
+
71
+ raise "I'm expecting to have output dex named classes.dex for d8 tool but found #{File.basename(outdex)}" if (File.basename(outdex) != 'classes.dex')
72
+
73
+ args = []
74
+ args << '--output'
75
+ args << "#{File.dirname(outdex)}"
76
+ #args << '--no-desugaring'
77
+ args.concat jarlist
78
+
79
+ return d8, args
80
+ else
81
+ @logger.error( "Can't find proper DEX builder in the build tools")
82
+ end
83
+
84
+ return nil,nil
85
+ end
86
+ end
87
+ end
88
+ end
@@ -23,6 +23,15 @@ module HostPlatform
23
23
  end
24
24
  module_function :exe_ext
25
25
 
26
+ def bat_ext
27
+ if HostPlatform.windows?
28
+ '.bat'
29
+ else
30
+ ''
31
+ end
32
+ end
33
+ module_function :bat_ext
34
+
26
35
  def num_cpus
27
36
  num = nil
28
37
  if HostPlatform.linux?
@@ -23,11 +23,11 @@ class ManifestGenerator
23
23
  attr_accessor :buildToolsVer
24
24
  attr_accessor :androidVerMaj
25
25
  attr_accessor :androidVerMin
26
-
26
+
27
27
  attr_accessor :manifestManifestAdds
28
28
  attr_accessor :applicationManifestAdds
29
-
30
- def initialize(javaPackage, appPackage, hidden, permissions, features = {})
29
+
30
+ def initialize(javaPackage, appPackage, hidden, home_app, permissions, features = {})
31
31
  @javaPackageName = javaPackage
32
32
  @appPackageName = appPackage
33
33
  @permissions = {}
@@ -41,7 +41,11 @@ class ManifestGenerator
41
41
  @rhodesActivityIntentFilters = []
42
42
  @rhodesActivityIntentFilters << {:act=>'android.intent.action.VIEW', :cat=>['android.intent.category.DEFAULT', 'android.intent.category.BROWSABLE']}
43
43
  unless hidden
44
- @rhodesActivityIntentFilters << {:act=>'android.intent.action.MAIN', :cat=>['android.intent.category.DEFAULT', 'android.intent.category.LAUNCHER']}
44
+ categors = ['android.intent.category.DEFAULT','android.intent.category.LAUNCHER']
45
+ if home_app
46
+ categors << 'android.intent.category.HOME'
47
+ end
48
+ @rhodesActivityIntentFilters << {:act=>'android.intent.action.MAIN', :cat=>categors}
45
49
  end
46
50
  @screenOrientation = 'unspecified'
47
51
  @debuggable = 'false'
@@ -51,20 +55,21 @@ class ManifestGenerator
51
55
  @applicationManifestAdds = []
52
56
  @apikey = ''
53
57
  end
54
-
58
+
55
59
  def addGoogleMaps
56
60
  @usesLibraries['com.google.android.maps'] = true
61
+ @usesLibraries['org.apache.http.legacy'] = false
57
62
  end
58
-
63
+
59
64
  def addGooglePush(erbPath)
60
65
  @permissions["#{@appPackageName}.permission.C2D_MESSAGE"] = 'signature'
61
66
  @usesPermissions << "#{@appPackageName}.permission.C2D_MESSAGE"
62
67
  @usesPermissions << 'com.google.android.c2dm.permission.RECEIVE'
63
68
  @applicationManifestAdds << erbPath
64
69
  end
65
-
66
-
67
-
70
+
71
+
72
+
68
73
  def addUriParams(scheme, host, pathPrefix = nil)
69
74
  @rhodesActivityIntentFilters.each do |filter|
70
75
  if filter[:act] == 'android.intent.action.VIEW' && filter[:cat] == ['android.intent.category.DEFAULT', 'android.intent.category.BROWSABLE']
@@ -75,7 +80,7 @@ class ManifestGenerator
75
80
  end
76
81
  end
77
82
  end
78
-
83
+
79
84
  def makeIntentFilter(filterHash)
80
85
  filter = REXML::Element.new 'intent-filter'
81
86
  filter.add_element('action', 'android:name'=>filterHash[:act]) if filterHash[:act]
@@ -25,6 +25,8 @@ class MavenDepsExtractor
25
25
  @file_deps = []
26
26
 
27
27
  @rhoroot = File.join( File.dirname(__FILE__),'..','..','..')
28
+
29
+ #@m2home = ENV["APPVEYOR_BUILD_WORKER_IMAGE"].nil? ? File.join( @rhoroot, 'res', 'build-tools', 'maven' ) : File.join('C:','PROGRA~2','Apache','Maven')
28
30
  @m2home = File.join( @rhoroot, 'res', 'build-tools', 'maven' )
29
31
  @mvnbin = File.join( @m2home, 'bin', 'mvn' )
30
32
 
@@ -45,8 +47,7 @@ class MavenDepsExtractor
45
47
  @asset_dirs = []
46
48
  @jni_libs = []
47
49
  @manifests = []
48
-
49
- @have_v4_support_lib = false
50
+ @prefab_dirs = []
50
51
 
51
52
  end
52
53
 
@@ -117,6 +118,10 @@ class MavenDepsExtractor
117
118
  @dependencies
118
119
  end
119
120
 
121
+ def prefab_dirs
122
+ @prefab_dirs
123
+ end
124
+
120
125
  def set_temp_dir( d )
121
126
  raise "Maven extractor directory was already set to #{@temp_dir}" if @temp_dir
122
127
 
@@ -159,7 +164,6 @@ class MavenDepsExtractor
159
164
 
160
165
  Dir[File.join(src,'*')].each do |f|
161
166
 
162
- @have_v4_support_lib = true if ( File.basename(f) =~ /support-v4/ )
163
167
 
164
168
  if File.extname(f) == '.aar'
165
169
  target = File.join(dst,File.basename(f,'.aar'))
@@ -177,6 +181,7 @@ class MavenDepsExtractor
177
181
  libs = File.join(target,'libs')
178
182
  jni = File.join(target,'jni')
179
183
  classes = File.join(target,'classes.jar')
184
+ prefab = File.join(target,'prefab')
180
185
 
181
186
  @asset_dirs << assets if (File.directory?(assets) and !Dir[File.join(assets,'*')].empty? )
182
187
  @manifests << manifest if File.file?(manifest) and File.size?(r_txt)
@@ -184,6 +189,7 @@ class MavenDepsExtractor
184
189
  @jars += Dir[File.join(libs,'*.jar')]
185
190
  @jars << classes if File.file?(classes)
186
191
  @jni_libs += Dir[(File.join(jni,'**','*.so'))]
192
+ @prefab_dirs << prefab if (File.directory?(prefab) and !Dir[File.join(prefab,'**')].empty? )
187
193
 
188
194
  end
189
195
  elsif File.extname(f) == '.jar'
@@ -204,9 +210,9 @@ class MavenDepsExtractor
204
210
  def dep_copy_cmd
205
211
  argv = []
206
212
  argv << @mvnbin
207
- argv << 'dependency:copy-dependencies'
213
+ argv << '"dependency:copy-dependencies"'
208
214
  # argv << '-o' #work offline
209
- argv << "-Dmaven.repo.local=#{File.join(@m2home,'m2')}"
215
+ argv << "\"-Dmaven.repo.local=#{File.join(@m2home,'m2')}\""
210
216
  argv << '-e' if Rake.application.options.trace
211
217
  argv << '-X' if Rake.application.options.trace
212
218
 
@@ -236,21 +242,24 @@ class MavenDepsExtractor
236
242
 
237
243
  def dep_get_cmd(grp_id, art_id, ver, repos)
238
244
  argv = []
239
- argv << @mvnbin
240
- argv << 'dependency:get'
241
- argv << "-Dmaven.repo.local=#{File.join(@m2home,'m2')}"
242
-
243
- argv << "-DgroupId=#{grp_id}"
244
- argv << "-DartifactId=#{art_id}"
245
- argv << "-Dversion=#{ver}"
246
- argv << "-DremoteRepositories=#{repos}"
247
- argv << "-Dpackaging=pom"
248
- argv << "-Ddest=./"
249
- argv << "-Dtransitive=false"
250
-
245
+ argv << "\"" + @mvnbin + "\""
246
+ argv << '"dependency:get"'
247
+ argv << "\"-Dmaven.repo.local=#{File.join(@m2home,'m2')}\""
248
+
249
+ argv << "\"-DgroupId=#{grp_id}\""
250
+ argv << "\"-DartifactId=#{art_id}\""
251
+ argv << "\"-Dversion=#{ver}\""
252
+ argv << "\"-DremoteRepositories=#{repos}\""
253
+ argv << "\"-Dpackaging=pom\""
254
+ argv << "\"-Ddest=./\""
255
+ argv << "\"-Dtransitive=false\""
256
+
257
+ argv << '-B'
258
+ argv << '-q'
251
259
  argv << '-e' if Rake.application.options.trace
252
260
  argv << '-X' if Rake.application.options.trace
253
261
 
262
+
254
263
  argv.join(' ')
255
264
  end
256
265
 
@@ -267,9 +276,10 @@ class MavenDepsExtractor
267
276
  Jake.run3( cmd, pwd, env )
268
277
  rm pom
269
278
 
279
+ target = File.join(path,'target')
270
280
  @logger.debug "Moving extracted dependencies to #{path}"
271
- Dir[File.join(path,'target','dependency','*')].each { |f| mv(f,path) }
272
- rm_r File.join(path,'target')
281
+ Dir[File.join(target,'dependency','*')].each { |f| mv(f,path) }
282
+ rm_r File.join(target) if File.directory?(target)
273
283
  end
274
284
 
275
285
  def split_dependency( dep )
@@ -377,9 +387,6 @@ class MavenDepsExtractor
377
387
  @jars.join(separator)
378
388
  end
379
389
 
380
- def have_v4_support_lib?
381
- @have_v4_support_lib
382
- end
383
390
 
384
391
  end
385
392