openrewrite / rewrite-build-gradle-plugin

Common build logic for building OpenRewrite and recipe jars.
Apache License 2.0
4 stars 5 forks source link

Recipe author attribution isn't always happening for declarative recipes #19

Open sambsnyd opened 1 year ago

sambsnyd commented 1 year ago

In rewrite-spring declarative recipes, such as org.openrewrite.java.spring.boot3.MigrateThymeleafDependencies are not showing any authors.

The task runs but produces no output. Unclear why as other declarative recipes, at least those in the rewrite repository itself, are successfully attributed.

The problem may be because declarative recipe attribution is broadly based on the attribution of the recipes they are composed of. And that recipe is composed of recipes that come from other repositories. So attribution may not be successfully finding attribution files from dependencies

kunli2 commented 1 year ago

some hints from Sam: Thinking about it a bit I bet recipe attributions from binary dependencies aren't being found

timtebeek commented 9 months ago

Found another case where attribution is off for these lines https://github.com/openrewrite/rewrite-logging-frameworks/blame/e47737d9bb67791e6aa0fdeac797224f2e1d50ec/src/main/resources/META-INF/rewrite/slf4j.yml#L112-L171

We extract contributor data here, but only for Java Recipes it seems. 🤔 https://github.com/openrewrite/rewrite-build-gradle-plugin/blob/f3d4b6fa6bb84ba33b9be2ad744254a5a071583a/src/main/java/org/openrewrite/gradle/RewriteRecipeAuthorAttributionTask.java#L162-L180