af 0.3.12.3 → 0.3.13.beta.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (557) hide show
  1. data/Rakefile +84 -2
  2. data/lib/cli.rb +2 -3
  3. data/lib/cli/commands/admin.rb +9 -6
  4. data/lib/cli/commands/apps.rb +180 -120
  5. data/lib/cli/commands/base.rb +8 -15
  6. data/lib/cli/commands/misc.rb +5 -4
  7. data/lib/cli/commands/services.rb +15 -16
  8. data/lib/cli/commands/user.rb +8 -4
  9. data/lib/cli/config.rb +30 -9
  10. data/lib/cli/core_ext.rb +331 -0
  11. data/lib/cli/frameworks.rb +23 -6
  12. data/lib/cli/runner.rb +4 -0
  13. data/lib/cli/services_helper.rb +8 -2
  14. data/lib/cli/usage.rb +4 -3
  15. data/lib/cli/version.rb +1 -1
  16. data/lib/vmc/client.rb +11 -3
  17. data/lib/vmc/const.rb +3 -2
  18. data/spec/assets/service_gateway_fail.txt +9 -0
  19. data/spec/assets/tests/LICENSE +7136 -0
  20. data/spec/assets/tests/NOTICE +10 -0
  21. data/spec/assets/tests/README +21 -0
  22. data/spec/assets/tests/git/hooks-wrapper +9 -0
  23. data/spec/assets/tests/git/install-hook-symlinks +28 -0
  24. data/spec/assets/tests/git/tracked_hooks/pre-commit +11 -0
  25. data/spec/assets/tests/grails/guestbook/README +8 -0
  26. data/spec/assets/tests/grails/guestbook/Rakefile +28 -0
  27. data/spec/assets/tests/grails/guestbook/application.properties +8 -0
  28. data/spec/assets/tests/grails/guestbook/grails-app/conf/BootStrap.groovy +7 -0
  29. data/spec/assets/tests/grails/guestbook/grails-app/conf/BuildConfig.groovy +31 -0
  30. data/spec/assets/tests/grails/guestbook/grails-app/conf/Config.groovy +90 -0
  31. data/spec/assets/tests/grails/guestbook/grails-app/conf/DataSource.groovy +32 -0
  32. data/spec/assets/tests/grails/guestbook/grails-app/conf/UrlMappings.groovy +13 -0
  33. data/spec/assets/tests/grails/guestbook/grails-app/conf/spring/resources.groovy +3 -0
  34. data/spec/assets/tests/grails/guestbook/grails-app/controllers/com/vmware/appcloud/testapps/grails/guestbook/GuestController.groovy +100 -0
  35. data/spec/assets/tests/grails/guestbook/grails-app/domain/com/vmware/appcloud/testapps/grails/guestbook/Guest.groovy +6 -0
  36. data/spec/assets/tests/grails/guestbook/grails-app/i18n/messages.properties +55 -0
  37. data/spec/assets/tests/grails/guestbook/grails-app/i18n/messages_da.properties +56 -0
  38. data/spec/assets/tests/grails/guestbook/grails-app/i18n/messages_de.properties +55 -0
  39. data/spec/assets/tests/grails/guestbook/grails-app/i18n/messages_es.properties +30 -0
  40. data/spec/assets/tests/grails/guestbook/grails-app/i18n/messages_fr.properties +19 -0
  41. data/spec/assets/tests/grails/guestbook/grails-app/i18n/messages_it.properties +19 -0
  42. data/spec/assets/tests/grails/guestbook/grails-app/i18n/messages_ja.properties +19 -0
  43. data/spec/assets/tests/grails/guestbook/grails-app/i18n/messages_nl.properties +55 -0
  44. data/spec/assets/tests/grails/guestbook/grails-app/i18n/messages_pt_BR.properties +34 -0
  45. data/spec/assets/tests/grails/guestbook/grails-app/i18n/messages_pt_PT.properties +34 -0
  46. data/spec/assets/tests/grails/guestbook/grails-app/i18n/messages_ru.properties +31 -0
  47. data/spec/assets/tests/grails/guestbook/grails-app/i18n/messages_th.properties +35 -0
  48. data/spec/assets/tests/grails/guestbook/grails-app/i18n/messages_zh_CN.properties +18 -0
  49. data/spec/assets/tests/grails/guestbook/grails-app/views/error.gsp +54 -0
  50. data/spec/assets/tests/grails/guestbook/grails-app/views/guest/create.gsp +49 -0
  51. data/spec/assets/tests/grails/guestbook/grails-app/views/guest/edit.gsp +53 -0
  52. data/spec/assets/tests/grails/guestbook/grails-app/views/guest/list.gsp +53 -0
  53. data/spec/assets/tests/grails/guestbook/grails-app/views/guest/show.gsp +58 -0
  54. data/spec/assets/tests/grails/guestbook/grails-app/views/index.gsp +100 -0
  55. data/spec/assets/tests/grails/guestbook/grails-app/views/layouts/main.gsp +17 -0
  56. data/spec/assets/tests/grails/guestbook/pom.xml +316 -0
  57. data/spec/assets/tests/grails/guestbook/src/main/webapp/WEB-INF/web.xml +0 -0
  58. data/spec/assets/tests/grails/guestbook/stacktrace.log +0 -0
  59. data/spec/assets/tests/grails/guestbook/test/unit/com/vmware/appcloud/testapps/grails/guestbook/GuestControllerTests.groovy +17 -0
  60. data/spec/assets/tests/grails/guestbook/test/unit/com/vmware/appcloud/testapps/grails/guestbook/GuestTests.groovy +17 -0
  61. data/spec/assets/tests/grails/guestbook/web-app/WEB-INF/applicationContext.xml +42 -0
  62. data/spec/assets/tests/grails/guestbook/web-app/WEB-INF/sitemesh.xml +14 -0
  63. data/spec/assets/tests/grails/guestbook/web-app/WEB-INF/tld/c.tld +563 -0
  64. data/spec/assets/tests/grails/guestbook/web-app/WEB-INF/tld/fmt.tld +671 -0
  65. data/spec/assets/tests/grails/guestbook/web-app/WEB-INF/tld/grails.tld +550 -0
  66. data/spec/assets/tests/grails/guestbook/web-app/WEB-INF/tld/spring.tld +311 -0
  67. data/spec/assets/tests/grails/guestbook/web-app/css/main.css +273 -0
  68. data/spec/assets/tests/grails/guestbook/web-app/images/favicon.ico +0 -0
  69. data/spec/assets/tests/grails/guestbook/web-app/images/grails_logo.jpg +0 -0
  70. data/spec/assets/tests/grails/guestbook/web-app/images/grails_logo.png +0 -0
  71. data/spec/assets/tests/grails/guestbook/web-app/images/leftnav_btm.png +0 -0
  72. data/spec/assets/tests/grails/guestbook/web-app/images/leftnav_midstretch.png +0 -0
  73. data/spec/assets/tests/grails/guestbook/web-app/images/leftnav_top.png +0 -0
  74. data/spec/assets/tests/grails/guestbook/web-app/images/skin/database_add.png +0 -0
  75. data/spec/assets/tests/grails/guestbook/web-app/images/skin/database_delete.png +0 -0
  76. data/spec/assets/tests/grails/guestbook/web-app/images/skin/database_edit.png +0 -0
  77. data/spec/assets/tests/grails/guestbook/web-app/images/skin/database_save.png +0 -0
  78. data/spec/assets/tests/grails/guestbook/web-app/images/skin/database_table.png +0 -0
  79. data/spec/assets/tests/grails/guestbook/web-app/images/skin/exclamation.png +0 -0
  80. data/spec/assets/tests/grails/guestbook/web-app/images/skin/house.png +0 -0
  81. data/spec/assets/tests/grails/guestbook/web-app/images/skin/information.png +0 -0
  82. data/spec/assets/tests/grails/guestbook/web-app/images/skin/shadow.jpg +0 -0
  83. data/spec/assets/tests/grails/guestbook/web-app/images/skin/sorted_asc.gif +0 -0
  84. data/spec/assets/tests/grails/guestbook/web-app/images/skin/sorted_desc.gif +0 -0
  85. data/spec/assets/tests/grails/guestbook/web-app/images/spinner.gif +0 -0
  86. data/spec/assets/tests/grails/guestbook/web-app/images/springsource.png +0 -0
  87. data/spec/assets/tests/grails/guestbook/web-app/js/application.js +13 -0
  88. data/spec/assets/tests/grails/guestbook/web-app/js/prototype/animation.js +7 -0
  89. data/spec/assets/tests/grails/guestbook/web-app/js/prototype/builder.js +136 -0
  90. data/spec/assets/tests/grails/guestbook/web-app/js/prototype/controls.js +965 -0
  91. data/spec/assets/tests/grails/guestbook/web-app/js/prototype/dragdrop.js +974 -0
  92. data/spec/assets/tests/grails/guestbook/web-app/js/prototype/effects.js +1123 -0
  93. data/spec/assets/tests/grails/guestbook/web-app/js/prototype/prototype.js +4874 -0
  94. data/spec/assets/tests/grails/guestbook/web-app/js/prototype/rico.js +2691 -0
  95. data/spec/assets/tests/grails/guestbook/web-app/js/prototype/scriptaculous.js +68 -0
  96. data/spec/assets/tests/grails/guestbook/web-app/js/prototype/slider.js +275 -0
  97. data/spec/assets/tests/grails/guestbook/web-app/js/prototype/sound.js +59 -0
  98. data/spec/assets/tests/grails/guestbook/web-app/js/prototype/unittest.js +568 -0
  99. data/spec/assets/tests/java_web/java_tiny_app/Java_tiny_app.iml +29 -0
  100. data/spec/assets/tests/java_web/java_tiny_app/README +9 -0
  101. data/spec/assets/tests/java_web/java_tiny_app/pom.xml +15 -0
  102. data/spec/assets/tests/java_web/java_tiny_app/src/main/java/com/vmware/appcloud/testapps/javatinyapp/MainServlet.java +31 -0
  103. data/spec/assets/tests/java_web/java_tiny_app/src/main/webapp/WEB-INF/web.xml +23 -0
  104. data/spec/assets/tests/java_web/java_tiny_app/target/JavaTinyApp-1.0.war +0 -0
  105. data/spec/assets/tests/java_web/java_tiny_app/target/JavaTinyApp-1.0/WEB-INF/classes/com/vmware/appcloud/testapps/javatinyapp/MainServlet.class +0 -0
  106. data/spec/assets/tests/java_web/java_tiny_app/target/JavaTinyApp-1.0/WEB-INF/web.xml +23 -0
  107. data/spec/assets/tests/java_web/java_tiny_app/target/classes/com/vmware/appcloud/testapps/javatinyapp/MainServlet.class +0 -0
  108. data/spec/assets/tests/java_web/java_tiny_app/target/maven-archiver/pom.properties +5 -0
  109. data/spec/assets/tests/lift/hello_lift/README +8 -0
  110. data/spec/assets/tests/lift/hello_lift/pom.xml +209 -0
  111. data/spec/assets/tests/lift/hello_lift/project/build.properties +7 -0
  112. data/spec/assets/tests/lift/hello_lift/project/build/LiftProject.scala +9 -0
  113. data/spec/assets/tests/lift/hello_lift/src/main/resources/props/default.props +1 -0
  114. data/spec/assets/tests/lift/hello_lift/src/main/scala/bootstrap/liftweb/Boot.scala +71 -0
  115. data/spec/assets/tests/lift/hello_lift/src/main/scala/com/vmware/appcloud/lib/DepencyFactory.scala +57 -0
  116. data/spec/assets/tests/lift/hello_lift/src/main/scala/com/vmware/appcloud/model/User.scala +38 -0
  117. data/spec/assets/tests/lift/hello_lift/src/main/scala/com/vmware/appcloud/snippet/HelloWorld.scala +25 -0
  118. data/spec/assets/tests/lift/hello_lift/src/main/webapp/WEB-INF/web.xml +21 -0
  119. data/spec/assets/tests/lift/hello_lift/src/main/webapp/images/ajax-loader.gif +0 -0
  120. data/spec/assets/tests/lift/hello_lift/src/main/webapp/index.html +9 -0
  121. data/spec/assets/tests/lift/hello_lift/src/main/webapp/static/index.html +5 -0
  122. data/spec/assets/tests/lift/hello_lift/src/main/webapp/templates-hidden/default.html +99 -0
  123. data/spec/assets/tests/lift/hello_lift/src/main/webapp/templates-hidden/wizard-all.html +23 -0
  124. data/spec/assets/tests/lift/hello_lift/src/packageLinkDefs.properties +7 -0
  125. data/spec/assets/tests/lift/hello_lift/src/test/scala/LiftConsole.scala +15 -0
  126. data/spec/assets/tests/lift/hello_lift/src/test/scala/RunWebApp.scala +33 -0
  127. data/spec/assets/tests/lift/hello_lift/src/test/scala/com/vmware/appcloud/AppTest.scala +85 -0
  128. data/spec/assets/tests/lift/hello_lift/src/test/scala/com/vmware/appcloud/snippet/HelloWorldTest.scala +46 -0
  129. data/spec/assets/tests/lift/hello_lift/target/classes.timestamp +1 -0
  130. data/spec/assets/tests/lift/hello_lift/target/classes/bootstrap/liftweb/Boot$$anonfun$1.class +0 -0
  131. data/spec/assets/tests/lift/hello_lift/target/classes/bootstrap/liftweb/Boot$$anonfun$2.class +0 -0
  132. data/spec/assets/tests/lift/hello_lift/target/classes/bootstrap/liftweb/Boot$$anonfun$boot$1.class +0 -0
  133. data/spec/assets/tests/lift/hello_lift/target/classes/bootstrap/liftweb/Boot$$anonfun$boot$2.class +0 -0
  134. data/spec/assets/tests/lift/hello_lift/target/classes/bootstrap/liftweb/Boot$$anonfun$boot$3.class +0 -0
  135. data/spec/assets/tests/lift/hello_lift/target/classes/bootstrap/liftweb/Boot$$anonfun$boot$4.class +0 -0
  136. data/spec/assets/tests/lift/hello_lift/target/classes/bootstrap/liftweb/Boot$$anonfun$boot$5.class +0 -0
  137. data/spec/assets/tests/lift/hello_lift/target/classes/bootstrap/liftweb/Boot$$anonfun$boot$6.class +0 -0
  138. data/spec/assets/tests/lift/hello_lift/target/classes/bootstrap/liftweb/Boot$$anonfun$boot$7.class +0 -0
  139. data/spec/assets/tests/lift/hello_lift/target/classes/bootstrap/liftweb/Boot$$anonfun$sitemap$1$1.class +0 -0
  140. data/spec/assets/tests/lift/hello_lift/target/classes/bootstrap/liftweb/Boot$$anonfun$sitemap$1$2.class +0 -0
  141. data/spec/assets/tests/lift/hello_lift/target/classes/bootstrap/liftweb/Boot.class +0 -0
  142. data/spec/assets/tests/lift/hello_lift/target/classes/com/vmware/appcloud/lib/DependencyFactory$.class +0 -0
  143. data/spec/assets/tests/lift/hello_lift/target/classes/com/vmware/appcloud/lib/DependencyFactory$time$$anonfun$$init$$1.class +0 -0
  144. data/spec/assets/tests/lift/hello_lift/target/classes/com/vmware/appcloud/lib/DependencyFactory$time$.class +0 -0
  145. data/spec/assets/tests/lift/hello_lift/target/classes/com/vmware/appcloud/lib/DependencyFactory.class +0 -0
  146. data/spec/assets/tests/lift/hello_lift/target/classes/com/vmware/appcloud/model/User$.class +0 -0
  147. data/spec/assets/tests/lift/hello_lift/target/classes/com/vmware/appcloud/model/User$textArea$.class +0 -0
  148. data/spec/assets/tests/lift/hello_lift/target/classes/com/vmware/appcloud/model/User.class +0 -0
  149. data/spec/assets/tests/lift/hello_lift/target/classes/com/vmware/appcloud/snippet/HelloWorld$$anonfun$howdy$1.class +0 -0
  150. data/spec/assets/tests/lift/hello_lift/target/classes/com/vmware/appcloud/snippet/HelloWorld.class +0 -0
  151. data/spec/assets/tests/lift/hello_lift/target/classes/props/default.props +1 -0
  152. data/spec/assets/tests/lift/hello_lift/target/maven-archiver/pom.properties +5 -0
  153. data/spec/assets/tests/lift/hello_lift/target/packageLinkDefs.properties +7 -0
  154. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0.war +0 -0
  155. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/bootstrap/liftweb/Boot$$anonfun$1.class +0 -0
  156. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/bootstrap/liftweb/Boot$$anonfun$2.class +0 -0
  157. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/bootstrap/liftweb/Boot$$anonfun$boot$1.class +0 -0
  158. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/bootstrap/liftweb/Boot$$anonfun$boot$2.class +0 -0
  159. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/bootstrap/liftweb/Boot$$anonfun$boot$3.class +0 -0
  160. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/bootstrap/liftweb/Boot$$anonfun$boot$4.class +0 -0
  161. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/bootstrap/liftweb/Boot$$anonfun$boot$5.class +0 -0
  162. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/bootstrap/liftweb/Boot$$anonfun$boot$6.class +0 -0
  163. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/bootstrap/liftweb/Boot$$anonfun$boot$7.class +0 -0
  164. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/bootstrap/liftweb/Boot$$anonfun$sitemap$1$1.class +0 -0
  165. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/bootstrap/liftweb/Boot$$anonfun$sitemap$1$2.class +0 -0
  166. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/bootstrap/liftweb/Boot.class +0 -0
  167. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/com/vmware/appcloud/lib/DependencyFactory$.class +0 -0
  168. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/com/vmware/appcloud/lib/DependencyFactory$time$$anonfun$$init$$1.class +0 -0
  169. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/com/vmware/appcloud/lib/DependencyFactory$time$.class +0 -0
  170. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/com/vmware/appcloud/lib/DependencyFactory.class +0 -0
  171. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/com/vmware/appcloud/model/User$.class +0 -0
  172. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/com/vmware/appcloud/model/User$textArea$.class +0 -0
  173. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/com/vmware/appcloud/model/User.class +0 -0
  174. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/com/vmware/appcloud/snippet/HelloWorld$$anonfun$howdy$1.class +0 -0
  175. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/com/vmware/appcloud/snippet/HelloWorld.class +0 -0
  176. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/classes/props/default.props +1 -0
  177. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/activation-1.1.jar +0 -0
  178. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/commons-codec-1.4.jar +0 -0
  179. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/commons-fileupload-1.2.2.jar +0 -0
  180. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/derby-10.7.1.1.jar +0 -0
  181. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/h2-1.2.138.jar +0 -0
  182. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/htmlparser-1.2.1.jar +0 -0
  183. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/joda-time-1.6.2.jar +0 -0
  184. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/lift-actor_2.8.1-2.3.jar +0 -0
  185. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/lift-common_2.8.1-2.3.jar +0 -0
  186. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/lift-db_2.8.1-2.3.jar +0 -0
  187. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/lift-json_2.8.1-2.3.jar +0 -0
  188. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/lift-mapper_2.8.1-2.3.jar +0 -0
  189. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/lift-proto_2.8.1-2.3.jar +0 -0
  190. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/lift-util_2.8.1-2.3.jar +0 -0
  191. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/lift-webkit_2.8.1-2.3.jar +0 -0
  192. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/logback-classic-0.9.26.jar +0 -0
  193. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/logback-core-0.9.26.jar +0 -0
  194. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/mail-1.4.1.jar +0 -0
  195. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/paranamer-2.3.jar +0 -0
  196. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/scala-library-2.8.1.jar +0 -0
  197. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/lib/slf4j-api-1.6.1.jar +0 -0
  198. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/WEB-INF/web.xml +21 -0
  199. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/images/ajax-loader.gif +0 -0
  200. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/index.html +9 -0
  201. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/static/index.html +5 -0
  202. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/templates-hidden/default.html +99 -0
  203. data/spec/assets/tests/lift/hello_lift/target/scala_lift-1.0/templates-hidden/wizard-all.html +23 -0
  204. data/spec/assets/tests/lift/hello_lift/target/test-classes.timestamp +1 -0
  205. data/spec/assets/tests/lift/hello_lift/target/test-classes/LiftConsole$.class +0 -0
  206. data/spec/assets/tests/lift/hello_lift/target/test-classes/LiftConsole.class +0 -0
  207. data/spec/assets/tests/lift/hello_lift/target/test-classes/RunWebApp$.class +0 -0
  208. data/spec/assets/tests/lift/hello_lift/target/test-classes/RunWebApp.class +0 -0
  209. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/AppTest$$anonfun$wellFormed$1$1.class +0 -0
  210. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/AppTest$.class +0 -0
  211. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/AppTest.class +0 -0
  212. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecs$$anonfun$1$$anonfun$apply$6$$anonfun$apply$1.class +0 -0
  213. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecs$$anonfun$1$$anonfun$apply$6$$anonfun$apply$3.class +0 -0
  214. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecs$$anonfun$1$$anonfun$apply$6$$anonfun$apply$7$$anonfun$apply$2.class +0 -0
  215. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecs$$anonfun$1$$anonfun$apply$6$$anonfun$apply$7$$anonfun$apply$8.class +0 -0
  216. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecs$$anonfun$1$$anonfun$apply$6$$anonfun$apply$7.class +0 -0
  217. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecs$$anonfun$1$$anonfun$apply$6$$anonfun$apply$9$$anonfun$apply$10.class +0 -0
  218. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecs$$anonfun$1$$anonfun$apply$6$$anonfun$apply$9$$anonfun$apply$4.class +0 -0
  219. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecs$$anonfun$1$$anonfun$apply$6$$anonfun$apply$9.class +0 -0
  220. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecs$$anonfun$1$$anonfun$apply$6.class +0 -0
  221. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecs$$anonfun$1.class +0 -0
  222. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecs$$anonfun$executeExpectations$1$$anonfun$apply$5.class +0 -0
  223. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecs$$anonfun$executeExpectations$1.class +0 -0
  224. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecs$.class +0 -0
  225. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecs.class +0 -0
  226. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecsAsTest.class +0 -0
  227. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecsRunner$.class +0 -0
  228. data/spec/assets/tests/lift/hello_lift/target/test-classes/com/vmware/appcloud/snippet/HelloWorldTestSpecsRunner.class +0 -0
  229. data/spec/assets/tests/node/hello_vcap/app.js +16 -0
  230. data/spec/assets/tests/rails3/hello_vcap/Gemfile +8 -0
  231. data/spec/assets/tests/rails3/hello_vcap/Gemfile.lock +85 -0
  232. data/spec/assets/tests/rails3/hello_vcap/README +256 -0
  233. data/spec/assets/tests/rails3/hello_vcap/Rakefile +7 -0
  234. data/spec/assets/tests/rails3/hello_vcap/app/controllers/application_controller.rb +3 -0
  235. data/spec/assets/tests/rails3/hello_vcap/app/controllers/root_controller.rb +13 -0
  236. data/spec/assets/tests/rails3/hello_vcap/app/helpers/application_helper.rb +2 -0
  237. data/spec/assets/tests/rails3/hello_vcap/app/helpers/root_helper.rb +2 -0
  238. data/spec/assets/tests/rails3/hello_vcap/app/models/widget.rb +2 -0
  239. data/spec/assets/tests/rails3/hello_vcap/app/views/layouts/application.html.erb +11 -0
  240. data/spec/assets/tests/rails3/hello_vcap/app/views/root/index.html.erb +5 -0
  241. data/spec/assets/tests/rails3/hello_vcap/config.ru +4 -0
  242. data/spec/assets/tests/rails3/hello_vcap/config/application.rb +42 -0
  243. data/spec/assets/tests/rails3/hello_vcap/config/boot.rb +13 -0
  244. data/spec/assets/tests/rails3/hello_vcap/config/database.yml +12 -0
  245. data/spec/assets/tests/rails3/hello_vcap/config/environment.rb +5 -0
  246. data/spec/assets/tests/rails3/hello_vcap/config/environments/development.rb +26 -0
  247. data/spec/assets/tests/rails3/hello_vcap/config/environments/production.rb +49 -0
  248. data/spec/assets/tests/rails3/hello_vcap/config/environments/test.rb +35 -0
  249. data/spec/assets/tests/rails3/hello_vcap/config/initializers/backtrace_silencers.rb +7 -0
  250. data/spec/assets/tests/rails3/hello_vcap/config/initializers/inflections.rb +10 -0
  251. data/spec/assets/tests/rails3/hello_vcap/config/initializers/mime_types.rb +5 -0
  252. data/spec/assets/tests/rails3/hello_vcap/config/initializers/secret_token.rb +7 -0
  253. data/spec/assets/tests/rails3/hello_vcap/config/initializers/session_store.rb +8 -0
  254. data/spec/assets/tests/rails3/hello_vcap/config/locales/en.yml +5 -0
  255. data/spec/assets/tests/rails3/hello_vcap/config/routes.rb +61 -0
  256. data/spec/assets/tests/rails3/hello_vcap/db/migrate/20101108182500_create_widgets.rb +13 -0
  257. data/spec/assets/tests/rails3/hello_vcap/db/schema.rb +21 -0
  258. data/spec/assets/tests/rails3/hello_vcap/db/seeds.rb +7 -0
  259. data/spec/assets/tests/rails3/hello_vcap/public/404.html +26 -0
  260. data/spec/assets/tests/rails3/hello_vcap/public/422.html +26 -0
  261. data/spec/assets/tests/rails3/hello_vcap/public/500.html +26 -0
  262. data/spec/assets/tests/rails3/hello_vcap/public/favicon.ico +0 -0
  263. data/spec/assets/tests/rails3/hello_vcap/public/images/rails.png +0 -0
  264. data/spec/assets/tests/rails3/hello_vcap/public/javascripts/application.js +0 -0
  265. data/spec/assets/tests/rails3/hello_vcap/public/robots.txt +5 -0
  266. data/spec/assets/tests/rails3/hello_vcap/script/rails +6 -0
  267. data/spec/assets/tests/rails3/hello_vcap/test/functional/root_controller_test.rb +14 -0
  268. data/spec/assets/tests/rails3/hello_vcap/test/performance/browsing_test.rb +9 -0
  269. data/spec/assets/tests/rails3/hello_vcap/test/test_helper.rb +13 -0
  270. data/spec/assets/tests/rails3/hello_vcap/test/unit/helpers/root_helper_test.rb +4 -0
  271. data/spec/assets/tests/rails3/hello_vcap/test/unit/widget_test.rb +12 -0
  272. data/spec/assets/tests/sinatra/hello_vcap/foo.rb +13 -0
  273. data/spec/assets/tests/spring/auto-reconfig-missing-deps-test-app/pom.xml +247 -0
  274. data/spec/assets/tests/spring/auto-reconfig-missing-deps-test-app/src/main/java/org/cloudfoundry/test/DefaultController.java +40 -0
  275. data/spec/assets/tests/spring/auto-reconfig-missing-deps-test-app/src/main/resources/META-INF/spring/root-context.xml +27 -0
  276. data/spec/assets/tests/spring/auto-reconfig-missing-deps-test-app/src/main/resources/log4j.xml +41 -0
  277. data/spec/assets/tests/spring/auto-reconfig-missing-deps-test-app/src/main/webapp/META-INF/MANIFEST.MF +2 -0
  278. data/spec/assets/tests/spring/auto-reconfig-missing-deps-test-app/src/main/webapp/WEB-INF/spring/servlet-context.xml +22 -0
  279. data/spec/assets/tests/spring/auto-reconfig-missing-deps-test-app/src/main/webapp/WEB-INF/web.xml +30 -0
  280. data/spec/assets/tests/spring/auto-reconfig-test-app/pom.xml +374 -0
  281. data/spec/assets/tests/spring/auto-reconfig-test-app/src/main/java/org/cloudfoundry/test/ServiceController.java +122 -0
  282. data/spec/assets/tests/spring/auto-reconfig-test-app/src/main/java/org/cloudfoundry/test/ServiceHolder.java +97 -0
  283. data/spec/assets/tests/spring/auto-reconfig-test-app/src/main/java/org/cloudfoundry/test/TestApplicationContextInitializer.java +45 -0
  284. data/spec/assets/tests/spring/auto-reconfig-test-app/src/main/resources/META-INF/spring/database.properties +4 -0
  285. data/spec/assets/tests/spring/auto-reconfig-test-app/src/main/resources/META-INF/spring/root-context.xml +86 -0
  286. data/spec/assets/tests/spring/auto-reconfig-test-app/src/main/resources/log4j.xml +41 -0
  287. data/spec/assets/tests/spring/auto-reconfig-test-app/src/main/webapp/META-INF/MANIFEST.MF +2 -0
  288. data/spec/assets/tests/spring/auto-reconfig-test-app/src/main/webapp/WEB-INF/spring/servlet-context.xml +22 -0
  289. data/spec/assets/tests/spring/auto-reconfig-test-app/src/main/webapp/WEB-INF/web.xml +34 -0
  290. data/spec/assets/tests/spring/roo-guestbook/README +4 -0
  291. data/spec/assets/tests/spring/roo-guestbook/pom.xml +493 -0
  292. data/spec/assets/tests/spring/roo-guestbook/src/main/java/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest.java +13 -0
  293. data/spec/assets/tests/spring/roo-guestbook/src/main/java/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest_Roo_Configurable.aj +12 -0
  294. data/spec/assets/tests/spring/roo-guestbook/src/main/java/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest_Roo_Entity.aj +106 -0
  295. data/spec/assets/tests/spring/roo-guestbook/src/main/java/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest_Roo_JavaBean.aj +18 -0
  296. data/spec/assets/tests/spring/roo-guestbook/src/main/java/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest_Roo_ToString.aj +18 -0
  297. data/spec/assets/tests/spring/roo-guestbook/src/main/java/com/vmware/appcloud/testapps/roo/guestbook/web/GuestController.java +12 -0
  298. data/spec/assets/tests/spring/roo-guestbook/src/main/java/com/vmware/appcloud/testapps/roo/guestbook/web/GuestController_Roo_Controller.aj +115 -0
  299. data/spec/assets/tests/spring/roo-guestbook/src/main/resources/META-INF/persistence.xml +15 -0
  300. data/spec/assets/tests/spring/roo-guestbook/src/main/resources/META-INF/spring/applicationContext.xml +63 -0
  301. data/spec/assets/tests/spring/roo-guestbook/src/main/resources/META-INF/spring/database.properties +6 -0
  302. data/spec/assets/tests/spring/roo-guestbook/src/main/resources/log4j.properties +17 -0
  303. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/classes/alt.properties +1 -0
  304. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/classes/standard.properties +1 -0
  305. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/i18n/application.properties +11 -0
  306. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/i18n/messages.properties +99 -0
  307. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/layouts/default.jspx +27 -0
  308. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/layouts/layouts.xml +19 -0
  309. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/spring/webmvc-config.xml +73 -0
  310. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/create.tagx +29 -0
  311. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/dependency.tagx +25 -0
  312. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/fields/checkbox.tagx +35 -0
  313. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/fields/column.tagx +28 -0
  314. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/fields/datetime.tagx +75 -0
  315. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/fields/display.tagx +51 -0
  316. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/fields/editor.tagx +46 -0
  317. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/fields/input.tagx +87 -0
  318. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/fields/reference.tagx +42 -0
  319. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/fields/select.tagx +99 -0
  320. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/fields/simple.tagx +35 -0
  321. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/fields/table.tagx +138 -0
  322. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/fields/textarea.tagx +47 -0
  323. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/find.tagx +29 -0
  324. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/list.tagx +31 -0
  325. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/show.tagx +101 -0
  326. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/form/update.tagx +42 -0
  327. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/menu/category.tagx +25 -0
  328. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/menu/item.tagx +29 -0
  329. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/menu/menu.tagx +13 -0
  330. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/util/language.tagx +31 -0
  331. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/util/load-scripts.tagx +28 -0
  332. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/util/pagination.tagx +87 -0
  333. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/util/panel.tagx +32 -0
  334. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/util/placeholder.tagx +4 -0
  335. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/tags/util/theme.tagx +36 -0
  336. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/views/dataAccessFailure.jspx +29 -0
  337. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/views/footer.jspx +36 -0
  338. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/views/guests/create.jspx +8 -0
  339. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/views/guests/list.jspx +9 -0
  340. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/views/guests/show.jspx +7 -0
  341. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/views/guests/update.jspx +7 -0
  342. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/views/guests/views.xml +16 -0
  343. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/views/header.jspx +10 -0
  344. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/views/index-template.jspx +10 -0
  345. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/views/index.jspx +13 -0
  346. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/views/menu.jspx +11 -0
  347. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/views/resourceNotFound.jspx +28 -0
  348. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/views/uncaughtException.jspx +28 -0
  349. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/views/views.xml +24 -0
  350. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/WEB-INF/web.xml +94 -0
  351. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/images/add.png +0 -0
  352. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/images/banner-graphic.png +0 -0
  353. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/images/create.png +0 -0
  354. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/images/delete.png +0 -0
  355. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/images/en.png +0 -0
  356. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/images/favicon.ico +0 -0
  357. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/images/list.png +0 -0
  358. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/images/resultset_first.png +0 -0
  359. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/images/resultset_last.png +0 -0
  360. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/images/resultset_next.png +0 -0
  361. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/images/resultset_previous.png +0 -0
  362. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/images/show.png +0 -0
  363. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/images/springsource-logo.png +0 -0
  364. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/images/update.png +0 -0
  365. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/styles/alt.css +362 -0
  366. data/spec/assets/tests/spring/roo-guestbook/src/main/webapp/styles/standard.css +366 -0
  367. data/spec/assets/tests/spring/roo-guestbook/target/classes/META-INF/aop-ajc.xml +10 -0
  368. data/spec/assets/tests/spring/roo-guestbook/target/classes/META-INF/persistence.xml +15 -0
  369. data/spec/assets/tests/spring/roo-guestbook/target/classes/META-INF/spring/applicationContext.xml +63 -0
  370. data/spec/assets/tests/spring/roo-guestbook/target/classes/META-INF/spring/database.properties +6 -0
  371. data/spec/assets/tests/spring/roo-guestbook/target/classes/builddef.lst +18 -0
  372. data/spec/assets/tests/spring/roo-guestbook/target/classes/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest.class +0 -0
  373. data/spec/assets/tests/spring/roo-guestbook/target/classes/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest_Roo_Configurable.class +0 -0
  374. data/spec/assets/tests/spring/roo-guestbook/target/classes/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest_Roo_Entity.class +0 -0
  375. data/spec/assets/tests/spring/roo-guestbook/target/classes/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest_Roo_JavaBean.class +0 -0
  376. data/spec/assets/tests/spring/roo-guestbook/target/classes/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest_Roo_ToString.class +0 -0
  377. data/spec/assets/tests/spring/roo-guestbook/target/classes/com/vmware/appcloud/testapps/roo/guestbook/web/GuestController$1.class +0 -0
  378. data/spec/assets/tests/spring/roo-guestbook/target/classes/com/vmware/appcloud/testapps/roo/guestbook/web/GuestController.class +0 -0
  379. data/spec/assets/tests/spring/roo-guestbook/target/classes/com/vmware/appcloud/testapps/roo/guestbook/web/GuestController_Roo_Controller.class +0 -0
  380. data/spec/assets/tests/spring/roo-guestbook/target/classes/log4j.properties +17 -0
  381. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT.war +0 -0
  382. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/META-INF/aop-ajc.xml +10 -0
  383. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/META-INF/persistence.xml +15 -0
  384. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/META-INF/spring/applicationContext.xml +63 -0
  385. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/META-INF/spring/database.properties +6 -0
  386. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/alt.properties +1 -0
  387. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/builddef.lst +18 -0
  388. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest.class +0 -0
  389. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest_Roo_Configurable.class +0 -0
  390. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest_Roo_Entity.class +0 -0
  391. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest_Roo_JavaBean.class +0 -0
  392. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/com/vmware/appcloud/testapps/roo/guestbook/domain/Guest_Roo_ToString.class +0 -0
  393. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/com/vmware/appcloud/testapps/roo/guestbook/web/GuestController$1.class +0 -0
  394. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/com/vmware/appcloud/testapps/roo/guestbook/web/GuestController.class +0 -0
  395. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/com/vmware/appcloud/testapps/roo/guestbook/web/GuestController_Roo_Controller.class +0 -0
  396. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/log4j.properties +17 -0
  397. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/classes/standard.properties +1 -0
  398. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/i18n/application.properties +11 -0
  399. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/i18n/messages.properties +99 -0
  400. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/layouts/default.jspx +27 -0
  401. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/layouts/layouts.xml +19 -0
  402. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/antlr-2.7.6.jar +0 -0
  403. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/aopalliance-1.0.jar +0 -0
  404. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/aspectjrt-1.6.10.jar +0 -0
  405. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/aspectjweaver-1.6.10.jar +0 -0
  406. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/cglib-nodep-2.2.jar +0 -0
  407. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/commons-beanutils-1.8.0.jar +0 -0
  408. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/commons-collections-3.1.jar +0 -0
  409. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/commons-dbcp-1.3.jar +0 -0
  410. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/commons-digester-2.0.jar +0 -0
  411. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/commons-fileupload-1.2.1.jar +0 -0
  412. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/commons-pool-1.5.4.jar +0 -0
  413. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/dom4j-1.6.1.jar +0 -0
  414. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/flexjson-2.0.jar +0 -0
  415. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/hibernate-annotations-3.5.5-Final.jar +0 -0
  416. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/hibernate-commons-annotations-3.2.0.Final.jar +0 -0
  417. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/hibernate-core-3.5.5-Final.jar +0 -0
  418. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/hibernate-entitymanager-3.5.5-Final.jar +0 -0
  419. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/hibernate-jpa-2.0-api-1.0.0.Final.jar +0 -0
  420. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/hibernate-validator-4.1.0.Final.jar +0 -0
  421. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/hsqldb-1.8.0.10.jar +0 -0
  422. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/javassist-3.9.0.GA.jar +0 -0
  423. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/jcl-over-slf4j-1.6.1.jar +0 -0
  424. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/joda-time-1.6.jar +0 -0
  425. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/jstl-1.2.jar +0 -0
  426. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/jta-1.1.jar +0 -0
  427. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/log4j-1.2.16.jar +0 -0
  428. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/slf4j-api-1.6.1.jar +0 -0
  429. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/slf4j-log4j12-1.6.1.jar +0 -0
  430. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/spring-aop-3.0.5.RELEASE.jar +0 -0
  431. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/spring-asm-3.0.5.RELEASE.jar +0 -0
  432. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/spring-aspects-3.0.5.RELEASE.jar +0 -0
  433. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/spring-beans-3.0.5.RELEASE.jar +0 -0
  434. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/spring-context-3.0.5.RELEASE.jar +0 -0
  435. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/spring-context-support-3.0.5.RELEASE.jar +0 -0
  436. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/spring-core-3.0.5.RELEASE.jar +0 -0
  437. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/spring-expression-3.0.5.RELEASE.jar +0 -0
  438. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/spring-jdbc-3.0.5.RELEASE.jar +0 -0
  439. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/spring-js-resources-2.2.0.RELEASE.jar +0 -0
  440. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/spring-orm-3.0.5.RELEASE.jar +0 -0
  441. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/spring-tx-3.0.5.RELEASE.jar +0 -0
  442. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/spring-web-3.0.5.RELEASE.jar +0 -0
  443. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/spring-webmvc-3.0.5.RELEASE.jar +0 -0
  444. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/tiles-api-2.2.1.jar +0 -0
  445. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/tiles-core-2.2.1.jar +0 -0
  446. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/tiles-jsp-2.2.1.jar +0 -0
  447. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/tiles-servlet-2.2.1.jar +0 -0
  448. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/tiles-template-2.2.1.jar +0 -0
  449. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/validation-api-1.0.0.GA.jar +0 -0
  450. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/lib/xml-apis-1.0.b2.jar +0 -0
  451. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/spring/webmvc-config.xml +73 -0
  452. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/create.tagx +29 -0
  453. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/dependency.tagx +25 -0
  454. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/fields/checkbox.tagx +35 -0
  455. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/fields/column.tagx +28 -0
  456. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/fields/datetime.tagx +75 -0
  457. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/fields/display.tagx +51 -0
  458. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/fields/editor.tagx +46 -0
  459. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/fields/input.tagx +87 -0
  460. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/fields/reference.tagx +42 -0
  461. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/fields/select.tagx +99 -0
  462. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/fields/simple.tagx +35 -0
  463. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/fields/table.tagx +138 -0
  464. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/fields/textarea.tagx +47 -0
  465. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/find.tagx +29 -0
  466. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/list.tagx +31 -0
  467. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/show.tagx +101 -0
  468. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/form/update.tagx +42 -0
  469. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/menu/category.tagx +25 -0
  470. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/menu/item.tagx +29 -0
  471. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/menu/menu.tagx +13 -0
  472. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/util/language.tagx +31 -0
  473. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/util/load-scripts.tagx +28 -0
  474. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/util/pagination.tagx +87 -0
  475. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/util/panel.tagx +32 -0
  476. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/util/placeholder.tagx +4 -0
  477. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/tags/util/theme.tagx +36 -0
  478. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/dataAccessFailure.jspx +29 -0
  479. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/footer.jspx +36 -0
  480. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/guests/create.jspx +8 -0
  481. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/guests/list.jspx +9 -0
  482. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/guests/show.jspx +7 -0
  483. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/guests/update.jspx +7 -0
  484. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/guests/views.xml +16 -0
  485. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/header.jspx +10 -0
  486. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/index-template.jspx +10 -0
  487. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/index.jspx +13 -0
  488. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/menu.jspx +11 -0
  489. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/resourceNotFound.jspx +28 -0
  490. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/uncaughtException.jspx +28 -0
  491. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/views/views.xml +24 -0
  492. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/WEB-INF/web.xml +94 -0
  493. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/images/add.png +0 -0
  494. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/images/banner-graphic.png +0 -0
  495. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/images/create.png +0 -0
  496. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/images/delete.png +0 -0
  497. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/images/en.png +0 -0
  498. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/images/favicon.ico +0 -0
  499. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/images/list.png +0 -0
  500. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/images/resultset_first.png +0 -0
  501. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/images/resultset_last.png +0 -0
  502. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/images/resultset_next.png +0 -0
  503. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/images/resultset_previous.png +0 -0
  504. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/images/show.png +0 -0
  505. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/images/springsource-logo.png +0 -0
  506. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/images/update.png +0 -0
  507. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/styles/alt.css +362 -0
  508. data/spec/assets/tests/spring/roo-guestbook/target/guestbook-roo-0.1.0.BUILD-SNAPSHOT/styles/standard.css +366 -0
  509. data/spec/assets/tests/spring/roo-guestbook/target/maven-archiver/pom.properties +5 -0
  510. data/spec/assets/tests/spring/roo-guestbook/target/war/work/webapp-cache.xml +2461 -0
  511. data/spec/assets/tests/spring/spring-osgi-hello/pom.xml +233 -0
  512. data/spec/assets/tests/spring/spring-osgi-hello/src/main/java/org/cloudfoundry/osgi/HomeController.java +39 -0
  513. data/spec/assets/tests/spring/spring-osgi-hello/src/main/resources/log4j.xml +41 -0
  514. data/spec/assets/tests/spring/spring-osgi-hello/src/main/webapp/WEB-INF/spring/appServlet/servlet-context.xml +28 -0
  515. data/spec/assets/tests/spring/spring-osgi-hello/src/main/webapp/WEB-INF/spring/root-context.xml +8 -0
  516. data/spec/assets/tests/spring/spring-osgi-hello/src/main/webapp/WEB-INF/views/home.jsp +14 -0
  517. data/spec/assets/tests/spring/spring-osgi-hello/src/main/webapp/WEB-INF/web.xml +33 -0
  518. data/spec/assets/tests/spring/spring-osgi-hello/src/test/resources/log4j.xml +41 -0
  519. data/spec/assets/tests/spring/spring-osgi-hello/target/classes/META-INF/aop-ajc.xml +5 -0
  520. data/spec/assets/tests/spring/spring-osgi-hello/target/classes/builddef.lst +10 -0
  521. data/spec/assets/tests/spring/spring-osgi-hello/target/classes/log4j.xml +41 -0
  522. data/spec/assets/tests/spring/spring-osgi-hello/target/classes/org/cloudfoundry/osgi/HomeController.class +0 -0
  523. data/spec/assets/tests/spring/spring-osgi-hello/target/hello.war +0 -0
  524. data/spec/assets/tests/spring/spring-osgi-hello/target/maven-archiver/pom.properties +5 -0
  525. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/classes/META-INF/aop-ajc.xml +5 -0
  526. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/classes/builddef.lst +10 -0
  527. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/classes/log4j.xml +41 -0
  528. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/classes/org/cloudfoundry/osgi/HomeController.class +0 -0
  529. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/aopalliance-1.0.jar +0 -0
  530. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/aspectjrt-1.6.9.jar +0 -0
  531. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/commons-logging-1.1.1.jar +0 -0
  532. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/javax.inject-1.jar +0 -0
  533. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/jcl-over-slf4j-1.5.10.jar +0 -0
  534. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/jstl-1.2.jar +0 -0
  535. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/log4j-1.2.15.jar +0 -0
  536. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/slf4j-api-1.5.10.jar +0 -0
  537. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/slf4j-log4j12-1.5.10.jar +0 -0
  538. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/spring-aop-3.0.5.RELEASE.jar +0 -0
  539. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/spring-asm-3.0.5.RELEASE.jar +0 -0
  540. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/spring-beans-3.0.5.RELEASE.jar +0 -0
  541. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/spring-context-3.0.5.RELEASE.jar +0 -0
  542. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/spring-context-support-3.0.5.RELEASE.jar +0 -0
  543. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/spring-core-3.0.5.RELEASE.jar +0 -0
  544. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/spring-expression-3.0.5.RELEASE.jar +0 -0
  545. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/spring-web-3.0.5.RELEASE.jar +0 -0
  546. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/lib/spring-webmvc-3.0.5.RELEASE.jar +0 -0
  547. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/spring/appServlet/servlet-context.xml +28 -0
  548. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/spring/root-context.xml +8 -0
  549. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/views/home.jsp +14 -0
  550. data/spec/assets/tests/spring/spring-osgi-hello/target/osgi-1.0.0-BUILD-SNAPSHOT/WEB-INF/web.xml +33 -0
  551. data/spec/assets/tests/spring/spring-osgi-hello/target/test-classes/log4j.xml +41 -0
  552. data/spec/spec_helper.rb +2 -0
  553. data/spec/unit/cli_opts_spec.rb +17 -0
  554. data/spec/unit/client_spec.rb +13 -0
  555. data/spec/unit/frameworks_spec.rb +94 -0
  556. data/spec/unit/io_spec.rb +192 -0
  557. metadata +618 -74
