Permalink
Browse files

Add files from brown shoes

This adds the files we need to get started. All specs pass. This commit
adds the lib/white_shoes files because some swt specs depend on them.
The white_shoes files should be removed.

This also adds instructions to the README that should be sufficient to
get people set up and running specs.
  • Loading branch information...
wasnotrice committed May 25, 2012
1 parent 8531118 commit 4f2188ae7b1d3ed452af82e8afe91f8390c92d9d
Showing with 14,583 additions and 1 deletion.
  1. +40 −0 .gitignore
  2. +1 −0 .rbenv-version
  3. +2 −0 .rspec
  4. +1 −0 .rvmrc
  5. +5 −0 .travis.yml
  6. +32 −0 CHANGELOG
  7. +31 −0 COPYING
  8. +40 −0 Gemfile
  9. +64 −0 Gemfile.lock
  10. +19 −0 Guardfile
  11. +33 −1 README.md
  12. +89 −0 Rakefile
  13. +16 −0 bin/autospec
  14. +16 −0 bin/cdiff
  15. +16 −0 bin/cucumber
  16. +16 −0 bin/decolor
  17. +16 −0 bin/guard
  18. +16 −0 bin/htmldiff
  19. +16 −0 bin/ldiff
  20. +16 −0 bin/rake
  21. +16 −0 bin/rake2thor
  22. +16 −0 bin/rdebug
  23. +21 −0 bin/rspec
  24. +26 −0 bin/rspec-swt
  25. +34 −0 bin/rspec_auto_jvm
  26. +12 −0 bin/swt-shoooes
  27. +1 −0 bin/swt-shoooes.bat
  28. +17 −0 bin/swt-shoooesd
  29. +1 −0 bin/swt-shoooesd.bat
  30. +16 −0 bin/swt_cucumber
  31. +16 −0 bin/thor
  32. +20 −0 features/button.feature
  33. +8 −0 features/example_programs/simple.rb
  34. +21 −0 features/file_loading.feature
  35. +14 −0 features/link.feature
  36. +14 −0 features/para.feature
  37. +6 −0 features/support/env.rb
  38. BIN fonts/Coolvetica.ttf
  39. BIN fonts/Lacuna.ttf
  40. BIN images/shoe.jpg
  41. BIN lib/jl1.0.1.jar
  42. BIN lib/jogg-0.0.7.jar
  43. BIN lib/jorbis-0.0.15.jar
  44. +202 −0 lib/log4j/LICENSE
  45. +5 −0 lib/log4j/NOTICE
  46. BIN lib/log4j/log4j-1.2.16.jar
  47. BIN lib/mp3spi1.9.5.jar
  48. +38 −0 lib/shoes.rb
  49. +34 −0 lib/shoes/animation.rb
  50. +141 −0 lib/shoes/app.rb
  51. +23 −0 lib/shoes/base_object.rb
  52. +19 −0 lib/shoes/button.rb
  53. +26 −0 lib/shoes/check.rb
  54. +213 −0 lib/shoes/color.rb
  55. +26 −0 lib/shoes/common/paint.rb
  56. +14 −0 lib/shoes/common/style.rb
  57. +95 −0 lib/shoes/common_methods.rb
  58. +23 −0 lib/shoes/configuration.rb
  59. +40 −0 lib/shoes/edit_box.rb
  60. +27 −0 lib/shoes/edit_line.rb
  61. +130 −0 lib/shoes/element_methods.rb
  62. +32 −0 lib/shoes/flow.rb
  63. +17 −0 lib/shoes/image.rb
  64. +30 −0 lib/shoes/layout.rb
  65. +24 −0 lib/shoes/line.rb
  66. +37 −0 lib/shoes/oval.rb
  67. +56 −0 lib/shoes/runnable_block.rb
  68. +69 −0 lib/shoes/shape.rb
  69. +146 −0 lib/shoes/sound.rb
  70. +19 −0 lib/shoes/stack.rb
  71. +5 −0 lib/shoes/timer_base.rb
  72. +38 −0 lib/swt_shoes.rb
  73. +26 −0 lib/swt_shoes/animation.rb
  74. +50 −0 lib/swt_shoes/app.rb
  75. +22 −0 lib/swt_shoes/button.rb
  76. +13 −0 lib/swt_shoes/color.rb
  77. +89 −0 lib/swt_shoes/element_methods.rb
  78. +45 −0 lib/swt_shoes/flow.rb
  79. +63 −0 lib/swt_shoes/layout.rb
  80. +30 −0 lib/swt_shoes/line.rb
  81. +32 −0 lib/swt_shoes/oval.rb
  82. +46 −0 lib/swt_shoes/runnable_block.rb
  83. +75 −0 lib/swt_shoes/shape.rb
  84. BIN lib/tritonus_share.jar
  85. BIN lib/vorbisspi1.0.3.jar
  86. +75 −0 lib/white_shoes.rb
  87. +20 −0 lib/white_shoes/app.rb
  88. +9 −0 lib/white_shoes/base.rb
  89. +15 −0 lib/white_shoes/button.rb
  90. +95 −0 lib/white_shoes/common_methods.rb
  91. +54 −0 lib/white_shoes/element_methods.rb
  92. +25 −0 lib/white_shoes/flow.rb
  93. +21 −0 lib/white_shoes/line.rb
  94. +21 −0 lib/white_shoes/oval.rb
  95. +34 −0 lib/white_shoes/shape.rb
  96. +6 −0 log4j.properties
  97. +43 −0 samples/class-book.rb
  98. +387 −0 samples/class-book.yaml
  99. +23 −0 samples/expert-definr.rb
  100. +51 −0 samples/expert-funnies.rb
  101. +112 −0 samples/expert-irb.rb
  102. +267 −0 samples/expert-minesweeper.rb
  103. +319 −0 samples/expert-othello.rb
  104. +62 −0 samples/expert-pong.rb
  105. +385 −0 samples/expert-tankspank.rb
  106. +37 −0 samples/good-arc.rb
  107. +51 −0 samples/good-clock.rb
  108. +26 −0 samples/good-follow.rb
  109. +174 −0 samples/good-reminder.rb
  110. +56 −0 samples/good-vjot.rb
  111. +75 −0 samples/simple-accordion.rb
  112. +17 −0 samples/simple-anim-shapes.rb
  113. +13 −0 samples/simple-anim-text.rb
  114. +23 −0 samples/simple-arc.rb
  115. +24 −0 samples/simple-bounce.rb
  116. +17 −0 samples/simple-button-animate.rb
  117. +70 −0 samples/simple-calc.rb
  118. +26 −0 samples/simple-chipmunk.rb
  119. +24 −0 samples/simple-control-sizes.rb
  120. +26 −0 samples/simple-curve.rb
  121. +29 −0 samples/simple-dialogs.rb
  122. +13 −0 samples/simple-displace.rb
  123. +27 −0 samples/simple-downloader.rb
  124. +13 −0 samples/simple-draw.rb
  125. +28 −0 samples/simple-editor.rb
  126. +11 −0 samples/simple-flow-wrap.rb
  127. +28 −0 samples/simple-form.rb
  128. BIN samples/simple-form.shy
  129. +21 −0 samples/simple-mask.rb
  130. +31 −0 samples/simple-menu.rb
  131. +35 −0 samples/simple-menu1.rb
  132. +13 −0 samples/simple-move.rb
  133. +29 −0 samples/simple-rubygems.rb
  134. +45 −0 samples/simple-slide.rb
  135. +30 −0 samples/simple-sound.rb
  136. +28 −0 samples/simple-sphere.rb
  137. +13 −0 samples/simple-sqlite3.rb
  138. +8 −0 samples/simple-stripes.rb
  139. +13 −0 samples/simple-timer.rb
  140. +13 −0 samples/simple-video.rb
  141. BIN samples/swt_examples/artifacts.jar
  142. BIN samples/swt_examples/binary/org.eclipse.sdk.examples_root_3.4.0.v20110503-817mFcfFEdccNz0Jhh8BTgNN
  143. BIN samples/swt_examples/content.jar
  144. BIN samples/swt_examples/features/org.eclipse.sdk.examples.source_3.4.0.v20110503.jar
  145. BIN samples/swt_examples/features/org.eclipse.sdk.examples_3.4.0.v20110503-817mFcfFEdccNz0Jhh8BTgNN.jar
  146. BIN samples/swt_examples/plugins/org.eclipse.compare.examples.source_3.1.200.I20110510-0800.jar
  147. BIN samples/swt_examples/plugins/org.eclipse.compare.examples.xml.source_3.3.200.I20110510-0800.jar
  148. BIN samples/swt_examples/plugins/org.eclipse.compare.examples.xml_3.3.200.I20110510-0800.jar
  149. BIN samples/swt_examples/plugins/org.eclipse.compare.examples_3.1.200.I20110510-0800.jar
  150. BIN samples/swt_examples/plugins/org.eclipse.debug.examples.core.source_1.3.0.v20110511.jar
  151. BIN samples/swt_examples/plugins/org.eclipse.debug.examples.core_1.3.0.v20110511.jar
  152. BIN samples/swt_examples/plugins/org.eclipse.debug.examples.ui.source_1.3.0.v20110511.jar
  153. BIN samples/swt_examples/plugins/org.eclipse.debug.examples.ui_1.3.0.v20110511.jar
  154. BIN ...les/swt_examples/plugins/org.eclipse.jface.examples.databinding.source_1.0.200.I20100601-0800.jar
  155. BIN samples/swt_examples/plugins/org.eclipse.jface.examples.databinding_1.0.200.I20100601-0800.jar
  156. BIN samples/swt_examples/plugins/org.eclipse.sdk.examples.source_3.2.0.v20110503.jar
  157. BIN samples/swt_examples/plugins/org.eclipse.sdk.examples_3.2.0.v20110503.jar
  158. BIN samples/swt_examples/plugins/org.eclipse.swt.examples.browser.demos.source_3.1.200.v3738a.jar
  159. BIN samples/swt_examples/plugins/org.eclipse.swt.examples.browser.demos_3.1.200.v3738a.jar
  160. BIN samples/swt_examples/plugins/org.eclipse.swt.examples.browser.source_3.1.100.v3738a.jar
  161. BIN samples/swt_examples/plugins/org.eclipse.swt.examples.browser_3.1.100.v3738a.jar
  162. BIN samples/swt_examples/plugins/org.eclipse.swt.examples.controls.source_3.1.100.v3738a.jar
  163. BIN samples/swt_examples/plugins/org.eclipse.swt.examples.controls_3.1.100.v3738a.jar
  164. BIN samples/swt_examples/plugins/org.eclipse.swt.examples.launcher.source_3.1.100.v3738a.jar
  165. BIN samples/swt_examples/plugins/org.eclipse.swt.examples.launcher_3.1.100.v3738a.jar
  166. BIN samples/swt_examples/plugins/org.eclipse.swt.examples.layouts.source_3.1.100.v3738a.jar
  167. BIN samples/swt_examples/plugins/org.eclipse.swt.examples.layouts_3.1.100.v3738a.jar
  168. BIN samples/swt_examples/plugins/org.eclipse.swt.examples.ole.win32.source_3.1.100.v3738a.jar
  169. BIN samples/swt_examples/plugins/org.eclipse.swt.examples.ole.win32_3.1.100.v3738a.jar
  170. BIN samples/swt_examples/plugins/org.eclipse.swt.examples.paint.source_3.1.100.v3738a.jar
  171. BIN samples/swt_examples/plugins/org.eclipse.swt.examples.paint_3.1.100.v3738a.jar
  172. BIN samples/swt_examples/plugins/org.eclipse.swt.examples.source_3.7.0.v3738a.jar
  173. BIN samples/swt_examples/plugins/org.eclipse.swt.examples_3.7.0.v3738a.jar
  174. BIN samples/swt_examples/plugins/org.eclipse.team.examples.filesystem.source_3.4.100.I20110510-0800.jar
  175. BIN samples/swt_examples/plugins/org.eclipse.team.examples.filesystem_3.4.100.I20110510-0800.jar
  176. BIN samples/swt_examples/plugins/org.eclipse.ui.examples.contributions.source_3.3.100.I20100509-0800.jar
  177. BIN samples/swt_examples/plugins/org.eclipse.ui.examples.contributions_3.3.100.I20100509-0800.jar
  178. BIN samples/swt_examples/plugins/org.eclipse.ui.examples.fieldassist.source_1.1.2.I20100601-0800.jar
  179. BIN samples/swt_examples/plugins/org.eclipse.ui.examples.fieldassist_1.1.2.I20100601-0800.jar
  180. BIN samples/swt_examples/plugins/org.eclipse.ui.examples.javaeditor.source_3.1.300.v20110524-0800.jar
  181. BIN samples/swt_examples/plugins/org.eclipse.ui.examples.javaeditor_3.1.300.v20110524-0800.jar
  182. BIN ...es/swt_examples/plugins/org.eclipse.ui.examples.multipageeditor.source_3.2.200.I20110413-1600.jar
  183. BIN samples/swt_examples/plugins/org.eclipse.ui.examples.multipageeditor_3.2.200.I20110413-1600.jar
  184. BIN samples/swt_examples/plugins/org.eclipse.ui.examples.propertysheet.source_3.2.200.I20110413-1600.jar
  185. BIN samples/swt_examples/plugins/org.eclipse.ui.examples.propertysheet_3.2.200.I20110413-1600.jar
  186. BIN samples/swt_examples/plugins/org.eclipse.ui.examples.readmetool.source_3.3.100.I20110413-1600.jar
  187. BIN samples/swt_examples/plugins/org.eclipse.ui.examples.readmetool_3.3.100.I20110413-1600.jar
  188. BIN samples/swt_examples/plugins/org.eclipse.ui.examples.undo.source_3.2.200.I20110413-1600.jar
  189. BIN samples/swt_examples/plugins/org.eclipse.ui.examples.undo_3.2.200.I20110413-1600.jar
  190. BIN ...s/plugins/org.eclipse.ui.examples.views.properties.tabbed.article.source_3.2.1.I20100517-1500.jar
  191. BIN ...examples/plugins/org.eclipse.ui.examples.views.properties.tabbed.article_3.2.1.I20100517-1500.jar
  192. +1 −0 samples/working-swing/simple-sound.rb
  193. +1 −0 samples/working-swt/simple-sound.rb
  194. +1 −0 samples/working-swt/simple-stripes.rb
  195. +21 −0 shoes.gemspec
  196. BIN sounds/102719__sarge4267__explosion.mp3
  197. BIN sounds/145622__andybrannan__train-fog-horn-long-wyomming.aiff
  198. BIN sounds/46492__phreaksaccount__shields1.ogg
  199. BIN sounds/61847__simon-rue__boink-v3.wav
  200. +85 −0 spec/shoes/app_spec.rb
  201. +21 −0 spec/shoes/button_spec.rb
  202. +264 −0 spec/shoes/color_spec.rb
  203. +204 −0 spec/shoes/element_methods_spec.rb
  204. +53 −0 spec/shoes/flow_spec.rb
  205. +30 −0 spec/shoes/framework_learning_spec.rb
  206. BIN spec/shoes/images/shoe.jpg
  207. +38 −0 spec/shoes/line_spec.rb
  208. +63 −0 spec/shoes/oval_spec.rb
  209. +30 −0 spec/shoes/shape_spec.rb
  210. +41 −0 spec/shoes/shared_examples/shared_element_method_spec.rb
  211. +9 −0 spec/shoes/shared_examples/style_spec.rb
  212. +2 −0 spec/shoes/spec_helper.rb
  213. +11 −0 spec/spec_helper.rb
  214. +34 −0 spec/swt_shoes/app_spec.rb
  215. +24 −0 spec/swt_shoes/button_spec.rb
  216. +11 −0 spec/swt_shoes/color_spec.rb
  217. +64 −0 spec/swt_shoes/element_methods_spec.rb
  218. +68 −0 spec/swt_shoes/flow_spec.rb
  219. +32 −0 spec/swt_shoes/line_spec.rb
  220. +13 −0 spec/swt_shoes/oval_spec.rb
  221. +74 −0 spec/swt_shoes/shape_spec.rb
  222. +13 −0 spec/swt_shoes/shared_examples/common_methods_spec.rb
  223. +43 −0 spec/swt_shoes/shared_examples/style_spec.rb
  224. +5 −0 spec/swt_shoes/spec_helper.rb
  225. +47 −0 static/PKGBUILD
  226. BIN static/Shoes.icns
  227. BIN static/avatar.png
  228. +188 −0 static/code_highlighter.js
  229. +26 −0 static/code_highlighter_ruby.js
  230. BIN static/icon-debug.png
  231. BIN static/icon-error.png
  232. BIN static/icon-info.png
  233. BIN static/icon-warn.png
  234. BIN static/listbox_button1.png
  235. BIN static/listbox_button2.png
  236. BIN static/man-app.png
  237. BIN static/man-builds.png
  238. BIN static/man-builds1.png
  239. BIN static/man-editor-notepad.png
  240. BIN static/man-editor-osx.png
  241. BIN static/man-ele-background.png
  242. BIN static/man-ele-border.png
  243. BIN static/man-ele-button.png
  244. BIN static/man-ele-check.png
  245. BIN static/man-ele-editbox.png
  246. BIN static/man-ele-editline.png
  247. BIN static/man-ele-image.png
  248. BIN static/man-ele-listbox.png
  249. BIN static/man-ele-progress.png
  250. BIN static/man-ele-radio.png
  251. BIN static/man-ele-shape.png
  252. BIN static/man-ele-textblock.png
  253. BIN static/man-ele-video.png
  254. BIN static/man-intro-dmg.png
  255. BIN static/man-intro-exe.png
  256. BIN static/man-look-tiger.png
  257. BIN static/man-look-ubuntu.png
  258. BIN static/man-look-vista.png
  259. BIN static/man-run-osx.png
  260. BIN static/man-run-vista.png
  261. BIN static/man-run-xp.png
  262. BIN static/man-shot1.png
  263. +3,535 −0 static/manual-en.txt
  264. +2,829 −0 static/manual-ja.txt
  265. +167 −0 static/manual.css
  266. BIN static/menu-corner1.png
  267. BIN static/menu-corner2.png
  268. BIN static/menu-gray.png
  269. BIN static/menu-left.png
  270. BIN static/menu-right.png
  271. BIN static/menu-top.png
  272. BIN static/shoes-dmg.jpg
  273. BIN static/shoes-icon-blue.png
  274. BIN static/shoes-icon-brown.png
  275. BIN static/shoes-icon.png
  276. BIN static/shoes-manual-apps.gif
  277. BIN static/shoes_main_window.png
  278. BIN static/stripe.png
  279. BIN static/stubs/blank.exe
  280. BIN static/stubs/blank.hfz
  281. +375 −0 static/stubs/blank.run
  282. BIN static/stubs/cocoa-install
  283. +49 −0 static/stubs/sh-install
  284. BIN static/stubs/shoes-stub-inject.exe
  285. BIN static/stubs/shoes-stub.exe
  286. BIN static/tutor-back.png
  287. +5 −0 testing/blank-window.rb
  288. +5 −0 testing/image_test.rb
  289. BIN testing/images/shoe.jpg
  290. +30 −0 testing/interpreter.rb
  291. +112 −0 testing/stevescalc.rb
  292. +54 −0 testing/swing/blank_window.rb
  293. +14 −0 testing/swt_test.rb
  294. +16 −0 testing/testing.rb
