sam-the-programmer / sandcastle

A high-performance, lightweight build tool.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

🏰
SandCastle

SandCastle is a high performance, lightweight build tool for any language, OS or shell.

Installation

Binaries

Windows

  • Download the castle.exe binary from releases page.
  • Add it to your $PATH and you're good to go!

Linux

  • Download the castle binary from releases page.
  • Add it to your $PATH and you're good to go!

MacOS

  • Download the castle-macos binary from releases page.
  • Rename it to castle
  • Add it to your $PATH and you're good to go!

From Source

Usage

Arguments

  • init initialise a SandCastle project.
  • <task-name> run the specified task.

castle.yaml

This is a configuration file that contains all of the tasks and things that you want SandCastle to do.

Create a castle.yaml file, using castle init or any other method of your choice.

The contents are as follows.

config: # the configuration options
  log_shell_cmds: true # should it give a title for shell steps in a task?

  # log_level is for the internal logging of SandCastle
  log_level: debug # choose one of "info", "debug", "warn", "error" or "none" - these are

tasks: # the tasks, use the name of the task as a CLI argument
  run: # the name of the task
    - echo "Hello, World!" # the steps of the task
    - echo "Second Step!"
  deploy: # another task
    - echo "Deployed!" # you can use shell commands, or any other terminal command

Now, if we wanted to run the deploy task, we would run castle deploy. Just like that!

Recognised Shells

In order to run shell commands, you need to have a shell installed. SandCastle supports the following shells:

  • bash
  • zsh
  • sh
  • csh
  • ksh
  • tcsh
  • dash
  • fish

About

A high-performance, lightweight build tool.

License:Apache License 2.0


Languages

Language:Go 100.0%