Awesome Task Runner

Related tags

Task Runners bldr
Overview

Bldr

Simplified Build System/Task Runner

Uses Yaml, JSON, XML, PHP, or INI for configs

Quick Usage

To develop, run ./script/bootstrap, and then ./script/test to run the tests.

Documentation

Documentation is over at http://docs.bldr.io/en/latest/

Badges

Tests are broken right now...

Comments
  • Requirement resolves to wrong version

    Requirement resolves to wrong version

    I have the following bldr.json

    {
        "require": {
            "squizlabs/php_codesniffer": "~2.1.0"
        }
    }
    

    Upon running bldr install, I'm getting the following error:

    Your requirements could not be resolved to an installable set of packages.

    Problem 1

    • The requested package squizlabs/php_codesniffer 1.5.6 could not be found.

    This is strange for 2 reasons:

    1. The version it wants to install is lower than my requirement
    2. Version 1.5.6 is an existing release, but it fails to install
    opened by ameenross 17
  • allow for .bldr folder to be moved to say app/.bldr

    allow for .bldr folder to be moved to say app/.bldr

    even though i was able to move it with

    {
        "require": {
            "bldr-io/gush-block": "dev-master@dev"
        },
        "config": {
            "vendor-dir": "app/.bldr/vendor",
            "block-loader": "app/.bldr/blocks.yml"
        }
    }
    

    it would not load configuration properly:

    ~ bldr b merge                                                                Luiss-MacBook-Pro-3 [10:57:39]
    
    
      ______    __       _______   ______
     |   _  \  |  |     |       \ |   _  \
     |  |_)  | |  |     |  .--.  ||  |_)  |
     |   _  <  |  |     |  |  |  ||      /
     |  |_)  | |  `----.|  `--`  ||  |\  \
     |______/  |_______||_______/ | _| `._|
    
    
    
     Building the 'cordoval/matthew-7-12' project
      - Matthew 7:12 project -
    
     Using the 'merge' profile
      - merge flow for matthew -
    
    
    Running the gushMerge task
    > merge flow
    
    
    
    
      [Exception]
      No task type found for gush:pull-request:merge.
    
    
    
    opened by cordoval 16
  • shortcuts

    shortcuts

    right now i am neeting to write a short executable set of scripts to launch particular flows like: https://github.com/cordoval/matthew-7-12/blob/master/merge#L12

    could there be a common way for these shortcuts?

    bldr merge
    

    so that it works like that whenever we install gush-bldr-block automatically?

    opened by cordoval 16
  • Ideas

    Ideas

    This is a list of ideas that would be nice to have for Bldr

    • [ ] Symfony Extension - #5

      This has been started, but it would be nice to have shortcut tasks for things like assetic:dump and cache:clear

    • [ ] Deploy Extension - #6

      This would be used to deploy to servers, or to git. It would be nice to be able to run a command (or more) on the server, if deploying to a server.

    • [x] Notify Extension - #7

      This would be used to either send a notification to the screen, or to send a notification to an email. Could be set up with AWS too, to use SNS/SES. (Possibly Growl)

    • [ ] Git Extension - #9

      Already started, but add logic for the reset of the commands

    • [ ] [Gush Extension][1] - #10

      Implement integration with gush for things like semver generating and auto-tagging

    • [ ] Database Extension - #12

      Add ability to interact with cli databases: mysql, postgres, mongo etc

    • [x] Services Extension - #11

      Add the ability to restart services using service or /etc/init.d/

    • [x] Import Yaml - #13

      Add the ability to import yaml files from other locations. Would allow for a parameters file in a global directory for things like username and password for SMTP

    • [x] Watch Extension - #14

      Add the ability to watch for file changes

    • [x] Bldr Blocks - #17

      Add the ability for users to use "blocks" (recipes) for bldr. Blocks would contain tasks to run, with calls. Mimicking a .bldr.yml file.

    enhancement 
    opened by aequasi 10
  • bin/bldr update removes all composer dependencies - composer.json not found?

    bin/bldr update removes all composer dependencies - composer.json not found?

    Bldr comes with predefined install and update commands that can not be overwritten in .bldr.yml.dist. Those commands execute composer install / composer update, but don't seem to find composer.json:

    # bin/bldr update
    Loading composer repositories with package information
    Updating dependencies                                 
      - Removing bldr-io/bldr (8.4.0)
      - Removing bldr-io/composer-plugin (1.0.6)
      - Removing dflydev/embedded-composer (dev-master)
      - Removing composer/composer (dev-master)
      - Removing composer/spdx-licenses (1.1.2)
      - Removing composer/semver (1.2.0)
    ...
    

    Basically, Bldr removes itself, which doesn't seem to be the intended behaviour. It probably looks for composer.json in bin instead of the main directory?

    My composer.json looks like this (only the important parts):

    {
      "autoload": {
        "psr-0": {
          "": "src/"
        }
      },
      "minimum-stability": "dev",
      "prefer-stable": true,
      "require": {
        "symfony/symfony": "2.8.*"
      },
      "require-dev": {
        "bldr-io/bldr": "@stable"
      },
      "config": {
        "bin-dir": "bin"
      }
    }
    
    opened by lastzero 8
  • allow setting environmental variables and resetting it after finished executaion with a call

    allow setting environmental variables and resetting it after finished executaion with a call

    prodInstall:
                description: runs composer install with SYMFONY_ENV=prod
                calls:
                    -
                        type: exec
                        executable: composer
                        failOnError: true
                        arguments:
                            - install
                            - --no-dev
    

    I want to execute like in the shell SYMFONY_ENV=prod composer install --no-dev and then remove the SYMFONY_ENV var. Right now i cannot find any way for doing this.

    I cannot set the env var permanently because i am just emulating the deploy on local but just setting the prod environment temporarily.

    opened by cordoval 7
  • [Windows] Background call fix

    [Windows] Background call fix

    | Q | A | | --- | --- | | Bug Fix? | y | | New Feature? | n | | BC Breaks? | n | | Deprecations? | n | | Tests Pass? | y | | Fixed Tickets | | | License | MIT | | Doc PR | |

    symfony/process 2.4.3 contains a vital fix for windows, before that, async processes were not working

    opened by Padam87 7
  • output in color

    output in color

    sometimes we run bldr and it runs inner programs that are console apps running and providing output in color however we see it in black and white.

    is there a way to enable the same color to show through the output by bldr?

    opened by cordoval 6
  • Add profile inheritance

    Add profile inheritance

    For instance, I have a profile called build which builds the site and a profile publish which will build and publish the website. It would be great if publish could simply add build as parent and add the publish task.

    enhancement easy pick 
    opened by wouterj 6
  • Allow not escaped commands

    Allow not escaped commands

    I need to use Bash variables in my commands, e.g.: git push https://${GH_TOKEN}@github.com/.... The ProcessBuilder escapes each argument, resulting in 'git' 'push' 'https://${GH_TOKEN}@gihub.com/'. This causes my build to fail, since the authentication is no longer correct.

    I propose to add an option called raw. When it's set to true, it'll simply execute implode(' ', $arguments) instead of using the ProcessBuilder.

    opened by wouterj 5
  • [Proposal] - Better exception handling

    [Proposal] - Better exception handling

    Invoking bldr with an empty .bldr.yml show this console output:

    $ bin/bldr build
    PHP Fatal error:  Uncaught exception 'Symfony\Component\Config\Definition\Exception\InvalidConfigurationException' with message 'The child node "name" at path "bldr" must be configured.' in /var/www/vendor/symfony/config/Symfony/Component/Config/Definition/ArrayNode.php:234
    Stack trace:
    #0 /var/www/vendor/symfony/config/Symfony/Component/Config/Definition/BaseNode.php(301): Symfony\Component\Config\Definition\ArrayNode->finalizeValue(Array)
    #1 /var/www/vendor/symfony/config/Symfony/Component/Config/Definition/Processor.php(37): Symfony\Component\Config\Definition\BaseNode->finalize(Array)
    #2 /var/www/vendor/symfony/config/Symfony/Component/Config/Definition/Processor.php(50): Symfony\Component\Config\Definition\Processor->process(Object(Symfony\Component\Config\Definition\ArrayNode), Array)
    #3 /var/www/vendor/bldr-io/bld in /var/www/vendor/symfony/config/Symfony/Component/Config/Definition/ArrayNode.php on line 234
    
    Fatal error: Uncaught exception 'Symfony\Component\Config\Definition\Exception\InvalidConfigurationException' with message 'The child node "name" at path "bldr" must be configured.' in /var/www/vendor/symfony/config/Symfony/Component/Config/Definition/ArrayNode.php on line 234
    
    Symfony\Component\Config\Definition\Exception\InvalidConfigurationException: The child node "name" at path "bldr" must be configured. in /var/www/vendor/symfony/config/Symfony/Component/Config/Definition/ArrayNode.php on line 234
    
    Call Stack:
        0.0004     236176   1. {main}() /var/www/vendor/bldr-io/bldr/bin/bldr:0
        0.0086     700552   2. Bldr\Application::create() /var/www/vendor/bldr-io/bldr/bin/bldr:39
        0.0086     701152   3. Bldr\Application->__construct() /var/www/vendor/bldr-io/bldr/src/Application.php:55
        0.0277    1507992   4. Bldr\Application->buildContainer() /var/www/vendor/bldr-io/bldr/src/Application.php:70
        0.0304    1857856   5. Bldr\DependencyInjection\ContainerBuilder->__construct() /var/www/vendor/bldr-io/bldr/src/Application.php:150
        0.0313    1923072   6. Bldr\DependencyInjection\ContainerBuilder->compile() /var/www/vendor/bldr-io/bldr/src/DependencyInjection/ContainerBuilder.php:35
        0.0521    3027432   7. Symfony\Component\DependencyInjection\ContainerBuilder->compile() /var/www/vendor/bldr-io/bldr/src/DependencyInjection/ContainerBuilder.php:53
        0.0534    3035008   8. Symfony\Component\DependencyInjection\Compiler\Compiler->compile() /var/www/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/ContainerBuilder.php:613
        0.0534    3037048   9. Symfony\Component\DependencyInjection\Compiler\MergeExtensionConfigurationPass->process() /var/www/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/Compiler.php:117
        0.0539    3042192  10. Bldr\DependencyInjection\BldrExtension->load() /var/www/vendor/symfony/dependency-injection/Symfony/Component/DependencyInjection/Compiler/MergeExtensionConfigurationPass.php:50
        0.0547    3081032  11. Symfony\Component\Config\Definition\Processor->processConfiguration() /var/www/vendor/bldr-io/bldr/src/DependencyInjection/BldrExtension.php:28
        0.0656    3644632  12. Symfony\Component\Config\Definition\Processor->process() /var/www/vendor/symfony/config/Symfony/Component/Config/Definition/Processor.php:50
        0.0657    3645904  13. Symfony\Component\Config\Definition\BaseNode->finalize() /var/www/vendor/symfony/config/Symfony/Component/Config/Definition/Processor.php:37
        0.0657    3646128  14. Symfony\Component\Config\Definition\ArrayNode->finalizeValue() /var/www/vendor/symfony/config/Symfony/Component/Config/Definition/BaseNode.php:301
    
    
    
    bug priority 
    opened by tassoevan 5
  • indented weird output

    indented weird output

    bldr is now indenting weirdly and also eating up the dots of phpunit .....F...E... is just .

    Local Development Profile -
    
    
    
    Running the testLocal job > Runs the PHPUnit Tests
    
        [exec] - Starting
    
            PHPUnit 4.2.6 by Sebastian Bergmann.
    
            Configuration read from /Users/cordoval/Sites/gush/phpunit.xml
    
              63 / 159 ( 39%)
             126 / 159 ( 79%)
            .
    
            Time: 3.54 seconds, Memory: 28.00Mb
    
            There were 6 failures:
    
            1) Gush\Tests\Command\PullRequest\PullRequestCreateCommandTest::opens_pull_request_with_arguments with data set #0 (array('gushphp', 'gush', 'issue-145', 'default', 'Test'))
            Expectation failed for method name is equal to <string:get> when invoked at sequence index 1
            Parameter 0 for invocation Gush\Config::get('[adapters][github_enterprise][base]') does not match expected value.
            Failed asserting that two strings are equal.
            --- Expected
            +++ Actual
            @@ @@
            -'[adapters][github_enterpr
    
    opened by cordoval 1
  • add ifs and unless to calls

    add ifs and unless to calls

    i had the need to run some profile in travis

    because i was running it for several versions 5.5 and hhvm

    i wanted to skip the secure task in the list of tasks under travis profile

    enhancement easy pick priority 
    opened by cordoval 6
  • [Fix] - 2 watchers simultaneously

    [Fix] - 2 watchers simultaneously

    Hi,

    I've tried to use 2 watchers simultaneously, without much success. Is there any way to do this?

    Thanks!

    bldr:
        name: Test
        profiles:
            dev:
                description: Development
                tasks:
                    - fosJSRouting
                    - assetic
                    - watch
        tasks:
            fosJSRouting:
                description: Dumps the routing
                calls:
                    -
                        type: exec
                        failOnError: true
                        executable: php
                        arguments:
                            - app/console
                            - fos:js-routing:dump
            assetic:
                description: Dumps assets
                calls:
                    -
                        type: exec
                        failOnError: true
                        executable: php
                        arguments:
                            - app/console
                            - assetic:dump
                            - --force
            watch:
                calls:
                    -
                        type: watch
                        src:
                            - { path: [app/cache/dev], files: appDevUrlGenerator.php }
                        task: fosJSRouting
                    -
                        type: watch
                        src:
                            - { path: web, files: [*.js, *.css, *.less], recursive: true }
                        task: assetic
    
    bug enhancement easy pick priority ready 
    opened by Padam87 12
