Task 2.1: Remove Unused Dependencies Analysis
Open
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
-
Analysis Phase:
- Review dependency usage across codebase
- Identify truly unused dependencies
- Document dependencies that appear unused but may be runtime-required
-
Testing Phase:
- Create test build excluding suspected unused dependencies
- Run full test suite (unit, integration, postman)
- Verify application startup and basic functionality
-
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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