jneen / balls

Bash on Balls
MIT License
859 stars 44 forks source link

Nice framework, needs a task runner #9

Open jforberg opened 10 years ago

jforberg commented 10 years ago

It seems like every new scripting language these days has its own taskrunner. Ruby has rake, Coffescript has cake, for Coco there is coke and probably some more make puns that I don't know about.

Since running tasks in plain bash is not complicated enough, I propose to add the bake command which can be used to run the accompanying Bakefiles. Each Bakefile would consist of a number of recipes with a variety of different ingredients, and so on.

If anyone thinks this is a good idea I'd be happy to build it.

John-Appleseed commented 10 years ago

I like the idea of bash task runners. So if you made this Task runner would it look like this?

Files

- Task/
  - Task1.sh
  - Task2.sh
  - Task_test.sh

Interface

task <task name>    run task
task <task group>   run a group of tasks

Feature

Feature: Bash Task Runner
    In order save development time by running async jobs
    As a developer
    I gain more time prorgramming cooler features

    Unit: Tasks

    Scenario: Automated testing
        Given I have a testing suite like cucumber or bats
        And my step_definitions define for balls
        When I save code in my bash balls server
        Then task_test.sh will tests features within ./Test/* and ./Test/Feature/*
jforberg commented 10 years ago

@John-Appleseed You're mostly correct. But the focus will not be on saving development time, but rather to get the most "readable" syntax possible by abusing the bash control constructs. Think rspec here, monkey-patching the global class so they could overload the == operator to mean something different.

Bash, of course, doesn't have a == operator.

stylemistake commented 9 years ago

I wonder if that fits this project :> https://github.com/stylemistake/bash-task-runner