# dev.bat

maul-esel edited this page Nov 10, 2013 · 22 revisions

## Setup

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:

Target: C:\Windows\System32\cmd.exe /k "c:\github\ironruby\Scripts\Bat\Dev.bat"

Start in: c:\github\ironruby\Languages\Ruby

## Understanding the folder layout

This is what the folder structure of the source repo looks like. Aliases for going to specific folders are shown like this.

• Root (http://github.com/ironruby/ironruby) r
• Solutions – Contains Ruby.sln, IronPython.sln and IronStudio.sln
• Languages
• Ruby rb
• 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
• Runtime
• Microsoft.Scripting – Contains Microsoft.Scripting.csproj
• Microsoft.Scripting.Core – Contains Microsoft.Scripting.Core.csproj
• External.LCA_RESTRICTED
• Languages
• IronRuby
• mspec mspc
• ironruby-tags
• rubyspec
• Ruby
• redist-libs
• Ruby19 – The latest MRI
• IronPython
• 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. path=c:\Program Files\Git\bin;%path%)

See the other task-specific pages on this wiki for the aliases and scripts specific to those tasks.