Skip to content
This repository has been archived by the owner on Jul 19, 2022. It is now read-only.

Latest commit

 

History

History
86 lines (64 loc) · 2.52 KB

README.md

File metadata and controls

86 lines (64 loc) · 2.52 KB

🎨 Picasso

Test & Build Go Report Card Taylor Swift Volkswagen License

Picasso is a versatile task runner 🏃 with a powerful plugin system.

👉 Documentation

⚠️ The task runner is under active development and the specification may change.

Features

  • Universal task runner 🛠️
  • Extensible via plugins 🥳
  • Template generation in task runs
  • Task watcher (allows to watch on file system changes and re-runs tasks)no

Install

Homebrew

brew install andersnormal/picasso/picasso

Example

spec: 1
version: 1.0.0
authors:
  - Sebastian Döll <[email protected]>
homepage: https://github.com/andersnormal/picasso
repository: https://github.com/andersnormal/picasso
plugins:
  -
    id: picasso-plugin-init
    path: picasso-plugin-init
tasks:
  test:
    disabled: false
    desc: test
    vars:
      region: test
    env:
      REGION: test
    steps:
      - cmd: echo {{.OS}}
    watch:
      paths:
        - pkg/config
    template:
      - 
        file: ./examples/config.json.tpl
        out: ./config.json
        vars:
          foo: bar    

Plugins

Plugins are implemented using the go plugin over RPC package.

Plugins are triggered using the --plugin flag. They are executed with the vars set with the --var flag and the global vars property in the .picasso.yml file.

Example:

See plugin.go for an example.

Development

The goal is that Picasso is build and maintained by itself. However, up until this very moment. There two quick steps to build it.

The development is intended to be run with Codespaces the blazing fast cloud developer environment.

env GO111MODULE=on goreleaser release --snapshot --rm-dist

License

Apache 2.0