data/Rakefile CHANGED
@@ -2,8 +2,7 @@ require 'rake'
2
2
  require 'spec/rake/spectask'
3
3
 
4
4
  desc "Run specs"
5
- task :spec do
6
- sh('bundle install')
5
+ task :spec => :build do
7
6
  Spec::Rake::SpecTask.new('spec') do |t|
8
7
  t.spec_opts = %w(-fs -c)
9
8
  t.spec_files = FileList['spec/**/*_spec.rb']
@@ -15,3 +14,86 @@ task :test => :spec
15
14
  desc "Synonym for spec"
16
15
  task :tests => :spec
17
16
  task :default => :spec
17
+
18
+ def tests_path
19
+ if @tests_path == nil
20
+ @tests_path = File.join(Dir.pwd, "spec/assets/tests")
21
+ end
22
+ @tests_path
23
+ end
24
+ TESTS_PATH = tests_path
25
+
26
+ BUILD_ARTIFACT = File.join(Dir.pwd, "spec/assets/.build")
27
+
28
+ TESTS_TO_BUILD = ["#{TESTS_PATH}/java_web/java_tiny_app",
29
+ # "#{TESTS_PATH}/grails/guestbook",
30
+ "#{TESTS_PATH}/lift/hello_lift",
31
+ "#{TESTS_PATH}/spring/roo-guestbook",
32
+ "#{TESTS_PATH}/spring/spring-osgi-hello",
33
+ ]
34
+
35
+ desc "Build the tests. If the git hash associated with the test assets has not changed, nothing is built. To force a build, invoke 'rake build[--force]'"
36
+ task :build, [:force] do |t, args|
37
+ sh('bundle install')
38
+ sh('git submodule update --init')
39
+ puts "\nBuilding tests"
40
+ if build_required? args.force
41
+ ENV['MAVEN_OPTS']="-XX:MaxPermSize=256M"
42
+ TESTS_TO_BUILD.each do |test|
43
+ puts "\tBuilding '#{test}'"
44
+ Dir.chdir test do
45
+ sh('mvn package -DskipTests') do |success, exit_code|
46
+ unless success
47
+ clear_build_artifact
48
+ do_mvn_clean('-q')
49
+ fail "\tFailed to build #{test} - aborting build"
50
+ end
51
+ end
52
+ end
53
+ puts "\tCompleted building '#{test}'"
54
+ end
55
+ save_git_hash
56
+ else
57
+ puts "Built artifacts in sync with test assets - no build required"
58
+ end
59
+ end
60
+
61
+ desc "Clean the build artifacts"
62
+ task :clean do
63
+ puts "\nCleaning tests"
64
+ clear_build_artifact
65
+ TESTS_TO_BUILD.each do |test|
66
+ puts "\tCleaning '#{test}'"
67
+ Dir.chdir test do
68
+ do_mvn_clean
69
+ end
70
+ puts "\tCompleted cleaning '#{test}'"
71
+ end
72
+ end
73
+
74
+ def build_required? (force_build=nil)
75
+ if File.exists?(BUILD_ARTIFACT) == false or (force_build and force_build == "--force")
76
+ return true
77
+ end
78
+ Dir.chdir(tests_path) do
79
+ saved_git_hash = IO.readlines(BUILD_ARTIFACT)[0].split[0]
80
+ git_hash = `git rev-parse --short=8 --verify HEAD`
81
+ saved_git_hash.to_s.strip != git_hash.to_s.strip
82
+ end
83
+ end
84
+
85
+ def save_git_hash
86
+ Dir.chdir(tests_path) do
87
+ git_hash = `git rev-parse --short=8 --verify HEAD`
88
+ File.open(BUILD_ARTIFACT, 'w') {|f| f.puts("#{git_hash}")}
89
+ end
90
+ end
91
+
92
+ def clear_build_artifact
93
+ puts "\tClearing build artifact #{BUILD_ARTIFACT}"
94
+ File.unlink BUILD_ARTIFACT if File.exists? BUILD_ARTIFACT
95
+ end
96
+
97
+ def do_mvn_clean options=nil
98
+ sh("mvn clean #{options}")
99
+ end
data/lib/cli.rb CHANGED
@@ -1,12 +1,11 @@
1
-
2
1
  ROOT = File.expand_path(File.dirname(__FILE__))
