acquia / blt

Acquia's toolset for automating Drupal 8 and 9 development, testing, and deployment.
https://docs.acquia.com/blt/
GNU General Public License v2.0
442 stars 394 forks source link

Merged plugin installed globally causes "merge-plugin: No files matched required 'vendor/acquia/blt/composer.required.json'" error. #1500

Closed gideoncresswell closed 7 years ago

gideoncresswell commented 7 years ago

My system information:

Output of blt doctor:

blt > doctor:
Changed current directory to /home/vagrant/.composer
+----------------------+----------------------------------------------------------------------------------+
| Property             | Value                                                                            |
+----------------------+----------------------------------------------------------------------------------+
| %paths               |                                                                                  |
|  - %root             | /var/www/MYSITE/docroot                                                          |
|  - %site             | sites/default                                                                    |
|  - %modules          | modules                                                                          |
|  - %themes           | themes                                                                           |
|  - %config-vcs       | /var/www/MYSITE/docroot/../config/default                                        |
|  - %config-sync      | /var/www/MYSITE/config/default                                                   |
|  - %files            | sites/default/files                                                              |
|  - %private          | /var/www/MYSITE/files-private                                                    |
|  - %temp             | /tmp                                                                             |
| admin-theme          | MYTHEME                                                                          |
| blt-version          | 8.8.3                                                                            |
| bootstrap            | Successful                                                                       |
| config-sync          | /var/www/MYSITE/config/default                                                   |
| config-vcs           | /var/www/MYSITE/docroot/../config/default                                        |
| db-driver            | mysql                                                                            |
| db-hostname          | localhost                                                                        |
| db-name              | drupal                                                                           |
| db-password          | drupal                                                                           |
| db-port              | 3306                                                                             |
| db-status            | Connected                                                                        |
| db-username          | drupal                                                                           |
| drupal-settings-file | sites/default/settings.php                                                       |
| drupal-version       | 8.2.7                                                                            |
| drush-alias-files    | /var/www/MYSITE/docroot/../drush/site-aliases/aliases.drushrc.php                |
|                      | /var/www/MYSITE/docroot/../drush/site-aliases/example.acsf.aliases.drushrc.      |
|                      | php                                                                              |
|                      | /var/www/MYSITE/docroot/../drush/site-aliases/example.local.aliases.drushrc      |
|                      | .php                                                                             |
| drush-conf           | /var/www/MYSITE/drush/drushrc.php                                                |
| drush-script         | /var/www/MYSITE/vendor/drush/drush/drush.php                                     |
| drush-temp           | /tmp                                                                             |
| drush-version        | 8.1.11                                                                           |
| files                | sites/default/files                                                              |
| install-profile      | lightning                                                                        |
| local-settings       | /var/www/MYSITE/docroot/sites/default/settings/local.settings.php                |
| modules              | modules                                                                          |
| php-bin              | /usr/bin/php                                                                     |
| php-conf             | /etc/php/5.6/cli/php.ini                                                         |
| php-os               | Linux                                                                            |
| private              | /var/www/MYSITE/files-private                                                    |
| root                 | /var/www/MYSITE/docroot                                                          |
| site                 | sites/default                                                                    |
| temp                 | /tmp                                                                             |
| theme                | MYTHEME                                                                          |
| themes               | themes                                                                           |
| uri                  | default                                                                          |
| user                 |                                                                                  |
+----------------------+----------------------------------------------------------------------------------+
+--------------------------+---------------------------------------------------------------------------------+
| Check                    | Outcome                                                                         |
+--------------------------+---------------------------------------------------------------------------------+
| checkDocrootExists       | Found docroot.                                                                  |
| checkCoreExists          | Drupal core exists                                                              |
| checkSettingsFile        | BLT settings are included in settings file.                                     |
| checkLocalSettingsFile   | Found your local settings file.                                                 |
| checkLocalDrushFile      | Local drushrc file does not exist.                                              |
|                          | Create /var/www/MYSITE/docroot/sites/default/local.drushrc.php.                 |
|                          | Run `blt setup:drush:settings` to generate it automatically, or run `blt setup` |
|                          | to run the entire setup process.                                                |
| checkFileSystem:%files   | Public files directory is writable.                                             |
| checkFileSystem:%private | Private files directory does not exist.                                         |
|                          |                                                                                 |
|                          | Create /var/www/MYSITE/files-private.                                           |
|                          | Installing Drupal will create this directory for you.                           |
|                          | Run `blt setup:drupal:install` to install Drupal, or run `blt setup` to run the |
|                          | entire setup process.                                                           |
|                          | Otherwise, run `mkdir -p /var/www/MYSITE/files-private`.                        |
|                          |                                                                                 |
| checkFileSystem:%temp    | Temporary files directory is writable.                                          |
| checkDbConnection        | Connected to database.                                                          |
| checkDrupalBootstrapped  | Bootstrapped Drupal via drush.                                                  |
| checkDrupalInstalled     | Drupal is installed.                                                            |
| checkCaching:page        | Drupal cache is disabled.                                                       |
| checkCaching:css         | CSS preprocessing is disabled.                                                  |
| checkCaching:js          | JS preprocessing is disabled.                                                   |
| checkNvmExists           | NVM does not exist.                                                             |
|                          |                                                                                 |
|                          | It is recommended that you use NVM to manage multiple versions of NodeJS on one |
|                          | machine.                                                                        |
|                          | Instructions for installing NVM can be found at:                                |
|                          |   https://github.com/creationix/nvm#installation                                |
| checkDevDesktop          | DevDesktop usage is enabled, but variables_order does support environmental     |
|                          | variables.                                                                      |
|                          |                                                                                 |
|                          | Define variables_order = "EGPCS" in /etc/php/5.6/cli/php.ini                    |
| checkCiConfig            | Git remotes are set in project.yml.                                             |
| checkComposer:require    | acquia/blt is in composer.json's require object.                                |
| checkComposer:plugins    | hirak/prestissimo plugin for composer is installed.                             |
| checkBehat:exists        | Behat local settings file exists.                                               |
| checkBehat:uri           | base_url in tests/behat/local.yml does not match the site URI.                  |
|                          |   Behat base_url is set to "http://local.MYSITE.com".                           |
|                          |   Drush site URI is set to default.                                             |
| checkProjectYml:keys     | project.yml has no deprecated keys.                                             |
| checkPhpDateTimezone     | PHP setting for date.timezone is correctly set                                  |
+--------------------------+---------------------------------------------------------------------------------+

