Problem/Motivation
The Drupal core Toolbar module is getting deprecated in Drupal 11.4 (or 11.5) and removed in 12.
To ensure long term support, the core module is moved to the toolbar contrib module, see:
- #3484850: [meta] Tasks to deprecate Toolbar module
- #3476882: [Policy] Move Toolbar module to contrib
- Deprecated and obsolete extensions
This is particularly important for any modules that depend on the Toolbar module, such as Admin Toolbar, so they could also make the necessary changes to provide support for D12.
Steps to reproduce
Proposed resolution
The core toolbar module with its complete history was imported with the command:
git filter-repo --subdirectory-filter core/modules/toolbar/
into the 1.x branch in contrib Toolbar module's repo:
https://git.drupalcode.org/project/toolbar/-/commits/1.x
(git filtered repo, added remotes and pushed)
The overall goal is to create a new dev release that could be added as a composer dependency in other projects so they could also be updated:
Among some of the expected changes:
- Add composer.json
- Add .gitlab-ci.yml
- Remove
VERSIONinformation in YAML files such as libraries, info, etc... - Add:
core_version_requirement: '^11.3 || ^12' - Clean-up the issue queue: Close all 6.x outdated issues.
- Create a new issue to add README.md and a basic logo.png
- Create the new 1.x-dev release.
- Create follow-up issue to support D12 Hooks, Attributes, etc...
- Other potential changes.
Remaining tasks
User interface changes
API changes
Data model changes
Issue fork toolbar-3607275
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #4
dydave commentedTurns out it was not really a good idea to prepare the toolbar code and release in advance....
I synchronized the Toolbar module in July, then added a custom commit to prepare the module for contrib.
Then I created release toolbar-1.x-dev.
However, when I wanted to resynchronize the repo with the core module's repo in September, I was unable to move my extra commit in the tree and had no choice but to "break" the sequence/history of commits from the Core toolbar repo, with my custom commit in the middle... causing certain conflicts on rebase 😖
I wanted to rewrite the history of the 1.x branch to keep the sequence of the more recent commits made to the core Toolbar module, but since I had already created a dev release, with a tarball, it was not possible anymore.
Bottom line: It is not possible to delete a branch or rewrite its history (force push) once it has a release attached.
Honestly, I think we could have landed on our feet with the 1.x branch and my commit sitting the in middle:
https://git.drupalcode.org/project/toolbar/-/commits/1.x/?ref_type=heads
Merge request: https://git.drupalcode.org/project/toolbar/-/merge_requests/2
But we reached a consensus in #3624202-24: Create an initial 2.x-dev release for module Toolbar that the easiest way would be to start over from a clean split from the core Toolbar repo now that is has officially be marked deprecated for version 11.5.x.
So all the work was moved to the 2.x branch, with the new dev release toolbar-2.x-dev.
We can assume all the work expected in this issue has been completed, therefore, marking as Fixed for now.
Thanks!
Comment #6
ressaThank you @dydave! I really appreciate how you share details of stumbling blocks and pitfalls, and your considerations about how to navigate them, since it might help other core-to-contrib maintainers in the future.