2
+ WINDOWS = !!(RUBY_PLATFORM =~ /mingw|mswin32|cygwin/)
3
3
 
4
- module VMC
5
4
 
5
+ module VMC
6
6
  autoload :Client, "#{ROOT}/vmc/client"
7
7
 
8
8
  module Cli
9
-
10
9
  autoload :Config, "#{ROOT}/cli/config"
11
10
  autoload :Framework, "#{ROOT}/cli/frameworks"
12
11
  autoload :Runner, "#{ROOT}/cli/runner"
@@ -22,12 +22,12 @@ module VMC::Cli::Command
22
22
  alias :users :list_users
23
23
 
24
24
  def add_user(email=nil)
25
- email = @options[:email] unless email
25
+ email ||= @options[:email]
26
+ email ||= ask("Email") unless no_prompt
26
27
  password = @options[:password]
27
- email = ask("Email: ") unless no_prompt || email
28
28
  unless no_prompt || password
29
- password = ask("Password: ") {|q| q.echo = '*'}
30
- password2 = ask("Verify Password: ") {|q| q.echo = '*'}
29
+ password = ask("Password", :echo => "*")
30
+ password2 = ask("Verify Password", :echo => "*")
31
31
  err "Passwords did not match, try again" if password != password2
32
32
  end
