Skip to content
Jason R. Clark edited this page Nov 29, 2015 · 5 revisions

The new shoes is built to be extensible, with multiple possible backends. This has resulted in a number of separate gems being broken out from what used to be one monolithic shoe(s).

  • shoes your default "feel happy shoes experience," installs the default shoes backend (currently shoes-swt) and everything necessary to run it. It's a meta-gem with no real code in it.
  • shoes-core the pure ruby guts of shoes. Anything that a backend would need lives there, including the DSL, executables, and code for picking between separate backends.
  • shoes-swt the current default backend, implemented on JRuby + SWT. This gem has its own executable, which the backend picking logic in shoes-core is able to select and run.
  • shoes-package logic specific to the packaging functionality in Shoes. It doesn't depend directly on SWT, although it does currently assume a JRuby implementation for packaging via its use of furoshiki.
  • shoes-manual a separate repo and gem with the content and (optionally) Shoes app code for running the Shoes manual. http://github.com/shoes/shoes-manual
  • shoes-highlighter a code highlighter in Ruby, extracted from Hackety-Hack and used by shoes-manual. http://github.com/shoes/shoes-highlighter