How to Make Unmaintainable Project Maintainable - GlassFish Example
summary
GlassFish gets modernized with concrete results: a new Docker image and CI scripts, testcontainers integration for local TCK runs, JaCoCo coverage and Sonar/Snyk checks, and migration to Maven and Java 17+ readiness. The repo jumps from ~800 to over 1,000 commits per year, thousands of refactored integration tests and roughly 5,000 legacy tests being migrated, faster builds (full build ~11 min cached, full tests ~2 hrs), plans for GlassFish 8 / Java 21 and commercial Omnifish support.
AI-written summary · about
chapters (11)
- 0:00Making projects maintainable
- 1:09Why projects stay unmaintainable
- 5:27Better tooling for development
- 9:46GlassFish’s legacy and revival
- 12:20Modernizing with Docker and TestContainers
- 15:34Optimizing builds and tests
- 18:28GlassFish technical debt
- 23:46GlassFish forks and challenges
- 26:20Future of GlassFish and JavaFX UI
- 28:10GlassFish performance and cloud
- 30:47Q&A
related talks
44mFighting the Technical Debt of GlassFish
55mUpgrading a Legacy Java EE App with Style
34mStaying Current A Journey in Software Maintenance
55mModernizing Legacy Code - While Not Bringing Down Prod
54mTesting in Legacy: From Rags to Riches
57mRefactoring to Modernize Java Applications
52mEscaping Developer Nightmares
32mFrom Legacy to Legendary: Jakarta EE’s Evolution in the Modern Era
