Sysl can be installed on Windows, MacOS and Linux - follow this guide
Sysl is a CLI (Command Line Interface) that executes with the
- Go 1.13
- There are extra prerequisites for several subcommands like
sysl sd(sequence diagram generation): - Sysl depends upon PlantUML for diagram generation. Some of the automated tests require a PlantUML dependency. Provide PlantUML access either via local installation or URL to remote service. Warning, for sensitive data the public service at www.plantuml.com is not suitable. You can use one of the following options to set up your environment: - execute
export SYSL_PLANTUML=http://www.plantuml.com/plantumlto your
.bashrcor similar - install PlantUML locally or run a local instance of the PlantUML server using the docker image and run on port 8080. Otherwise you can refer to the plantuml server guide
Here are several approaches to get start using Sysl:
Install with Homebrew
If you have homebrew installed, you can simply run the following commands in your terminal:
brew tap anz-bank/homebrew-sysl brew install anz-bank/homebrew-sysl/sysl
Install the pre-compiled binary
Download the pre-compiled binaries matching your OS from the releases page.
Uncompress the archive and move the sysl binary to your desired path:
under PATH location
# check it works $ sysl help
under non-PATH location (with the binary in the current directory)
# check it works $ ./sysl help
Go get it
# make sure you've installed go in your computer at first $ go version # go get it $ GO111MODULE=on go get -u github.com/anz-bank/sysl/cmd/sysl # check it works $ sysl help
Note: Do NOT run it from inside a Go source directory that is module enabled, otherwise it gets added to go.mod/go.sum.
Running with Docker
You can also use it within a Docker container.
First get the docker image using
$ docker pull anzbank/sysl:latest
For MacOS and Linux Users
$ alias sysl="docker run --rm -it -v $HOME:$HOME -w $(pwd) anzbank/sysl:latest" $ sysl info
Sysl can then be used from the same terminal window subsequently. Alternatively, it can also be added to the
.zshrc file to add the
sysl command permanently.
$ docker run --rm \ -v $PWD:/go/src/github.com/anz-bank/sysl \ -w /go/src/github.com/anz-bank/sysl \ anzbank/sysl:latest validate -v ./demo/examples/Modules/model_with_deps.sysl
We have used this Dockerfile to create this image.
Compiling from source
Here you have two options:
- If you want to contribute to the project, please follow the steps on our contributing guide.
- If just want to build from source for whatever reason, follow the steps bellow:
# clone it to create a local copy on your computer $ git clone https://github.com/anz-bank/sysl.git $ cd sysl # get dependencies using go modules (needs go 1.11+) $ go get ./... # install $ go install ./cmd/sysl # check it works $ sysl help
Sysl has a VSCode extension which provides syntax highlighting for
.sysl files. Install it here.