rewrite icon indicating copy to clipboard operation
rewrite copied to clipboard

Capture `MavenMetadata.lastUpdated` for a recipe that shows outdated dependencies

Open timtebeek opened this issue 1 year ago • 0 comments

What problem are you trying to solve?

Apart from the most recent version, we might also be interested in capturing when that dependency was last updated.

This then allows for a recipe that tells out where you might be using dependencies that have not seen a release in a long time, perhaps because they have been relocated: https://docs.openrewrite.org/recipes/java/dependencies/relocateddependencycheck

Describe the solution you'd like

Add a lastUpdated field to MavenMetadata.Versioning https://github.com/openrewrite/rewrite/blob/56986647f0c8b8a162d548d52c70572b939f1d0a/rewrite-maven/src/main/java/org/openrewrite/maven/tree/MavenMetadata.java#L55-L63

Based on the metadata pulblished in Maven repositories.

<metadata>
  <groupId>org.openrewrite.recipe</groupId>
  <artifactId>rewrite-recipe-bom</artifactId>
  <versioning>
    <latest>2.15.0-SNAPSHOT</latest>
    <versions>
      <version>0.1.0-SNAPSHOT</version>
      <!-- truncated -->
      <version>2.15.0-SNAPSHOT</version>
    </versions>
    <lastUpdated>20240712162001</lastUpdated>
  </versioning>
</metadata>

https://oss.sonatype.org/service/local/repositories/snapshots/content/org/openrewrite/recipe/rewrite-recipe-bom/maven-metadata.xml https://repo1.maven.org/maven2/org/openrewrite/recipe/rewrite-recipe-bom/maven-metadata.xml

Additional context

Inspired by https://github.com/Giovds/outdated-maven-plugin

timtebeek avatar Jul 12 '24 20:07 timtebeek