How to Build Gulliver

Note

Make sure you clone the latest version of Gulliver’s master branch from Github https://github.com/sandialabs/Gulliver.git.

Building with psake

Gulliver uses psake, a build automation tool written in PowerShell, to aid in the build, but it isn’t explicitly necessary. To use psake follow the “How to get started” guide on their site, adding it to your path.

If you’d rather not use psake jump ahead to see the manual way of doing things.

psake tasks

The psake tasks are defined in the pasake.ps1 PowerShell script in the project root directory.

Note

If you’re using Visual Studio Code, and if you’re not you should be, the psake tasks are available in the Task Explorer. The tasks are referenced in the .vscode\tasks.json in the root directly of Gulliver.

Warning

Before attempting to run any of the psake tasks make sure you have the appropriate prerequisites in place.

The tasks of most concern are as follows:

clean

Cleans the C# portion of the project by removing the various obj and bin folders.

build_src

Cleans and builds the C# source.

test

Runs the Gulliver unit tests.

pack_debug

Create a Gulliver.nupkg and Gulliver.snupkg debug packages.

build_docs

Builds the Sphinx Documentation as HTML.

C# Code

Setup Your C# Environment

Gulliver is built with C#, if you want to build Gulliver you’ll want to set yourself up to build C# code.

  1. Install the .NET Core SDK appropriate for your environment.

  2. Consider installing Visual Studio and/or Visual Studio Code.

  3. Everything you want to do here on out can be done with dotnet command line tool.

    • To build

      dotnet build path\to\gulliver\src\Gulliver.sln
      
    • To test

      dotnet test path\to\gulliver\src\Gulliver.Tests\Gulliver.Tests.csproj
      
    • To package

      dotnet pack path\to\gulliver\src\Gulliver\Gulliver.csproj
      

Build The Documentation

First Things First

Note

Before you can run, first you must walk. Likewise, before you can build docs fist you must do some Python stuff.

The documentation relies on Sphinx and Python and a number of Python packages.

  1. Install Python 3.7+

  2. Install Sphinx 2.2.0+ via the Python package manager pip

    pip install sphinx
    
  3. Install the Sphinx RTD Theme via pip

    pip install sphinx_rtd_theme
    

Build

Once you have all the perquisites in place building the documentation, as HTML 1, is as simple as locating the make.bat in the Gulliver docs folder. Then simply execute

path\to\gulliver\docs\make.bat html

Once complete the documentation will be present in the _build sub folder of docs.

footnotes

1

You don’t have to stick with HTML builds, Sphinx provides other artifacts types as well, take a look at their Invocation of sphinx-build for other options.