Pure PHP task runner

task/task Got a PHP project? Heard of Grunt and Gulp but don't use NodeJS? Task is a pure PHP task runner. Leverage PHP as a scripting language, and a

null 184 Sep 28, 2022
Modern task runner for PHP

RoboTask Modern and simple PHP task runner inspired by Gulp and Rake aimed to automate common tasks: writing cross-platform scripts processing assets

Consolidation 2.6k Dec 28, 2022
A versatile and lightweight PHP task runner, designed with simplicity in mind.

Blend A versatile and lightweight PHP task runner, designed with simplicity in mind. Table of Contents About Blend Installation Config Examples API Ch

Marwan Al-Soltany 42 Sep 29, 2022
Modern and simple PHP task runner inspired by Gulp and Rake aimed to automate common tasks

RoboTask Modern and simple PHP task runner inspired by Gulp and Rake aimed to automate common tasks: writing cross-platform scripts processing assets

Consolidation 2.6k Jan 3, 2023
Yii application runner

Yii application runner The package defines Yii application runner. Requirements PHP 7.4 or higher. Installation The package could be installed with co

Yii Software 9 Oct 15, 2022
🐺 Asynchronous Task Queue Based on Distributed Message Passing for PHP.

?? Asynchronous Task Queue Based on Distributed Message Passing for PHP.

