Coder Social home page Coder Social logo

bild's People

Contributors

greg-1-anderson avatar nerdstein avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

bild's Issues

MkDocs plugin

Some projects may want to use MkDocs for managing it's documentation. We could consider a Bild plugin for this.

Technical Architecture plugin

See issue #9 before proceeding

  1. List out modules
  2. Commands for grabbing info from Drupal or various other Bild modules to document parts of the project in an automated way

DrupalVM plugin

Create a plugin that integrates DrupalVM with your project

Evaluate plugin considerations

To make this tool flexible, I want the project to ship with a base "provisioner" and be extended discretionally thereafter.

The extensions ideally will be managed through Composer, in a similar way to how Robo extensions work. And, most importantly, all extensions should not reinvent the wheel. We should make use of existing Composer and Robo plugins and only write glue code that associates the existing plugins to the outcomes of Bild provisioning.

Links to review:
http://robo.li/extending/
https://github.com/boedah/robo-drush

[meta] Bild modules

Meta:
The command, code, and config organization of Bild is far too ad-hoc and thus is confusing.

Introducing "modules", akin to Drupal modules.

Impact:
-Need a "core" module for Project settings (name, etc) which are variables exposed to twig, organized by module
-Install options and arguments for module, populate to broader Twig namespace
-Configuration stubs (twig)
-Documentation stubs (twig)
-Project-level dependencies (no commands will work)
-Command-level soft dependencies to other modules (for manifest "recipes" that have optional functionality ) and a weighting algorithm
-Changes to the installer, make it interactive! Ask for "registered" repos with overridable commands, ask for which non-core Bild sponsored modules people want (automated testing, vm, bowline, etc)
-Changes to the Install Project command, possibly deprecate Initialize project command
-Install Profile (a separate Git repo with install.bild.yml file with only hardcoded settings and annotated modules)
-Custom modules (separate Git repo with some code-level structure)
-Changes to engine.php, only load "relevant" commands both by module and by command-level soft dependency

Steps:
-Branch for current code, 0.x. New work will go in 1.x
-Some sort of plugin system for modules
-Module metadata (dependencies)
-Unclear impact to overriding commands, need more details and research
-Evaluate Drupal modules and generate make file, Composer, node, ruby
-Evaluate module level "install" and "teardown" command reference

Evaluate Robo as task runner

Well, I think what Robo could add might be some of the following

grugnog [12:54 PM]
Community

grugnog [12:55 PM]
Less code to maintain (there are existing task runners for several things bldr provides)

grugnog [12:55 PM]
Sequencing - i.e. a concise way to define a series of tasks to run, together with the configuration needed to run them

grugnog [12:56 PM]
Output integration - i.e. capture and (to some extent) standardize the output from diverse task backends

grugnog [12:57 PM]
Built in ability to manage background/parallel tasks (e.g. bringing up phantomjs to run browser tests against) (edited)

grugnog [12:58 PM]
Unit tests for all it's tasks

Based on Symfony.

Managing configuration from plugins

How does a plugin manage / update Bild configuration? Or, does it not?

Ideally, there will be the ability for a plugin to say what settings are needed from the bild.yml file.

Maybe this is managed through documentation only with sane defaults if the configuration is not set.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.