BLT

BLT tooling

Note

Acquia will end support for BLT on December 31, 2024. For more information on how to replace your BLT implementation with updated functionality, see You don’t need BLT on Acquia Cloud.

The following is a list of operating system-level tools that BLT uses.

Not all of these are absolutely required. Some are required only when using certain features of BLT, such as Selenium-based testing integration.

System-level packages

For installation instructions, see Installing BLT.

Tool

Required

Purpose

PHP

Yes

Required by several tools, including Composer, Drush, Robo, and Drupal. BLT requires PHP 7.4 or higher, PHP 8.0 or 8.1 recommended if using BLT 13.x.

Composer

Yes

Used to manage project-level dependencies for BLT and Drupal. Composer is the default package manager for the PHP community, and is also used by Drupal core.
For information about using Composer in conjunction with BLT, see Using Composer to manage dependencies.
You can update to the latest version of Composer by using the following command: composer self-update

Git

Yes

A distributed version control system. It is the VCS tool for the Drupal community.

Drush

Yes

Command line shell and Unix scripting interface for Drupal. BLT uses Drush to communicate with Drupal from the command line.
Drush is both a system level and a project level dependency, which is unusual. It is possible to have one version of Drush on your computer and a different version of Drush used in your project directory. This is useful but frequently causes confusion.
Drush uses a special launcher script to look for a copy of Drush that is specific to your project. BLT ships such project-level drush binary in the vendor/bin directory of your project. Your global Drush installation defers to the project level binary when executing drush from a BLT project directory.

Java

No

Required by Selenium to communicate with Chrome. Selenium is one option for executing JavaScript Behat tests. For more information, see Automated testing.

ChromeDriver

No

Required by Selenium to communicate with Chrome. Selenium is one option for executing JavaScript Behat tests. For more information, see Automated testing.

Yarn

No

A package manager for JavaScript.

nvm

No

Manages multiple versions of NodeJS on a single computer.

Validation and testing tools

The following tools are installed by BLT with Composer:

  • Behat

  • PHPUnit

  • PHP Code Sniffer

Local environments

For more information, see Local development with BLT.

Continuous integration and continuous delivery solutions

Although you can use any continuous integration (CI) or continuous delivery (CD) tool with BLT, Acquia recommends that you use Code Studio (which requires no additional configuration) or Acquia Pipelines which Acquia provides default configuration for:

For more information, see Continuous integration.

Hosting

Although you can host a BLT project in any Drupal-compatible hosting environment, specific support is provided for Acquia (including Site Factory) with the following services:

  • Providing Cloud hooks (and/or Factory hooks).

  • Providing Acquia-specific default configuration in settings.php.

  • Structuring project directories to match Cloud Platform repository’s default structure.

Headless Chrome

Headless Chrome is used by default for Behat tests, although you can also use Selenium or PhantomJS.

Note for Docker users

Connections to Headless Chrome will occasionally time out in containerized environments, such as Docker. For discussion and a possible solution, see this issue on GitHub.