Clone this wiki locally
We recommend you start your developing by running
c:\github\ironruby\Scripts\Bat\Dev.bat. This batch file sets up the path, various environment variables, and aliases, which makes it easy to do builds and run tests.
It is recommended to setup a shortcut to Dev.bat on the desktop that you can just click to quickly get the pre-configured environment. To do this, create a shortcut on the Desktop to cmd.exe (where c:\github\ironruby is the root of your GIT repo) looking like CmdShortcut.png at http://www.ironruby.net/Support/Images. The values of the text fields should be like this:
C:\Windows\System32\cmd.exe /k "c:\github\ironruby\Scripts\Bat\Dev.bat"
Understanding the folder layout
This is what the folder structure of the source repo looks like. Aliases for going to specific folders are shown
- Root (http://github.com/ironruby/ironruby)
- Solutions – Contains Ruby.sln, IronPython.sln and IronStudio.sln
- Libraries.LCA_RESTRICTED – The C# sources for the IronRuby core library
- Libs – Ruby libraries specific to IronRuby
- Ruby – The C# sources of the IronRuby compiler and runtime
- Scripts – Contains dev.bat, irtests.bat, etc
- bin – Contains igem.bat, etc that are part of the release package
- Tests – IronRuby tests for .NET interop
- Microsoft.Scripting – Contains Microsoft.Scripting.csproj
- Microsoft.Scripting.Core – Contains Microsoft.Scripting.Core.csproj
- Ruby19 – The latest MRI
- CPython – needed for building IronPython’s documentation (CHM file), should be removed as soon as IronPython is able to build it on its own
- Tools\IronStudio – Contains IronRuby and IronPython VS integration
Command-line aliases and scripts
Dev.bat sets up a number of aliases for common tasks like building and running the tests. See
c:\path\to\Merlin\Main\Scripts\Bat\Alias.txt for the full list of aliases. Its also includes the scripts folder
c:\path\to\Merlin\Main\Languages\Ruby\Scripts in the path. A few of the most useful commands are:
- rb – Go to the Ruby sources folder
- brbd – Building the Debug configuration
- rbx – Run ir.exe
- mspec – Running specific RubySpec tests
- irtests – Running the the full set of tests that are required to pass after Modifying the sources
Note that irtests requires the Git executable to be on the path, otherwise it will fail early.. (e.g.
See the other task-specific pages on this wiki for the aliases and scripts specific to those tasks.