33
33
  err "Need a valid email" unless email
@@ -53,8 +53,11 @@ module VMC::Cli::Command
53
53
 
54
54
  if (apps && !apps.empty?)
55
55
  unless no_prompt
56
- proceed = ask("\nDeployed applications and associated services will be DELETED, continue? [yN]: ")
57
- err "Aborted" if proceed.upcase != 'Y'
56
+ proceed = ask(
57
+ "\nDeployed applications and associated services will be DELETED, continue?",
58
+ :default => false
59
+ )
60
+ err "Aborted" unless proceed
58
61
  end
59
62
  cmd = Apps.new(@options)
60
63
  apps.each { |app| cmd.delete_app(app[:name], true) }
@@ -44,6 +44,28 @@ module VMC::Cli::Command
44
44
  return display "Application '#{appname}' could not be found".red if app.nil?
45
45
  return display "Application '#{appname}' already started".yellow if app[:state] == 'STARTED'
46
46
 
47
+ if @options[:debug]
48
+ runtimes = client.runtimes_info
49
+ return display "Cannot get runtime information." unless runtimes
50
+
51
+ runtime = runtimes[app[:staging][:stack].to_sym]
52
+ return display "Unknown runtime." unless runtime
53
+
54
+ unless runtime[:debug_modes] and runtime[:debug_modes].include? @options[:debug]
55
+ modes = runtime[:debug_modes] || []
56
+
57
+ display "\nApplication '#{appname}' cannot start in '#{@options[:debug]}' mode"
58
+
59
+ if push
60
+ display "Try `vmc start' with one of the following modes: #{modes.inspect}"
61
+ else
62
+ display "Available modes: #{modes.inspect}"
63
+ end
64
+
65
+ return
66
+ end
67
+ end
68
+
47
69
  banner = 'Staging Application: '
