Skip to content

sirikon/ebro

Repository files navigation

ebro

Warning

Work in progress. Undocumented.

ebro is a task runner. A tool for defining tasks with their requirements and executing them in the correct order.

It's configured using Yaml files (sorry) and the tasks are shell scripts interpreted with mvdan/sh.

tasks:
  default:
    requires: [echoer, producer]

  echoer:
    script: |
      cat cache/A.txt
      cat cache/B.txt
    when:
      output_changes: |
        cat cache/A.txt
        cat cache/B.txt

  producer:
    requires: [produce_a, produce_b]

  produce_a:
    requires: [cache_dir]
    required_by: [echoer]
    script: echo 'this is A'>cache/A.txt
    when:
      check_fails: test -f cache/A.txt

  produce_b:
    requires: [cache_dir]
    required_by: [echoer]
    script: echo 'this is B'>cache/B.txt
    when:
      check_fails: test -f cache/B.txt

  cache_dir:
    script: mkdir -p cache
    when:
      check_fails: test -d cache

It's heavily inspired in go-task/task, but originally built around a personal need for configuring servers, although it's not tied to this use case.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published