Change record status: 
Project: 
Introduced in branch: 
8.x-5.x
Introduced in version: 
8.x-5.0-rc1
Description: 

Added support for Drush 9.x while still maintaining full support for Drush 8.x.

Summary

  • Created WebformCliService
  • Moved all webform drush commands to WebformCliService.
  • Preserved all 8.x command and validate hook names in WebformCliService
  • The `drush webform-generate` command was tweaked to support Drush 8.x and 9.x.
  • The `drush webform-libraries-download` command not longer uses Drush make (which was removed in 9.x).
  • Added docs/DRUSH-COMMANDS.md which includes manual tests for Drush 8.x and 9.x.
  • Created bridge Drush command methods in \Drupal\webform\Commands\WebformCommandsBase
  • Created `drush webform-generate-commands` which automatically generates 'webform.drush.inc' hooks and 'WebformCommands' annotation and methods.

New services and Generate files

  • drush/webform.drush.inc [GENERATED]
  • \Drupal\webform\Commands\WebformCommands [GENERATED]
  • \Drupal\webform\Commands\WebformCommandsBase
  • \Drupal\webform\Commands\WebformCliService
  • \Drupal\webform\Commands\WebformCliServiceInterface
  • docs/DRUSH-COMMANDS.md

Not completed (and to be handled in new tickets)

  • Use dependency injections in WebformCliService.
  • Dynamically get `drush webform-export` options from WebformSubmissionExporter::getDefaultExportOptions.
  • Add test coverage to WebformCliService.
  • Rename drush commands in WebformCliService.
  • Remove `drush webform-libraries-make` command.
  • Deprecate and the remove Drush 8.x support.

References

Impacts: 
Site builders, administrators, editors
Module developers
Updates Done (doc team, etc.)
Online documentation: 
Not done
Theming guide: 
Not done
Module developer documentation: 
Not done
Examples project: 
Not done
Coder Review: 
Not done
Coder Upgrade: 
Not done
Other: 
Not done