{ "info": { "author": "David Danier", "author_email": "danier@team23.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "Intended Audience :: System Administrators", "License :: OSI Approved :: BSD License", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX", "Operating System :: POSIX :: Linux", "Operating System :: Unix", "Programming Language :: Python", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development", "Topic :: Software Development :: Build Tools", "Topic :: System :: Systems Administration" ], "description": "![b5 ready](assets/badges/b5_ready.png)\n\n# b5 Task Runner\n\nb5 is the central task runner for all projects of our agency (TEAM23 - www.team23.de). It tries so be as simple\nas possible while empowering you to write your own tasks, extend existing ones and use b5 for all of the everyday\nproject jobs. \n\n## Basic usage and concept\n\n`b5 {taskname}` will look for a file called [`Taskfile`](https://github.com/team23/b5/blob/master/docs/02_Taskfile_format.md) found under build/ in your project\nroot. It will then execute the function named `task:{taskname}` inside the Taskfile (which is a normal bash script).\nThis means you may call `b5 install` to have the function `task:install` run.\n\nThe basic idea of b5 is to allow you to easily put your daily shell jobs into the Taskfile and provide a\ncommon schema for running these tasks. So `b5 css` for example will always build the CSS files for your\nproject regardless of the CSS preprocessor used in this particular project (could be: less, sass, \u2026). As b5\nuses bash scripting as the Taskfile format it is easy to understand and enhance.\n\nb5 in addition provides some modules to ease the usage of some common tools used in web development (like\n[npm](https://github.com/team23/b5/blob/master/docs/modules/npm.md), [composer](https://github.com/team23/b5/blob/master/docs/modules/composer.md), [pipenv](https://github.com/team23/b5/blob/master/docs/modules/pipenv.md),\n[docker](https://github.com/team23/b5/blob/master/docs/modules/docker.md), \u2026). In addition it tries to already define some\n[common task names](https://github.com/team23/b5/blob/master/docs/03_common_tasks.md) to introduce a good convention for your task naming schema. This\nwill allow new developers to get on working on the projects faster - not needing to care to much about the\nproject setup itself.\n\nYou may pass parameters to your tasks like `b5 some_task some_parameter` and use normal bash parameter handling\nto use these parameters (`$1`, or better `${1}`). Please note that b5 will abort when accessing a non existent\nparameter, use bash default values when necessary (`${1:-default}`). \n\n**Hint:** You may add a file called Taskfile.local (`build/Taskfile.local`) for all your personal tasks. Make\nsure to never add this file to git. Please be sure to add this file to your .gitignore. Otherwise you might\ninterfere with the local Taskfile of your colleges.\n\n## Quick start\n\nInstall b5 using `pipsi install b5` or `pip install b5` (For Mac OS X you may use `brew install b5` after\nadding our tap). See [detailed installation instructions](https://github.com/team23/b5/blob/master/docs/00_install.md).\n\n**Note for my TEAM23 colleagues:** Please make sure to install the\n[additional dependencies](https://github.com/team23/b5/blob/master/docs/00_install.md#additional-dependencies).\n\n### Starting your project\n\n```bash\nb5-init example-project\ncd example-project\n# start working on the new project\n```\n\n**Note:** You may use `b5-init -s $SKELETON example` to initialize the project using an skeleton. By default\nb5 used the \"basic\" skeleton. See [project initialization](https://github.com/team23/b5/blob/master/docs/06_project_init.md) for more details.\n\n### Defining your tasks (build/Taskfile)\n\nb5 initialized your project with an example Taskfile (see `build/Taskfile`). For adding new tasks just\nwrite bash functions prefixed with `task:`, like:\n\n```bash\n#!/usr/bin/env bash\n# b5 Taskfile, see https://git.team23.de/build/b5 for details\n\ntask:make_it_happen() {\n echo \"Yeah, it happened\"\n}\n```\n\n### Running your tasks\n\nNow you can use `b5 make_it_happen` and your code inside the function will run. As this code is a simple\nbash script you may use your normal command line tools. Feel free to use gulp, grunt, fabric, \u2026 for more\ncomplex task excution - and call these using your Taskfile.\n\n**Note:** The Taskfile is always executed inside the \"run-path\", which defaults to `build/`. Make\nsure to switch path, when neccessary. I recommend using a subshell (see\n[\"( \u2026 )\" subshell syntax](http://www.gnu.org/software/bash/manual/html_node/Command-Grouping.html)) when\ndoing so.\n\n## Going further\n\nNow you set up a simple example project including an example Taskfile. The Taskfile is the central part of\nthe b5 task runner which will include the calls to all of the provided tasks. Most of the tasks will\ncall external tools like, gulp or fabric. This is the intended behavior.\n\nSee [detailed installation instruction](https://github.com/team23/b5/blob/master/docs/00_install.md) for some more details the installation of b5.\n\nSee [core concepts](https://github.com/team23/b5/blob/master/docs/01_concepts.md) for some more details about the b5 concepts.\n\nSee [Taskfile format](https://github.com/team23/b5/blob/master/docs/02_Taskfile_format.md) for more details on how to write your Taskfile.\n\nSee [common tasks](https://github.com/team23/b5/blob/master/docs/03_common_tasks.md) for information about which tasks your Taskfile needs\nto provide and what these tasks should do.\n\nSee [Configuration](https://github.com/team23/b5/blob/master/docs/04_config.md) for about how to add configuration to the build process and how\nto handle local configuration.\n\nSee [modules](https://github.com/team23/b5/blob/master/docs/05_modules.md) for looking further into modules b5 already provides for a healthy\nproject setup.\n\nSee [project initialization](https://github.com/team23/b5/blob/master/docs/06_project_init.md) for more information about how to `b5-init` a project.\n\n## b5 logo\n\nYou may use the b5 logo when referring to b5: \n![b5 Logo](assets/logo_small.png) \n(see [assets/](assets/) for other formats)\n\nAlso feel free to add a b5 badge to your project after you made it \"b5 ready\": \n![b5 ready](assets/badges/b5_ready.png) \n(see [assets/badges/](assets/badges/) for other formats)", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/team23/b5", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "b5", "package_url": "https://pypi.org/project/b5/", "platform": "", "project_url": "https://pypi.org/project/b5/", "project_urls": { "Homepage": "https://github.com/team23/b5" }, "release_url": "https://pypi.org/project/b5/1.1.4/", "requires_dist": null, "requires_python": "", "summary": "b5 - simple and sane task runner", "version": "1.1.4" }, "last_serial": 5276607, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "77cbe1b917559227285e21ce091fb566", "sha256": "959e788fd504b5b44caf60ed722e0c2ab0fd5f13be6bee584131615da4933f20" }, "downloads": -1, "filename": "b5-1.0.1.tar.gz", "has_sig": false, "md5_digest": "77cbe1b917559227285e21ce091fb566", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23915, "upload_time": "2018-11-24T09:23:19", "url": "https://files.pythonhosted.org/packages/5b/9d/8ab805722233326be741a33a11235581f4ddb14249ab668c76d32906737a/b5-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "836a8b59dfaba808288cebf054efdc1c", "sha256": "5748f1d77e95f977d3c162e9945cf92c0a70b63912c08ac9765ff898ba49c1ff" }, "downloads": -1, "filename": "b5-1.0.2.tar.gz", "has_sig": false, "md5_digest": "836a8b59dfaba808288cebf054efdc1c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24380, "upload_time": "2019-01-06T16:28:11", "url": "https://files.pythonhosted.org/packages/71/b1/dde3ccd16bf44aaaf8efc67427290ad7efbbfc3caae6f80e257fe6638f6c/b5-1.0.2.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "58afe7a99c271d065ca61fd3ec6e99bc", "sha256": "0e8f64db8bbeb594a77314e39a8a6beb963db52af3ab5e56b6109373a5eebd0c" }, "downloads": -1, "filename": "b5-1.1.0.tar.gz", "has_sig": false, "md5_digest": "58afe7a99c271d065ca61fd3ec6e99bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24988, "upload_time": "2019-02-16T16:01:06", "url": "https://files.pythonhosted.org/packages/3f/ce/ef11e11be66e0cc48581ef66cc166625cd8e8b65a40566f0f4a44a876f71/b5-1.1.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "514a1d1058d6f8081563ad87597fdaf5", "sha256": "cb83111293ecff2f20fe4b8638c48f0d99d7c42f146d95b666da3f930af83e0a" }, "downloads": -1, "filename": "b5-1.1.1.tar.gz", "has_sig": false, "md5_digest": "514a1d1058d6f8081563ad87597fdaf5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24998, "upload_time": "2019-02-16T16:08:55", "url": "https://files.pythonhosted.org/packages/0d/d6/63ce4f43f10479884396ecf24afa87e689ec762a947bd286350f4b2965f2/b5-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "9a744f5b7fedeb07c9f7a067ad317071", "sha256": "150563b54d7cdd25491c3a4a0eb08c0078135f560359617cda88a9a3437882dd" }, "downloads": -1, "filename": "b5-1.1.2.tar.gz", "has_sig": false, "md5_digest": "9a744f5b7fedeb07c9f7a067ad317071", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25316, "upload_time": "2019-04-07T15:45:59", "url": "https://files.pythonhosted.org/packages/74/06/67029bbb5ad909c503b33809c05c976751225aea40e283a6753975288153/b5-1.1.2.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "7f726934b6456c39077b2d61267a9a5b", "sha256": "b725932a92f6e6aad73a3fa15ae0aaf3d5191064e825fbdfc84319c45a23b2a8" }, "downloads": -1, "filename": "b5-1.1.4.tar.gz", "has_sig": false, "md5_digest": "7f726934b6456c39077b2d61267a9a5b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25849, "upload_time": "2019-05-16T09:38:11", "url": "https://files.pythonhosted.org/packages/1e/f8/99eaced3eef2886a2ba703aaa292bd87380851c6a20b525d8e7956fa49b6/b5-1.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7f726934b6456c39077b2d61267a9a5b", "sha256": "b725932a92f6e6aad73a3fa15ae0aaf3d5191064e825fbdfc84319c45a23b2a8" }, "downloads": -1, "filename": "b5-1.1.4.tar.gz", "has_sig": false, "md5_digest": "7f726934b6456c39077b2d61267a9a5b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 25849, "upload_time": "2019-05-16T09:38:11", "url": "https://files.pythonhosted.org/packages/1e/f8/99eaced3eef2886a2ba703aaa292bd87380851c6a20b525d8e7956fa49b6/b5-1.1.4.tar.gz" } ] }