Problem

The port carries code nothing calls and configuration nothing references:

  • l10n_community_project_create() implements a hook for an entity type named project. The type is l10n_server_project, so it never ran, and it would have created path aliases before the project had an id.
  • L10nCommunityProjectsController::overview(), releases() and title() are stubs printing their method name. No route uses them, and title() was the only user of the injected route match.
  • L10nStatistics::getTotalStringCount() and getProjectStringStatsByLanguage() have no callers.
  • Connector API without callers: ConnectorInterface::getDescription(), SourceInterface::getDescription(), ConnectorManager::getOptionsList() and setConnectorPluginStatus(), L10nPackager::API_VERSION, and the file system and HTTP client injected into the drupal.org connector and never used.
  • The base module routes /admin/config/l10n-server/packager to the packager settings form, which fatals when l10n_packager is not installed and is shadowed by the packager's own route otherwise.
  • The base module alters the Views data of translations with a relationship to the translation groups, a Group module concept the base module knows nothing about.
  • l10n_community.group.permissions.yml repeats four of the eight group permissions of l10n_groups.
  • views.view.l10n_server_projects is installed with the base module but referenced nowhere, the project list is the list builder.
  • Three of the five toolbar icon colour sets are not referenced by the toolbar stylesheet.
  • The user profile block declares its cache context under the wrong key, so the block was not varied by path.

Proposed resolution

Remove all of it. The Views relationship moves to l10n_groups. The group permission descriptions move to the l10n_groups file, whose browse permission takes its Drupal 7 name. The profile block cache key is corrected.

Left in place on purpose, they are in use on localize.drupal.org: the l10n_theme module (site configuration enables it, its stylesheet belongs in the site theme), the user profile block and the "Teams User Block" display of the memberships view (both placed in the site configuration), and the table striping script attached on every page. The upload source still inherits the cron scanning settings of the configurable sources, a separate question.

Tests

Nothing to add, nothing removed was covered or reachable. The whole suite passes after the removal.

LLM disclosure

LLM was used to find, diagnose explain and fix this issue. With human review.

Comments

gábor hojtsy created an issue. See original summary.

  • c6364faf committed on 3.0.x
    fix #3621774: Remove dead code and residue left from the port: unused...
gábor hojtsy’s picture

Status: Active » Fixed

Now that this issue is closed, review the contribution record.

As a contributor, attribute any organization that helped you, or if you volunteered your own time.

Maintainers, credit people who helped resolve this issue.

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.