48
70
  display banner, false
49
71
 
@@ -57,6 +79,7 @@ module VMC::Cli::Command
57
79
  end
58
80
 
59
81
  app[:state] = 'STARTED'
82
+ app[:debug] = @options[:debug]
60
83
  client.update_app(appname, app)
61
84
 
62
85
  Thread.kill(t)
@@ -79,10 +102,9 @@ module VMC::Cli::Command
79
102
  # Check for the existance of crashes
80
103
  display "\nError: Application [#{appname}] failed to start, logs information below.\n".red
81
104
  grab_crash_logs(appname, '0', true)
82
- if push
105
+ if push and !no_prompt
83
106
  display "\n"
84
- should_delete = ask 'Should I delete the application? (Y/n)? ' unless no_prompt
85
- delete_app(appname, false) unless no_prompt || should_delete.upcase == 'N'
107
+ delete_app(appname, false) if ask "Delete the application?", :default => true
86
108
  end
87
109
  failed = true
88
110
  break
@@ -130,14 +152,11 @@ module VMC::Cli::Command
130
152
  mem = current_mem = mem_quota_to_choice(app[:resources][:memory])
131
153
  memsize = normalize_mem(memsize) if memsize
132
154
 
133
- unless memsize
134
- choose do |menu|
135
- menu.layout = :one_line
136
- menu.prompt = "Update Memory Reservation? [Current:#{current_mem}] "
137
- menu.default = current_mem
138
- mem_choices.each { |choice| menu.choice(choice) { memsize = choice } }
139
- end
140
- end
155
+ memsize ||= ask(
156
+ "Update Memory Reservation?",
157
+ :default => current_mem,
158
+ :choices => mem_choices
159
+ )
141
160
 
