Write a popular recipe guide for resolving vulnerable dependencies
What problem are you trying to solve?
Folks might not be aware that we are able to confidently solve vulnerabilities using OpenRewrite recipes, and also bump transitive dependencies.
Describe the solution you'd like
Guide folks towards the Find and fix vulnerable dependencies recipe, and educate them on
- how to set
overrideTransitive: trueto get MavendependencyManagementor Gradle constraints added a. and explain how 80% of vulnerabilities are in transitive dependencies, otherwise missed by other tools - explain how the recipe will only confidently bump
patchversions, to the vulnerability recommended version - explain the data table produced when passing in
-Drewrite.exportDatatables=true, and the minor/major/no fix insights that gives - guide them towards next steps such as
a. directly using
UpgradeDependencyVersionandUpgradeTransitiveDependencyVersionforminorversion bumps, b. or the framework migration recipes for Spring, Micronaut and Quarkus for major version bumps.
Additional context
cc @mike-solomon (but enjoy your holiday first!)
This has proven to be slightly problematic to document due to the fact that I can't get Gradle projects to generate data tables. Not entirely sure what I'm doing wrong as it seems like others may not have that issue 🤷
I'll come back to this in the future and see if I can figure it out. Jumping over to other doc issues for now, though.
This recipe is now available for users of Moderne, so can likely move https://github.com/moderneinc/moderne-docs
Closing this in favor of: https://github.com/moderneinc/moderne-docs/issues/175