Ahmed 36 Aug 11, 2022
Flow Framework Task Scheduler

This package provides a simple to use task scheduler for Neos Flow. Tasks are configured via settings, recurring tasks can be configured using cron syntax. Detailed options configure the first and last executions as well as options for the class handling the task.

Flowpack 11 Dec 21, 2022
A PHP implementation of a bare task loop.

TaskLoop A PHP implementation of a bare task loop. Installation. $ composer require thenlabs/task-loop 1.0.x-dev Usage. The file example.php contains

ThenLabs 1 Oct 17, 2022
Manage your Laravel Task Scheduling in a friendly interface and save schedules to the database.

Documentation This librarian creates a route(default: /schedule) in your application where it is possible to manage which schedules will be executed a

Roberson Faria 256 Dec 21, 2022
Task Scheduling with Cron Job in Laravel

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

Shariful Islam 1 Oct 16, 2021
Laravel-Tasks is a Complete Build of Laravel 5.2 with Individual User Task Lists

An app of tasks lists for each individual user. Built on Laravel 5.2, using 5.2 authentication and middleware. This has robust verbose examples using Laravel best practices.

Jeremy Kenedy 26 Aug 27, 2022
xcron - the souped up, modernized cron/Task Scheduler for Windows, Mac OSX, Linux, and FreeBSD server and desktop operating systems.