142
161
  mem = mem_choice_to_quota(mem)
143
162
  memsize = mem_choice_to_quota(memsize)
@@ -184,11 +203,7 @@ module VMC::Cli::Command
184
203
  def delete(appname=nil)
185
204
  force = @options[:force]
186
205
  if @options[:all]
187
- should_delete = force && no_prompt ? 'Y' : 'N'
188
- unless no_prompt || force
189
- should_delete = ask 'Delete ALL Applications and Services? (y/N)? '
190
- end
191
- if should_delete.upcase == 'Y'
206
+ if no_prompt || force || ask("Delete ALL applications and services?", :default => false)
192
207
  apps = client.apps
193
208
  apps.each { |app| delete_app(app[:name], force) }
194
209
  end
@@ -202,21 +217,34 @@ module VMC::Cli::Command
202
217
  app = client.app_info(appname)
203
218
  services_to_delete = []
204
219
  app_services = app[:services]
220
+ services_apps_hash = provisioned_services_apps_hash
205
221
  app_services.each { |service|
206
- del_service = force && no_prompt ? 'Y' : 'N'
222
+ del_service = force && no_prompt
207
223
  unless no_prompt || force
208
- del_service = ask("Provisioned service [#{service}] detected, would you like to delete it? [yN]: ")
224
+ del_service = ask(
225
+ "Provisioned service [#{service}] detected, would you like to delete it?",
226
+ :default => false
227
+ )
228
+
229
+ if del_service
230
+ apps_using_service = services_apps_hash[service].reject!{ |app| app == appname}
231
+ if apps_using_service.size > 0
232
+ del_service = ask(
233
+ "Provisioned service [#{service}] is also used by #{apps_using_service.size == 1 ? "app" : "apps"} #{apps_using_service.entries}, are you sure you want to delete it?",
234
+ :default => false
235
+ )
236
+ end
237
+ end
209
238
  end
210
- services_to_delete << service if del_service.upcase == 'Y'
239
+ services_to_delete << service if del_service
211
240
  }
