This quickstart covers how to obtain and set up the development environment in order to start extending HeuristicLab. The following points will be treated * Obtaining the source * Building HeuristicLab * Creating your own plugin * For the experienced == Obtaining the source == [[Image(StableRoot.png, 45%, align=right, margin-left=30)]] Here we will use the sources of the current stable build. The advantage is that these can be built without any prerequisites. You only require a current version of Visual Studio or SharpDevelop and the .NET framework. * Download the latest stable branch sources: [[http://builder.heuristiclab.com:8080/repository/download/bt11/.lastSuccessful/HeuristicLab%20stable%20sources%20r%7Bbuild.number%7D.zip?guest=1| Source zip]] * Unpack the archive into the folder HeuristicLab\stable somewhere on your hard drive We will refer to the HeuristicLab folder as //HLRoot//, likewise we'll call the stable folder //StableRoot//. Please remember where HLRoot is located. The explorer should look like in the image to the right. == Building HeuristicLab == There are two important solutions in the StableRoot. The one that needs to be built first is called `HeuristicLab.ExtLibs.sln`. This will create a `bin` folder directly in StableRoot and add plugins of external libraries to which the rest of HeuristicLab depends upon. After this has been built successfully, `HeuristicLab 3.3.sln` will be used to build the main application. This will also add plugins and the HeuristicLab.exe into the common `bin` folder. === Using the Build.cmd script === [[Image(buildcmd.png, align=right, margin-left=30)]] If you have Visual Studio 2012 or later installed you can use the Build.cmd script in StableRoot. * Double click Build.cmd and type the number that is associated with the HeuristicLab.ExtLibs.sln Then hit and each time it prompts for configuration, platform and if a clean should be performed. It will then perform a Release build not specific to a CPU architecture. * Double click Build.cmd again and this time type the number associated with the HeuristicLab 3.3.sln solution. Perform the same steps as above and the build should succeed. You now have built HeuristicLab into StableRoot\bin. We can now write our own plugin and link against these assemblies. In the next section we will set up a new solution and add our own plugin. === Using Visual Studio 2012 === * Open the solution file HeuristicLab.ExtLibs.sln in your IDE of choice and build it. * Open the solution file HeuristicLab 3.3.sln and build it. * All assemblies are compiled to sources\bin. * Start HeuristicLab 3.3.exe from sources\bin. === Using SharpDevelop 4.4 === For Linux users, check out the HeuristicLab and Mono HowTo for more information on how to compile HeuristicLab with Mono on Linux. == Creating your own plugin == == For the experienced == At some point it might be beneficial for you to build against the code in our SVN repositories. The advantage is that you can update it and get new features as we release them. Also you will get notice of breaking changes to our API earlier. You'll have to install [[http://tortoisesvn.net|Tortoise SVN]] because the build process makes use of one of its tools (SubWCRev). You need to have the binary path (bin) of TortoiseSVN (usually `C:\Program Files\TortoiseSVN\bin`) in your PATH environment variable. * Check out the SVN repository of the stable branch at `​http://dev.heuristiclab.com/svn/hl/core/stable`.