xcron is the souped up, modernized cron/Task Scheduler for Windows, Mac OSX, Linux, and FreeBSD server and desktop operating systems. MIT or LGPL.

CubicleSoft 7 Nov 30, 2022
Laravel Cron Scheduling - The ability to run the Laravel task scheduler using different crons

Laravel Cron Scheduling Laravel Task Scheduling is a great way to manage the cron. But the documentation contains the following warning: By default, m

Sergey Zhidkov 4 Sep 9, 2022
Reset the live preset for debug settings with a task

Debug Settings Task This TYPO3 extension resets TYPO3 debug settings to the »live« preset on production using a scheduler task. Vision “Better safe th

webit! Gesellschaft für neue Medien mbH 1 Aug 15, 2022
Modern task runner for PHP

RoboTask Modern and simple PHP task runner inspired by Gulp and Rake aimed to automate common tasks: writing cross-platform scripts processing assets

Consolidation 2.6k Jan 3, 2023
Pure PHP task runner

task/task Got a PHP project? Heard of Grunt and Gulp but don't use NodeJS? Task is a pure PHP task runner. Leverage PHP as a scripting language, and a

null 184 Sep 28, 2022
Modern task runner for PHP

RoboTask Modern and simple PHP task runner inspired by Gulp and Rake aimed to automate common tasks: writing cross-platform scripts processing assets

Consolidation 2.6k Dec 28, 2022
A versatile and lightweight PHP task runner, designed with simplicity in mind.

Blend A versatile and lightweight PHP task runner, designed with simplicity in mind. Table of Contents About Blend Installation Config Examples API Ch

Marwan Al-Soltany 42 Sep 29, 2022
Modern and simple PHP task runner inspired by Gulp and Rake aimed to automate common tasks

RoboTask Modern and simple PHP task runner inspired by Gulp and Rake aimed to automate common tasks: writing cross-platform scripts processing assets

Consolidation 2.6k Jan 3, 2023
This is a Task Manager system for managing your task. You can categorize your tasks and upload music to the project And a whole host of other features

taskManager Login and register Each user can have their own task Categorize tasks by creating folders Edit and Delete Folders Search for Tasks Show nu

masoudharooni 11 May 22, 2022