Permalink
Fetching contributors…
Cannot retrieve contributors at this time
98 lines (94 sloc) 3.25 KB

MagLev distribution file layout

$MAGLEV_HOME
  |
  + backups/       # Default location for repository backups
  |
  + benchmark/     # Benchmarks from the Ruby Benchmark Suite project
  |
  + bin/           # MagLev executable scripts
  |
  + data/          # The MagLev repository files.  One subdir per stone
  |  |
  |  + maglev/     # The default repository
  |     |
  |     + extent/  # Holds the repository image
  |     |
  |     + tranlog/ # Holds the transaction logs
  |
  + docs/          # Rdoc formatted documentation files
  |
  + etc/           # Misc config files used by topaz; demo key to run GemStone VM
  |  |
  |  + conf.d/     # The per-repository configuration files.
  |
  + examples/      # Example Ruby scripts to run under MagLev
  |
  + gci/           # Some GemStone C interface files
  |
  + gemstone/      # A link to the GemStone/Smalltalk executables, libraries, etc.
  |
  + html/          # created by "rake rdoc"; holds html versions of rdoc files
  |
  + lib/           # The root of the ruby lib directory.  This is usually
  |  |               installed in /usr/local or /opt/local etc.
  |  + ruby/
  |     |
  |     + 1.8/     # Standard ruby library files go here
  |     |
  |     + gems/    # Managed by RubyGems
  |     |
  |     + site_ruby/
  |
  + locks/         # Lock files used by the GemStone VM
  |
  + log/           # Log files created by MagLev components; one subdir
  |  |               per repository
  |  + maglev/
  |
  + rakelib/       # Rake scripts and supporting Ruby files
  |
  + spec/
  |  |
  |  + mspec/      # Git submodule containing a recent version of MSpec
  |  |
  |  + rubyspec/   # Git submodule containing a recent version of RubySpec files
  |
  + src/
     |
     + kernel/     # MagLev Ruby source and libs
     |
     + smalltalk/  # MagLev smalltalk source
     |
     + test/       # MagLev tests
     |
     + topaz/      # Possibly useful topaz scripts

Source File Layout

$MAGLEV_HOME/src
  |
  + baseline/        # Original copies of certain systems
  |
  + external/        # Frozen copies of files from other sources so
  |                  # developers are immune from sudden changes
  |                  # that might disrupt testing
  |
  + kernel/          # The core and language files pre-loaded into the image
  |  |               # These files are reloaded with "rake dev:reloadprims"
  |  |
  |  + bootstrap/    # These files are loaded in the first wave and provide
  |  |               # the basic/core functionality
  |  |
  |  + common/       # Files that are common between MagLev and Rubinius
  |  |               # (or at least mostly identical)
  |  |
  |  + delta/        # Files that are loaded after the common files to
  |  |               # overload MagLev functions on top of the common ones.
  |  |
  |  + kernel.rb     # File that controls the load order of kernel files
  |  |
  |  + parser/       # Ruby parser code
  |  |
  |  + post_prims/   # Code run after primitives are loaded
  |  |
  |  + post_prims.rb # Code run after primitives are loaded
  |
  + test/            # smoke tests run before committing code