-
-
Notifications
You must be signed in to change notification settings - Fork 68
Drupal 9 Readiness
Drupal 9 is planned to be released June 3, 2020. This document is to help explain how drupal-check
can help you get ready!
Great! Every contribution helps make Drupal awesome!
An easy place to get started is to look at issues tagged with Drupal 9 compatibility
and Novice
, see https://www.drupal.org/project/issues/search?issue_tags_op=all+of&issue_tags=Drupal+9+compatibility%2C+Novice
Follow the Novice code contribution guide for more details.
During contribution sprints, contributors helped generate reports on over 300 of the most popular modules! You can see a list here: https://www.drupal.org/project/issues/search?issue_tags_op=all+of&issue_tags=Drupal+9+compatibility
If you're looking for tips on how to resolve some of the issues, see: Deprecation Error Solutions
Want to help enable contributors?
You can break out the drupal-check issues created during MidCamp into smaller tasks and tag them with Drupal 9 compatibility
and Novice
.
How can you run the report yourself?
-
Go to an environment that has PHP 7.2 or higher
-
Download the drupal-check executable:
curl -O -L https://github.com/mglaman/drupal-check/releases/download/latest/drupal-check.phar
-
Move it to a directory in your path:
mv drupal-check.phar /usr/local/bin/drupal-check chmod +x /usr/local/bin/drupal-check
-
Create a clean Drupal directory:
composer create-project drupal-composer/drupal-project:8.x-dev clean-drupal --no-interaction --stability=dev
-
Ensure only dev versions are cloned for modules in this dir:
cd clean-drupal composer config prefer-stable false
-
Install your module into the directory:
composer require drupal/your-module-name
-
Run the analysis:
drupal-check web/modules/contrib/your-module-name
If you run into an issue, please submit it to: https://github.com/mglaman/drupal-check/issues
What if I have no compatibility issues?
You can add this drupalci.yml
file to indicate you are Drupal 9 ready!
https://gist.github.com/josephdpurcell/1c78367cedc15a075e4231a5a685ced9
This will ensure that deprecation errors are not suppressed during test runs on Drupal CI.
If you have a Drupal 8 project you want to get ready for Drupal 9 you can use this tool to see how close you are to upgrading.
Fist, ensure you are running the latest version of Drupal 8. Second, ensure you are running the latest versions of each of your contrib modules. Then, follow the steps below to run a report on your project:
-
Go to an environment that has PHP 7.2 or higher
-
Download the drupal-check executable:
curl -O -L https://github.com/mglaman/drupal-check/releases/download/latest/drupal-check.phar
-
Move it to a directory in your path:
mv drupal-check.phar /usr/local/bin/drupal-check chmod +x /usr/local/bin/drupal-check
-
Copy your Drupal 8 project code locally
-
Run the analysis:
drupal-check docroot/modules/custom
If you have no issues then you at least know your modules are Drupal 9 ready! Now, to make sure your contrib modules are also Drupal 9 ready, you can run this command:
drupal-check docroot/modules/contrib
There are many compatibility improvements being made during DrupalCon Seattle 2019 on contrib modules, so consider waiting before checking contrib modules.
If you run into an issue with the drupal-check tool, please submit it to: https://github.com/mglaman/drupal-check/issues. If you find issues with contrib modules, look at issues tagged "Drupal 9 compatibility" on the module's project page.