ua_drupal / ua_quickstart_builder
Project template for Drupal 8 sites built with the UA QuickStart distribution.
8.x-dev
2017-04-28 23:40 UTC
Requires
- composer/installers: ^1.0
- cweagans/composer-patches: dev-master
- drupal-composer/drupal-scaffold: ^2.2
- ua_drupal/ua_quickstart: 8.x-dev
Requires (Dev)
- behat/behat: ^3.1
- behat/mink: ~1.6
- behat/mink-goutte-driver: ~1.2
- drupal/drupal-extension: ^3.1
- jcalderonzumba/gastonjs: ~1.0.2
- jcalderonzumba/mink-phantomjs-driver: ~0.3.1
- mikey179/vfsstream: ~1.2
- phpunit/phpunit: ~4.8
- symfony/css-selector: 2.7.*
This package is auto-updated.
Last update: 2020-06-07 10:50:41 UTC
README
This is a Composer-based installer for the UA QuickStart Drupal distribution. Welcome to the future!
Get Started
You will need the following installed:
When you have those, run this command:
composer create-project ua_drupal/ua_quickstart_builder:8.x-dev ~/Sites/ua_quickstart --no-interaction -s dev
Composer will create a new directory called ua_quickstart containing a `
docroot`
directory with a full UA QuickStart code base therein. You can then install it like you would any other Drupal site.
Maintenance
Let this handy table be your guide:
| Task | Drush | Composer |
|-------------------------------------------------|-----------------------------------------------|---------------------------------------------------|
| Installing a contrib project (latest version) | ```drush pm-download PROJECT``` | ```composer require drupal/PROJECT:8.*``` |
| Installing a contrib project (specific version) | ```drush pm-download PROJECT-8.x-1.0-beta3``` | ```composer require drupal/PROJECT:8.1.0-beta3``` |
| Updating all contrib projects and Drupal core | ```drush pm-update``` | ```composer update``` |
| Updating a single contrib project | ```drush pm-update PROJECT``` | ```composer update drupal/PROJECT``` |
| Updating Drupal core | ```drush pm-update drupal``` | ```composer update drupal/core``` |
Not too tricky, eh?
The magic is that Composer, unlike Drush, is a *dependency manager*. If module ```foo-8.x-1.0``` depends on ```baz-8.x-3.2```, Composer will not let you update baz to ```8.x-3.3``` (or downgrade it to ```8.x-3.1```, for that matter). Drush has no concept of dependency management. If you've ever accidentally hosed a site because of dependency issues like this, you've probably already realized how valuable Composer can be.
But to be clear: **you still need Drush**. Tasks such as database updates (```drush updatedb```) are still firmly in Drush's province, and it's awesome at that stuff. This installer will install a copy of Drush (local to the project) in the ```bin``` directory.
**Composer is only responsible for maintaining the code base**.
## Source Control
If you peek at the ```.gitignore``` we provide, you'll see that certain directories, including all directories containing contributed projects, are excluded from source control. This might be a bit disconcerting if you're newly arrived from Planet Drush, but in a Composer-based project like this one, **you SHOULD NOT commit your installed dependencies to source control**.
When you set up the project, Composer will create a file called ```composer.lock```, which is a list of which dependencies were installed, and in which versions. **Commit ```composer.lock``` to source control!** Then, when your colleagues want to spin up their own copies of the project, all they'll have to do is run ```composer install```, which will install the correct versions of everything in ```composer.lock```.