dotCMS / dotCMS/core

Task 2.1: Remove Unused Dependencies Analysis

Open
#32,679 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

dotCMS : Technical Debt Team : Platform Type : Task
Dominant language
Java
Stars
970
Forks
486
Avg merge
3d 33m
Merged PRs (30d)
170

Description

Task Description

Identify and remove unused repackaged dependencies from the dotCMS project

Status: 🔄 PENDING
Scope
  • Analyze the 50+ potentially unused dependencies identified in the audit
  • Create test build without unused dependencies
  • Verify no runtime failures occur
  • Remove confirmed unused dependencies from POM files
Implementation Plan
  1. Analysis Phase:

    • Review dependency usage across codebase
    • Identify truly unused dependencies
    • Document dependencies that appear unused but may be runtime-required
  2. Testing Phase:

    • Create test build excluding suspected unused dependencies
    • Run full test suite (unit, integration, postman)
    • Verify application startup and basic functionality
  3. Cleanup Phase:

    • Remove confirmed unused dependencies from BOM
    • Remove from dotCMS POM files
    • Update documentation
Acceptance Criteria
  • [ ] List of confirmed unused dependencies created
  • [ ] Test build passes without unused dependencies
  • [ ] Integration tests pass
  • [ ] Postman tests pass
  • [ ] Dependencies removed from BOM and dotCMS POM
  • [ ] No runtime failures observed
Claude Assistance Benefits
  • Dependency Analysis: Claude can quickly scan codebase for actual usage
  • Pattern Recognition: Identify runtime-only dependencies vs truly unused
  • Bulk Operations: Handle multiple POM file updates efficiently
  • Test Analysis: Help interpret test failures and identify root causes
Related
  • Epic: #32675 - Remove Repackaged Dependencies
  • Phase: 2 - Low-Risk Migrations
  • Priority: High
  • Estimated Effort: 1-2 days (with Claude assistance)
Dependencies
  • Access to full test suite
  • Ability to create test builds
  • Understanding of runtime vs compile-time dependencies

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the dependency audit and the BOM and dotCMS POM files to identify the 50+ candidates and determine which are used at runtime. Create a test build without confirmed unused dependencies, run the unit, integration, Postman, startup, and basic-functionality checks, and finish when the confirmed dependencies are removed without runtime failures.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.