Skip to content

Latest commit

 

History

History

scripts

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Build Guide

Puccini tries to follow the conventions of the Go programming community. However, newcomers to Go might not know where to start. Here are some scripts to get you up in running.

We recommend developing on Linux. The Go compiler is a cross-compiler so you can build all binaries for all platforms and architectures from there. A Linux virtual machine would be find.

If you're on Windows you have two additional options. The better one is WSL, which is Linux, from where you can do cross-compiling. The second option is to 1) install Go for Windows and then 2) install git for Windows, which provides a Unix-like environment with bash (use "Git Bash").

This builds the Puccini executables, first making sure to download any necessary dependencies. You will find the output in bin under your GOPATH. If you stick to the defaults, it would be ~/go/bin/puccini-tosca, etc.

You might find it convenient to have ~/go/bin on your search path. For Bash, add this to your ~/.bashrc file:

export PATH=~/go/bin:$PATH

The Go compiler will only compile changed files. Also, it's a very fast compiler. So, generally you should not be concerned about this step in your toolchain.

Dependency management is handled by Go modules, introduced in Go 1.11. See the files go.mod and go.sum.

Installs bash completion scripts for the current user, for the current build of Puccini. This allows you to press TAB to complete commands starting with puccini-tosca, puccini-clout, etc.

scripts/install-bash-completion -r

You don't need to run this normally. Run it only if you change any of the files in the assets directory. It reads those files and wraps them in Go code so that they can be compiled into Puccini's executables. So, after running this you would likely also want to re-run build.

This runs build and then some tests using Go's built-in testing tool.

This script installs and runs the amazing GoReleaser tool in order to cross-compile Puccini, create installation packages for Linux, Windows, and MacOS, and publish them to GitHub. It uses the .goreleaser.yml file for its configuration.

Run it with the "-t" switch to do a test release, which will create local distributions (under dist/release/) without publishing them to GitHub.