Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/go-gilbert/gilbert
Build system and task runner for Go projects
https://github.com/go-gilbert/gilbert
cli go golang golang-library task-runner tool toolkit
Last synced: 3 months ago
JSON representation
Build system and task runner for Go projects
- Host: GitHub
- URL: https://github.com/go-gilbert/gilbert
- Owner: go-gilbert
- License: mit
- Created: 2019-01-30T09:02:31.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-06-16T14:09:43.000Z (5 months ago)
- Last Synced: 2024-07-12T12:41:01.558Z (4 months ago)
- Topics: cli, go, golang, golang-library, task-runner, tool, toolkit
- Language: Go
- Homepage: https://go-gilbert.github.io/
- Size: 9.66 MB
- Stars: 113
- Watchers: 1
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Support: support/fs/files.go
Awesome Lists containing this project
- awesome-go-extra - gilbert - 01-30T09:02:31Z|2020-04-25T14:24:42Z| (Build Automation)
README
# Gilbert
> Build toolchain and task runner for Go
## Features
**Gilbert** is task runner that aims to provide declarative way to define and run tasks like in other projects like _Gradle_, _Maven_ and etc.
All tasks are declared in *gilbert file* (`gilbert.yaml`). Example of the file you can find [here](https://github.com/go-gilbert/project-example/blob/master/gilbert.yaml).
**Full list of features:**
* [Tasks](https://go-gilbert.github.io/docs/syntax/#tasks)
- Simple job declaration
- Rollback and graceful shutdown
- Evaluation conditions
- Async and parallel jobs
- Job timeout and deadline
- Job and [manifest templates](https://go-gilbert.github.io/docs/syntax/#mixins)
- [Go templates](https://go-gilbert.github.io/docs/syntax/#h-go-templates)
- [Variables](https://go-gilbert.github.io/docs/syntax/#variables) and [inline expressions](https://go-gilbert.github.io/docs/syntax/#h-templates)
* [Actions](https://go-gilbert.github.io/docs/actions/)
- Built-in most necessary actions
- Track file changes and re-run task on change
- Check project test coverage with specified threshold
- Build project
- Plugins for custom actions
- Get plugins from [GitHub](https://go-gilbert.github.io/docs/plugin-development/) or other sources
- Simple [Plugin API](https://go-gilbert.github.io/docs/plugin-development/)Read [documentation](https://go-gilbert.github.io/docs/) and [sample project](https://github.com/go-gilbert/project-example) for more information.
## Installation
All release binaries are available on the [releases](https://github.com/go-gilbert/gilbert/releases) page.
### Linux, macOS and FreeBSD
```bash
curl https://raw.githubusercontent.com/go-gilbert/gilbert/master/install.sh | sh
```### Windows
**Powershell**
```powershell
Invoke-Expression (Invoke-Webrequest 'https://raw.githubusercontent.com/go-gilbert/gilbert/master/install.ps1' -UseBasicParsing).Content
```**Note**: You should run `Set-ExecutionPolicy Bypass` in PowerShell to be able to execute installation script.
Some features, like [plugins](https://go-gilbert.github.io/docs/plugins/) are not available on Windows. We recommend to use [Windows Subsystem for Linux (WSL)](https://docs.microsoft.com/en-us/windows/wsl/install-win10) for full experience.
## Usage
Please check out [quick start](https://go-gilbert.github.io/docs/quick-start/) guide.
### Tools
* [Plugin for Visual Studio Code](https://marketplace.visualstudio.com/items?itemName=x1unix.gilbert)