Skip to main content

Hosanna Compiler License And Tool Setup

Hosanna Compiler Setup

To build your Hosanna project for Roku and other compiled targets, you need the Hosanna Compiler binary (hsc).

Downloading the Hosanna Compiler

You will receive a download link for the Hosanna Compiler binary from Tantawowa Ltd. Download the correct binary for your platform:

  • Apple Silicon (arm64)
  • Apple Intel (x64)
  • Windows
  • Linux

Rename the downloaded file to hsc and place it somewhere on your system $PATH (e.g., /usr/local/bin).

Making the Hosanna Compiler Executable (macOS)

After downloading, you may need to make the file executable and remove the security warning:

chmod +x /usr/local/bin/hsc
xattr -d com.apple.quarantine /usr/local/bin/hsc

Restart VSCode

After adding hsc to your path, restart VSCode to ensure launch targets work correctly.

Licensing

You need a license key for your machine. To request one:

  1. Run the following to get your machine fingerprint:

    hsc --fingerprint

    This will print a machine ID.

  2. Send this ID to Tantawowa Ltd to register your machine.

  3. You will receive a license key. Set it as an environment variable in your shell profile (e.g., .zprofile):

    export HSC_LICENSE_KEY=YOUR_LICENSE_KEY_HERE
    source ~/.zprofile

Usage

You can run the Hosanna Compiler directly:

hsc --help

Or use npm scripts and launch targets provided in each Hosanna project. Example scripts:

"generate:build-info": "node deployment/scripts/generate-build-info.js",
"package:dev": "node deployment/scripts/package-roku.js --env dev",
"package:prod": "node deployment/scripts/package-roku.js --env prod",
"release:ci": "node deployment/release-tool/index.js --ci-build",
"release:preview": "node deployment/release-tool/index.js --dry-run",
"release:final": "node deployment/release-tool/index.js --final",
"transpile": "npm run generate:build-info && hsc --project platforms/hsconfig-roku.dev.json",
"transpile:prod": "npm run generate:build-info && hsc --project platforms/hsconfig-roku.prod.json",

You can run:

npm run transpile

or use the relevant launch commands for your environment.