Build
Overview
Most users should just use the prebuilt distribution. However if you want to get your hands dirty and build from source, then follow this guide.
To build Haxall from source requires the following projects:
- Fantom language and runtime
- Project Haystack core definitions
- Haxall repo itself
All of these projects are available on GitHub.
Fantom
In most cases, the simplest solution is to just install the latest version of Fantom rather than building from scratch:
- Download and unzip latest version
- See Fantom Setup
- Make sure
fan
orfan.exe
is in your executable path
There are cases where the current version of the Haxall repo requires building Fantom from source. We call this a bootstrap build because Fantom is used to compile Fantom itself. See the Bootstrap chapter for details.
Project Haystack
Once Fantom is installed, you can clone and rebuild the Project Haystack pods:
- Pull the Haystack-Defs GitHub repo
- Setup an empty "fan.props" in repo root directory
- CD to your
{haystack-defs}
root directory and runfan -version
; verify your Env Path is as follows:haystack-defs (work), fantom (home)
- Run
{haystack-defs}/src/build.fan
; should build to{haystack-defs}/lib/
Haxall
To build Haxall from source:
- Pull from Haxall GitHub repo
- Setup "fan.props" in repo root of Haxall with this line:
path=/path-to/haystack-defs
- CD to your
{haxall}
root directory and runfan -version
; verify your Env Path is as follows:haxall (work), haystack-defs, fantom (home)
- Set the environment variable
FAN_BUILD_JDKHOME
to point to your JDK install - Run
{haxall}/src/build.fan
; should build to{haxall}/lib/