241
+
212
242
  display "Deleting application [#{appname}]: ", false
213
243
  client.delete_app(appname)
214
244
  display 'OK'.green
215
245
 
216
246
  services_to_delete.each do |s|
217
- display "Deleting service [#{s}]: ", false
218
- client.delete_service(s)
219
- display 'OK'.green
247
+ delete_service_banner(s)
220
248
  end
221
249
  end
222
250
 
@@ -344,10 +372,10 @@ module VMC::Cli::Command
344
372
  no_start = @options[:nostart]
345
373
 
346
374
  path = @options[:path] || '.'
347
- appname = @options[:name] unless appname
348
- url = @options[:url]
375
+ appname ||= @options[:name]
349
376
  mem, memswitch = nil, @options[:mem]
350
377
  memswitch = normalize_mem(memswitch) if memswitch
378
+ url = @options[:url]
351
379
 
352
380
  # Check app existing upfront if we have appname
353
381
  app_checked = false
@@ -367,52 +395,57 @@ module VMC::Cli::Command
367
395
  end
368
396
 
369
397
  unless no_prompt || @options[:path]
370
- proceed = ask('Would you like to deploy from the current directory? [Yn]: ')
371
- if proceed.upcase == 'N'
372
- path = ask('Please enter in the deployment path: ')
398
+ unless ask('Would you like to deploy from the current directory?', :default => true)
399
+ path = ask('Please enter in the deployment path')
373
400
  end
374
401
  end
375
402
 
376
403
  path = File.expand_path(path)
377
404
  check_deploy_directory(path)
378
405
 
379
- appname = ask("Application Name: ") unless no_prompt || appname
406
+ appname ||= ask("Application Name") unless no_prompt
380
407
  err "Application Name required." if appname.nil? || appname.empty?
381
408
 
382
- unless app_checked
383
- err "Application '#{appname}' already exists, use update or delete." if app_exists?(appname)
409
+ if !app_checked and app_exists?(appname)
410
+ err "Application '#{appname}' already exists, use update or delete."
384
411
  end
385
412
 
413
+ default_url = "#{appname}.#{VMC::Cli::Config.suggest_url}"
414
+
386
415
  unless no_prompt || url
387
- url = ask("Application Deployed URL: '#{appname}.#{VMC::Cli::Config.suggest_url}'? ")
416
+ url = ask(
417
+ "Application Deployed URL",
418
+ :default => default_url
419
+ )
388
420
 
389
- # common error case is for prompted users to answer y or Y or yes or YES to this ask() resulting in an
390
- # unintended URL of y. Special case this common error
391
- if YES_SET.member?(url)
392
- #silently revert to the stock url
393
- url = "#{appname}.#{VMC::Cli::Config.suggest_url}"
394
- end
421
+ # common error case is for prompted users to answer y or Y or yes or
422
+ # YES to this ask() resulting in an unintended URL of y. Special case
423
+ # this common error
424
+ url = nil if YES_SET.member? url
395
425
  end
396
426
 
397
- url = "#{appname}.#{VMC::Cli::Config.suggest_url}" if url.nil? || url.empty?
427
+ url ||= default_url
398
428
 
399
429
  # Detect the appropriate framework.
400
430
  framework = nil
401
431
  unless ignore_framework
402
432
  framework = VMC::Cli::Framework.detect(path)
403
- framework_correct = ask("Detected a #{framework}, is this correct? [Yn]: ") if prompt_ok && framework
404
- framework_correct ||= 'y'
405
- if prompt_ok && (framework.nil? || framework_correct.upcase == 'N')
433
+
434
+ if prompt_ok and framework
435
+ framework_correct =
436
+ ask("Detected a #{framework}, is this correct?", :default => true)
437
+ end
438
+
439
+ if prompt_ok && (framework.nil? || !framework_correct)
406
440
  display "#{"[WARNING]".yellow} Can't determine the Application Type." unless framework
407
- framework = nil if framework_correct.upcase == 'N'
408
- choose do |menu|
409
- menu.layout = :one_line
410
- menu.prompt = "Select Application Type: "
411
- menu.default = framework
412
- VMC::Cli::Framework.known_frameworks.each do |f|
413
- menu.choice(f) { framework = VMC::Cli::Framework.lookup(f) }
414
- end
415
- end
441
+ framework = VMC::Cli::Framework.lookup(
442
+ ask(
443
+ "Select Application Type",
444
+ { :indexed => true,
445
+ :choices => VMC::Cli::Framework.known_frameworks
446
+ }
447
+ )
448
+ )
416
449
  display "Selected #{framework}"
417
450
  end
418
451
  # Framework override, deprecated
@@ -422,18 +455,14 @@ module VMC::Cli::Command
422
455
  end
423
456
 
424
457
  err "Application Type undetermined for path '#{path}'" unless framework