View
@@ -0,0 +1,40 @@
+## MAC OS
+.DS_Store
+
+## TEXTMATE
+*.tmproj
+tmtags
+
+## EMACS
+*~
+\#*
+.\#*
+
+## VIM
+*.swp
+tags
+*.bundle
+*.so
+
+## BUNDLER
+.bundle
+
+## INTELLIJ/RUBYMINE
+.idea
+
+## PROJECT::GENERAL
+coverage
+rdoc
+pkg
+
+## PROJECT::SPECIFIC
+*.o
+*.obj
+*.res
+bin/main.c
+shoes/version.h
+deps
+dist
+pkg
+*.app
+docs-*
View
@@ -0,0 +1 @@
+jruby-1.6.5.1
View
2 .rspec
@@ -0,0 +1,2 @@
+-c
+-f d
View
1 .rvmrc
@@ -0,0 +1 @@
+rvm --create use jruby-1.6.5@shoes
View
@@ -0,0 +1,5 @@
+before_script: "sudo aptitude -y -q install libcairo2-dev libpixman-1-dev libpango1.0-dev libgif-dev libjpeg-dev libgtk2.0-dev vlc libvlc-dev portaudio19-dev libsqlite3-dev libcurl4-openssl-dev makeself curl"
+script: "bundle exec rake && bundle exec rake features"
+rvm: 1.9.2
+notifications:
+ irc: "irc.freenode.org#shoes"
View
@@ -0,0 +1,32 @@
+= BROWN SHOES NEEDS A NEW RELEASE SCHEDULE!!
+* Name Suggestions anyone?
+
+= Policeman
+== 17th August, 2010
+* Move to Ruby 1.9.1
+* General stability improvements
+* Updated all dependancies
+* Ported OSX to Cocoa
+* Now works with Windows Vista and Windows 7
+
+= Raisins (0.r1134)
+== 5th December, 2008
+<http://shoooes.net/about/raisins>
+* Built-in Shoes manual. (Alt-?)
+* Error console. (Alt-/)
+* In-memory and on-disk image cache.
+* Asynchronous download method.
+* External font support.
+* Packager for building EXE, DMG, RUN and SHY.
+* Effects (blurs, shadows, glows).
+* Arbitrary shape method.
+* Image blocks.
+* Switched from Carbon to Cocoa.
+* RubyGems integration.
+
+= Curious (0.r396)
+== 8th January, 2008
+* First official release of Shoes.
+* Support for OS X, Win32 and GTK+.
+* Scrolling stacks newly added.
+* VLC embedded for Video.
View
31 COPYING
@@ -0,0 +1,31 @@
+Copyright (C) 2011 Steve Klabnik, Peter Fitzgibbons
+Copyright (c) 2008 why the lucky stiff
+Except:
+ fonts/Coolvetica.ttf (c) 1999 Ray Larabie
+ fonts/Lacuna.ttf (c) 2003 Glashaus, designed by Peter Hoffman
+ samples/expert-minesweeper.rb (c) 2008 que
+ samples/expert-othello.rb (c) 2008 Tieg Zaharia
+ samples/expert-tankspank.rb (c) 2008 Kevin C.
+ samples/good-clock.rb (c) 2008 Thomas Bell
+ samples/good-reminder.rb (c) 2008 Oliver Smith
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without restriction,
+including without limitation the rights to use, copy, modify, merge,
+publish, distribute, sublicense, and/or sell copies of the Software,
+and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
+ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
+OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
View
40 Gemfile
@@ -0,0 +1,40 @@
+source "http://rubygems.org"
+
+require 'rbconfig'
+
+gem 'facets'
+gem 'log4jruby'
+gem 'swt'
+
+group :development do
+ gem "ruby-debug"
+ gem "guard"
+ gem "guard-rspec"
+ #gem "spork"
+
+ #gem 'yard'
+
+ unless Config::CONFIG['host_os']
+ # A Jruby compatible gem for 'pygmentize'
+ gem "albino"
+
+ ## Dependencies for Rocco.
+ ## Really... All Three Markdown gems?!
+ #gem "bluecloth"
+ gem "redcarpet"
+ #gem "rdiscount"
+ gem "rocco"
+ end
+end
+
+group :test do
+ unless Config::CONFIG['host_os']
+ #gem "mechanize"
+ end
+ gem "gherkin"
+ gem "cucumber"
+ gem "rspec", "~> 2.0"
+ gem "rake"
+ #gem "shoes-cucumber"
+end
+
View
@@ -0,0 +1,64 @@
+GEM
+ remote: http://rubygems.org/
+ specs:
+ builder (3.0.0)
+ columnize (0.3.6)
+ cucumber (1.1.0)
+ builder (>= 2.1.2)
+ diff-lcs (>= 1.1.2)
+ gherkin (~> 2.5.0)
+ json (>= 1.4.6)
+ term-ansicolor (>= 1.0.6)
+ diff-lcs (1.1.3)
+ facets (2.9.2)
+ ffi (1.0.11)
+ ffi (1.0.11-java)
+ gherkin (2.5.1)
+ json (>= 1.4.6)
+ gherkin (2.5.1-java)
+ json (>= 1.4.6)
+ guard (1.0.0)
+ ffi (>= 0.5.0)
+ thor (~> 0.14.6)
+ guard-rspec (0.6.0)
+ guard (>= 0.10.0)
+ json (1.6.1)
+ json (1.6.1-java)
+ linecache (0.46)
+ rbx-require-relative (> 0.0.4)
+ log4jruby (0.4.0)
+ rake (0.9.2)
+ rbx-require-relative (0.0.5)
+ rspec (2.6.0)
+ rspec-core (~> 2.6.0)
+ rspec-expectations (~> 2.6.0)
+ rspec-mocks (~> 2.6.0)
+ rspec-core (2.6.4)
+ rspec-expectations (2.6.0)
+ diff-lcs (~> 1.1.2)
+ rspec-mocks (2.6.0)
+ ruby-debug (0.10.4)
+ columnize (>= 0.1)
+ ruby-debug-base (~> 0.10.4.0)
+ ruby-debug-base (0.10.4)
+ linecache (>= 0.3)
+ ruby-debug-base (0.10.4-java)
+ swt (0.12)
+ term-ansicolor (1.0.6)
+ thor (0.14.6)
+
+PLATFORMS
+ java
+ ruby
+
+DEPENDENCIES
+ cucumber
+ facets
+ gherkin
+ guard
+ guard-rspec
+ log4jruby
+ rake
+ rspec (~> 2.0)
+ ruby-debug
+ swt
View
@@ -0,0 +1,19 @@
+# A sample Guardfile
+# More info at https://github.com/guard/guard#readme
+
+guard 'rspec', :version => 2 do
+ watch(%r{^spec/.+_spec\.rb$})
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
+ watch('spec/spec_helper.rb') { "spec" }
+
+ # Rails example
+ watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
+ watch(%r{^app/(.*)(\.erb|\.haml)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
+ watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
+ watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
+ watch('config/routes.rb') { "spec/routing" }
+ watch('app/controllers/application_controller.rb') { "spec/controllers" }
+ # Capybara request specs
+ watch(%r{^app/views/(.+)/.*\.(erb|haml)$}) { |m| "spec/requests/#{m[1]}_spec.rb" }
+end
+
View
@@ -1,4 +1,36 @@
shoes4
======
-Shoes 4
+Shoes 4
+
+Hacking
+-------
+
+1. Fork the repository and clone your fork, or
+
+ $ git clone git://github.com/shoes/shoes4.git
+
+2. Install a [JDK](http://www.oracle.com/technetwork/java/javase/downloads/) and [JRuby](http://jruby.org)
+
+ $ rvm install jruby 1.6.5
+
+3. Set up your local environment
+
+ $ cd shoes4
+ $ gem install bundler && bundle install
+
+4. You're ready to go!
+
+
+Running Specs
+-------------
+
+Shoes 4 is developed in a TDD style. You should be running the specs :)
+
+There are rake tasks for running specs. Some examples:
+
+ $ rake spec # Run all the specs
+ $ rake spec:shoes # Run the specs for the Shoes DSL
+ $ rake spec:swt # Run the specs for the Swt implementation
+ $ rake spec[Shape] # Run all the specs for Shape
+ $ rake spec:shoes[Shape] # Run just the DSL specs for Shape
View
@@ -0,0 +1,89 @@
+require 'rubygems'
+require 'rake'
+require 'rspec'
+require 'facets/hash'
+
+require 'jruby'
+JRuby.runtime.instance_config.runRubyInProcess = false
+
+# thanks Dan Lucraft!
+def jruby_run(cmd, swt = false)
+ opts = "-J-XstartOnFirstThread" if swt && Config::CONFIG["host_os"] =~ /darwin/
+
+ # see https://github.com/jruby/jruby/wiki/FAQs
+ # "How can I increase the heap/memory size when launching a sub-JRuby?"
+ sh( "jruby --debug --1.9 #{opts} -S #{cmd}" )
+end
+
+def rspec(files, options = "")
+ rspec_opts = "#{options} #{files}"
+ "./bin/rspec --tty #{rspec_opts}"
+end
+
+# run rspec in separate Jruby JVM
+# options :
+# :swt - true/false(default) When True, will run Jruby with SWT-required -X-startOnFirstThread
+# :rspec - string Options to pass to Rspec commandline.
+#
+def jruby_rspec(files, args)
+ swt = args.delete(:swt)
+ rspec_opts = spec_opts_from_args(args)
+ rspec_opts << " #{ENV['RSPEC_OPTS']}"
+
+ jruby_run(rspec(files, rspec_opts), swt)
+
+ #out = jruby_run(rspec(files, rspec_opts), swt)
+ #ok, result = out.split("\n").last
+ #examples_failures = result.match /\d* examples, \d* failures/
+
+ #return { :examples => examples_failures[1], :failures => examples_failures[2] }
+end
+
+def spec_opts_from_args(args)
+ opts = args[:module] ? "-e ::#{args[:module]}" : ""
+end
+
+task :default => :spec
+
+desc "Run All Specs"
+task :spec, [:module] => "spec:all" do
+
+end
+
+namespace :spec do
+
+
+
+ desc "Run All Specs / All Modules"
+ task :default => ["spec:all"]
+
+ desc "Run Specs on Shoes + All Frameworks
+ Limit the examples to specific :modules :
+ Animation
+ App
+ Button
+ Flow
+
+ ie. $ rake spec:all[Flow]
+ "
+ task "all", [:module] do |t, args|
+ Rake::Task["spec:shoes"].invoke(args[:module])
+ Rake::Task["spec:swt"].invoke(args[:module])
+ end
+
+ desc "Specs for SWT Framework
+ Limit the examples to specific :modules : "
+ task "swt", [:module] do |t, args|
+ argh = args.to_hash
+ argh[:swt] = true
+ jruby_rspec("spec/swt_shoes/*_spec.rb", argh)
+ end
+
+ desc "Specs for base Shoes libraries
+ Limit the examples to specific :modules : "
+ task "shoes", [:module] do |t, args|
+ argh = args.to_hash
+ jruby_rspec("spec/shoes/*_spec.rb", argh)
+ end
+
+end
View
@@ -0,0 +1,16 @@
+#!/usr/bin/env jruby
+#
+# This file was generated by Bundler.
+#
+# The application 'autospec' is installed as part of a gem, and
+# this file is here to facilitate running it.
+#
+
+require 'pathname'
+ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
+ Pathname.new(__FILE__).realpath)
+
+require 'rubygems'
+require 'bundler/setup'
+
+load Gem.bin_path('rspec-core', 'autospec')
Oops, something went wrong.

0 comments on commit 4f2188a

Please sign in to comment.