BUILD FINISHED; 4.9886 seconds

When I run this command:

blt deploy:build

I get the following output:

blt > deploy:composer:install:
     [echo] Rebuilding composer dependencies without require-dev.
     [copy] Copying 2 files to /Users/<MYUSERNAME>/Sites/devdesktop/MYSITE/deploy

  [Wikimedia\Composer\Merge\MissingFileException]
  merge-plugin: No files matched required 'vendor/acquia/blt/composer.required.json'

BUILD FAILED/Users/<MYUSERNAME>/Sites/devdesktop/MYSITE/./vendor/acquia/blt/phing/tasks/deploy.xml:196:8: /Users/<MYUSERNAME>/Sites/devdesktop/MYSITE/./vendor/acquia/blt/phing/tasks/deploy.xml:207:187: Task exited with code 1
; 17.0093 seconds

And I expected this to happen: Expected the deploy to be created. I have exactly the same VM as other developers in my team and exactly same Drupal code base from git. They can run without issues.

grasmash commented 7 years ago

What are the contents of vendor/acquia/blt ?

gideoncresswell commented 7 years ago
➜  blt git:(feature/add_blt) ✗ ll -al
total 808
drwxr-xr-x  38 gideoncresswell  wheel   1.3K 11 May 16:20 .
drwxr-xr-x   3 gideoncresswell  wheel   102B 11 May 10:15 ..
-rw-r--r--   1 gideoncresswell  wheel   419B 19 Apr 20:07 .editorconfig
lrwxrwxrwx   1 gideoncresswell  wheel    23B 11 May 10:17 .gitattributes -> template/.gitattributes
-rw-r--r--   1 gideoncresswell  wheel    72B 19 Apr 20:07 .github_changelog_generator
-rw-r--r--   1 gideoncresswell  wheel   1.8K 19 Apr 20:07 .gitignore
-rw-r--r--   1 gideoncresswell  wheel     6B 19 Apr 20:07 .ruby-version
-rw-r--r--   1 gideoncresswell  wheel   3.4K 19 Apr 20:07 .travis.yml
-rw-r--r--   1 gideoncresswell  wheel   150K 19 Apr 20:07 CHANGELOG.md
-rw-r--r--   1 gideoncresswell  wheel   2.9K 19 Apr 20:07 CONTRIBUTING.md
-rw-r--r--   1 gideoncresswell  wheel   3.8K 19 Apr 20:07 INSTALL.md
-rw-r--r--   1 gideoncresswell  wheel   278B 19 Apr 20:07 ISSUE_TEMPLATE.md
-rw-r--r--   1 gideoncresswell  wheel    18K 19 Apr 20:07 LICENSE.txt
-rw-r--r--   1 gideoncresswell  wheel   344B 11 May 10:17 PATCHES.txt
-rw-r--r--   1 gideoncresswell  wheel    33B 19 Apr 20:07 PULL_REQUEST_TEMPLATE.md
-rw-r--r--   1 gideoncresswell  wheel   4.9K 19 Apr 20:07 README.md
-rw-r--r--   1 gideoncresswell  wheel   2.5K 19 Apr 20:07 RELEASE.md
-rw-r--r--   1 gideoncresswell  wheel   1.8K 19 Apr 20:07 acquia-pipelines.yml
drwxr-xr-x   6 gideoncresswell  wheel   204B 19 Apr 20:07 bin
drwxr-xr-x   4 gideoncresswell  wheel   136B 19 Apr 20:07 blt-project
drwxr-xr-x   3 gideoncresswell  wheel   102B 19 Apr 20:07 build
-rw-r--r--   1 gideoncresswell  wheel   2.0K 19 Apr 20:07 composer.json
-rw-r--r--   1 gideoncresswell  wheel   137K 19 Apr 20:07 composer.lock
-rw-r--r--   1 gideoncresswell  wheel   1.8K 19 Apr 20:07 composer.required.json
-rw-r--r--   1 gideoncresswell  wheel   347B 19 Apr 20:07 composer.suggested.json
drwxr-xr-x   6 gideoncresswell  wheel   204B 19 Apr 20:07 drush
-rw-r--r--   1 gideoncresswell  wheel   3.2K 19 Apr 20:07 id_rsa_blt.enc
-rw-r--r--   1 gideoncresswell  wheel   3.2K 19 Apr 20:07 id_rsa_blted8.enc
-rw-r--r--   1 gideoncresswell  wheel   1.5K 19 Apr 20:07 index.md
-rw-r--r--   1 gideoncresswell  wheel   2.0K 19 Apr 20:07 mkdocs.yml
drwxr-xr-x   8 gideoncresswell  wheel   272B 19 Apr 20:07 phing
-rw-r--r--   1 gideoncresswell  wheel   421B 19 Apr 20:07 phpunit.xml.dist
drwxr-xr-x  32 gideoncresswell  wheel   1.1K 19 Apr 20:07 readme
drwxr-xr-x  12 gideoncresswell  wheel   408B 19 Apr 20:07 scripts
drwxr-xr-x  17 gideoncresswell  wheel   578B 19 Apr 20:07 settings
drwxr-xr-x   8 gideoncresswell  wheel   272B 19 Apr 20:07 src
drwxr-xr-x  15 gideoncresswell  wheel   510B 19 Apr 20:07 template
drwxr-xr-x   3 gideoncresswell  wheel   102B 19 Apr 20:07 tests

When I originally ran blt vm I got the same error too.

gideoncresswell commented 7 years ago

I had "composer-merge-plugin" installed globally. I removed it composer global remove wikimedia/composer-merge-plugin and it seems to build.

Therefore I think that's the issue.