425
- unless memswitch
426
- mem = framework.memory
427
- if prompt_ok
428
- choose do |menu|
429
- menu.layout = :one_line
430
- menu.prompt = "Memory Reservation [Default:#{mem}] "
431
- menu.default = mem
432
- mem_choices.each { |choice| menu.choice(choice) { mem = choice } }
433
- end
434
- end
435
- else
458
+
459
+ if memswitch
436
460
  mem = memswitch
461
+ elsif prompt_ok
462
+ mem = ask("Memory Reservation",
463
+ :default => framework.memory, :choices => mem_choices)
464
+ else
465
+ mem = framework.memory
437
466
  end
438
467
 
439
468
  # Set to MB number
@@ -465,8 +494,8 @@ module VMC::Cli::Command
465
494
  unless no_prompt || @options[:noservices]
466
495
  services = client.services_info
467
496
  unless services.empty?
468
- proceed = ask("Would you like to bind any services to '#{appname}'? [yN]: ")
469
- bind_services(appname, services) if proceed.upcase == 'Y'
497
+ proceed = ask("Would you like to bind any services to '#{appname}'?", :default => false)
498
+ bind_services(appname, services) if proceed
470
499
  end
471
500
  end
472
501
 
@@ -600,18 +629,23 @@ module VMC::Cli::Command
600
629
 
601
630
  end
602
631
 
632
+ # If no resource needs to be sent, add an empty file to ensure we have
633
+ # a multi-part request that is expected by nginx fronting the CC.
634
+ if VMC::Cli::ZipUtil.get_files_to_pack(explode_dir).empty?
635
+ Dir.chdir(explode_dir) do
636
+ File.new(".__empty__", "w")
637
+ end
638
+ end
603
639
  # Perform Packing of the upload bits here.
604
- unless VMC::Cli::ZipUtil.get_files_to_pack(explode_dir).empty?
605
- display ' Packing application: ', false
606
- VMC::Cli::ZipUtil.pack(explode_dir, upload_file)
607
- display 'OK'.green
640
+ display ' Packing application: ', false
641
+ VMC::Cli::ZipUtil.pack(explode_dir, upload_file)
642
+ display 'OK'.green
608
643
 
609
- upload_size = File.size(upload_file);
610
- if upload_size > 1024*1024
611
- upload_size = (upload_size/(1024.0*1024.0)).round.to_s + 'M'
612
- elsif upload_size > 0
613
- upload_size = (upload_size/1024.0).round.to_s + 'K'
614
- end
644
+ upload_size = File.size(upload_file);
645
+ if upload_size > 1024*1024
646
+ upload_size = (upload_size/(1024.0*1024.0)).round.to_s + 'M'
647
+ elsif upload_size > 0
648
+ upload_size = (upload_size/1024.0).round.to_s + 'K'
615
649
  else
616
650
  upload_size = '0K'
617
651
  end
@@ -619,11 +653,9 @@ module VMC::Cli::Command
619
653
  upload_str = " Uploading (#{upload_size}): "
620
654
  display upload_str, false
621
655
 
622
- unless VMC::Cli::ZipUtil.get_files_to_pack(explode_dir).empty?
623
- FileWithPercentOutput.display_str = upload_str
624
- FileWithPercentOutput.upload_size = File.size(upload_file);
625
- file = FileWithPercentOutput.open(upload_file, 'rb')
626
- end
656
+ FileWithPercentOutput.display_str = upload_str
657
+ FileWithPercentOutput.upload_size = File.size(upload_file);
658
+ file = FileWithPercentOutput.open(upload_file, 'rb')
627
659
 
628
660
  client.upload_app(appname, file, appcloud_resources)
629
661
  display 'OK'.green if VMC::Cli::ZipUtil.get_files_to_pack(explode_dir).empty?
@@ -640,63 +672,76 @@ module VMC::Cli::Command
640
672
 
641
673
  def choose_existing_service(appname, user_services)
642
674
  return unless prompt_ok
643
- selected = false
644
- choose do |menu|
645
- menu.header = "The following provisioned services are available"
646
- menu.prompt = 'Please select one you wish to provision: '
647
- menu.select_by = :index_or_name
648
- user_services.each do |s|
649
- menu.choice(s[:name]) do
650
- display "Binding Service: ", false
651
- client.bind_service(s[:name], appname)
652
- display 'OK'.green
653
- selected = true
654
- end
655
- end
656
- end
657
- selected
675
+
676
+ display "The following provisioned services are available"
677
+ name = ask(
678
+ "Please select one you which to prevision",
679
+ { :indexed => true,
680
+ :choices => user_services.collect { |s| s[:name] }
681
+ }
682
+ )
683
+
684
+ bind_service_banner(name, appname, false)
685
+
686
+ true
658
687
  end
659
688
 
660
689
  def choose_new_service(appname, services)
661
690
  return unless prompt_ok
662
- choose do |menu|
663
- menu.header = "The following system services are available"
664
- menu.prompt = 'Please select one you wish to provision: '
665
- menu.select_by = :index_or_name
666
- service_choices = []
667
- services.each do |service_type, value|
668
- value.each do |vendor, version|
669
- service_choices << vendor
670
- end
671
- end
672
- service_choices.sort! {|a, b| a.to_s <=> b.to_s }
673
- service_choices.each do |vendor|
674
- menu.choice(vendor) do
675
- default_name = random_service_name(vendor)
676
- service_name = ask("Specify the name of the service [#{default_name}]: ")
677
- service_name = default_name if service_name.empty?
678
- create_service_banner(vendor, service_name)
679
- bind_service_banner(service_name, appname)
680
- end
681
- end
682
- end
691
+
692
+ display "The following system services are available"
693
+
694
+ vendor = ask(
695
+ "Please select one you wish to provision",
696
+ { :indexed => true,
697
+ :choices =>
698
+ services.values.collect { |type|
699
+ type.keys.collect(&:to_s)
700
+ }.flatten.sort!
701
+ }
702
+ )
703
+
704
+ default_name = random_service_name(vendor)
705
+ service_name = ask("Specify the name of the service",
706
+ :default => default_name)
707
+
708
+ create_service_banner(vendor, service_name)
709
+ bind_service_banner(service_name, appname)
683
710
  end
684
711
 
685
712
  def bind_services(appname, services)
686
713
  user_services = client.services
714
+
687
715
  selected_existing = false
688
716
  unless no_prompt || user_services.empty?
689
- use_existing = ask "Would you like to use an existing provisioned service [yN]? "
690
- if use_existing.upcase == 'Y'
717
+ if ask("Would you like to use an existing provisioned service?",
718
+ :default => false)
691
719
  selected_existing = choose_existing_service(appname, user_services)
692
720
  end
693
721
  end
722
+
694
723
  # Create a new service and bind it here
695
724
  unless selected_existing
696
725
  choose_new_service(appname, services)
697
726
  end
698
727
  end
699
728
 
729
+ def provisioned_services_apps_hash
730
+ apps = client.apps
731
+ services_apps_hash = {}
732
+ apps.each {|app|
733
+ app[:services].each { |svc|
734
+ svc_apps = services_apps_hash[svc]
735
+ unless svc_apps
736
+ svc_apps = Set.new
737
+ services_apps_hash[svc] = svc_apps
738
+ end
739
+ svc_apps.add(app[:name])
740
+ } unless app[:services] == nil
741
+ }
742
+ services_apps_hash
743
+ end
744
+
700
745
  def check_app_limit
701
746
  usage = client_info[:usage]
702
747
  limits = client_info[:limits]
@@ -771,9 +816,19 @@ module VMC::Cli::Command
771
816
  return display "No running instances for [#{appname}]".yellow if instances_info.empty?
772
817
 
773
818
  instances_table = table do |t|
774
- t.headings = 'Index', 'State', 'Start Time'
819
+ show_debug = instances_info.any? { |e| e[:debug_port] }
820
+
821
+ headings = ['Index', 'State', 'Start Time']
822
+ headings << 'Debug IP' if show_debug
823
+ headings << 'Debug Port' if show_debug
824
+
825
+ t.headings = headings
826
+
775
827
  instances_info.each do |entry|
776
- t << [entry[:index], entry[:state], Time.at(entry[:since]).strftime("%m/%d/%Y %I:%M%p")]
828
+ row = [entry[:index], entry[:state], Time.at(entry[:since]).strftime("%m/%d/%Y %I:%M%p")]
829
+ row << entry[:debug_ip] if show_debug
830
+ row << entry[:debug_port] if show_debug
831
+ t << row
777
832
  end
778
833
  end
779
834
  display "\n"
@@ -825,12 +880,17 @@ module VMC::Cli::Command
825
880
  case health(app)
826
881
  when 'N/A'
827
882
  # Health manager not running.
828
- err "\Application '#{appname}'s state is undetermined, not enough information available." if error_on_health
883
+ err "\nApplication '#{appname}'s state is undetermined, not enough information available." if error_on_health
829
884
  return false
830
885
  when 'RUNNING'
831
886
  return true
832
887
  else
833
- return false
888
+ if app[:meta][:debug] == "suspend"
889
+ display "\nApplication [#{appname}] has started in a mode that is waiting for you to trigger startup."
890
+ return true
891
+ else
892
+ return false
893
+ end
834
894
  end
835
895
  end
836
896