Remove #[LegacyHook] procedural wrappers on 3.0.x (Drupal ^11.4 makes them redundant)
### Problem/Motivation The 3.0.x branch targets `core_version_requirement: ^11.4 || ^12`. With that floor in place, the module still carries eight procedural `#[LegacyHook]` wrappers in `helpdesk_integration.module` that only existed to support pre-11.1 hook discovery. These wrappers exist only to keep pre-11.1 procedural hook discovery working. Since Drupal 11.1 the OOP hook system (`#[Hook(...)]` attributes on class methods) is authoritative, and on 11.2+ the `#[LegacyHook]` duplicates are pure dead code. With ^11.4 as the floor they are safe to remove. Current wrappers in `helpdesk_integration.module`: | Line | Wrapper | Target OOP method | |------|---------|-------------------| | 108 | `helpdesk_integration_comment_view_alter()` | `HelpdeskIntegrationHooks::commentViewAlter()` | | 116 | `helpdesk_integration_entity_insert()` | `HelpdeskIntegrationHooks::entityInsert()` | | 124 | `helpdesk_integration_entity_delete()` | `HelpdeskIntegrationHooks::entityDelete()` | | 132 | `helpdesk_integration_form_alter()` | `HelpdeskIntegrationHooks::formAlter()` | | 140 | `helpdesk_integration_entity_update()` | `HelpdeskIntegrationHooks::entityUpdate()` | | 148 | `helpdesk_integration_views_pre_build()` | `HelpdeskIntegrationHooks::viewsPreBuild()` | | 156 | `helpdesk_integration_theme()` | `HelpdeskIntegrationHooks::theme()` | | 164 | `helpdesk_integration_toolbar()` | `HelpdeskIntegrationHooks::toolbar()` | Each OOP method already carries the corresponding `#[Hook('...')]` attribute in `src/Hook/HelpdeskIntegrationHooks.php`, so no functionality is lost. ### Proposed resolution On the 3.0.x branch: 1. Delete all eight `#[LegacyHook]`-annotated procedural wrapper functions from `helpdesk_integration.module`. 2. Remove the now-unused import: `use Drupal\Core\Hook\Attribute\LegacyHook;` 3. Leave all `#[Hook('...')]` OOP implementations in `src/Hook/HelpdeskIntegrationHooks.php` untouched. 4. Run the full test suite (unit, kernel, functional, functional JS) to confirm hooks are still invoked via OOP discovery. ### Remaining tasks - [ ] Remove the eight `#[LegacyHook]` procedural wrappers. - [ ] Remove the `LegacyHook` import statement. - [ ] Green CI pipeline on 3.0.x (D11.4 + D12). ### User interface changes None. ### API changes None. The procedural hook wrappers were internal glue. External callers never invoked them directly; Drupal's hook system calls them via discovery, and the OOP `#[Hook]` attributes have already superseded that path on 11.2+. ### Data model changes None.
issue