From dd77def9714872f5777664354fde957c16ab42ca Mon Sep 17 00:00:00 2001 From: Tim te Beek Date: Fri, 14 Jun 2024 19:36:46 +0200 Subject: [PATCH] Add preconditions to RecipeDescriptor for DeclarativeRecipe --- rewrite-core/src/main/java/org/openrewrite/Recipe.java | 3 +-- .../main/java/org/openrewrite/config/DeclarativeRecipe.java | 6 +++++- .../main/java/org/openrewrite/config/RecipeDescriptor.java | 2 ++ .../test/java/org/openrewrite/config/CategoryTreeTest.java | 2 +- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/rewrite-core/src/main/java/org/openrewrite/Recipe.java b/rewrite-core/src/main/java/org/openrewrite/Recipe.java index 849c6205308..e955a9b9326 100644 --- a/rewrite-core/src/main/java/org/openrewrite/Recipe.java +++ b/rewrite-core/src/main/java/org/openrewrite/Recipe.java @@ -20,7 +20,6 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo; import lombok.Setter; import org.intellij.lang.annotations.Language; -import org.jetbrains.annotations.Nls; import org.openrewrite.config.DataTableDescriptor; import org.openrewrite.config.OptionDescriptor; import org.openrewrite.config.RecipeDescriptor; @@ -222,7 +221,7 @@ protected RecipeDescriptor createRecipeDescriptor() { } return new RecipeDescriptor(getName(), getDisplayName(), getDescription(), getTags(), - getEstimatedEffortPerOccurrence(), options, recipeList1, getDataTableDescriptors(), + getEstimatedEffortPerOccurrence(), options, Collections.emptyList(), recipeList1, getDataTableDescriptors(), getMaintainers(), getContributors(), getExamples(), recipeSource); } diff --git a/rewrite-core/src/main/java/org/openrewrite/config/DeclarativeRecipe.java b/rewrite-core/src/main/java/org/openrewrite/config/DeclarativeRecipe.java index 7b7c7aec9b8..e1d25033016 100644 --- a/rewrite-core/src/main/java/org/openrewrite/config/DeclarativeRecipe.java +++ b/rewrite-core/src/main/java/org/openrewrite/config/DeclarativeRecipe.java @@ -343,9 +343,13 @@ protected RecipeDescriptor createRecipeDescriptor() { for (Recipe childRecipe : getRecipeList()) { recipeList.add(childRecipe.getDescriptor()); } + List preconditionsList = new ArrayList<>(); + for (Recipe childRecipe : preconditions) { + recipeList.add(childRecipe.getDescriptor()); + } return new RecipeDescriptor(getName(), getDisplayName(), getDescription(), getTags(), getEstimatedEffortPerOccurrence(), - emptyList(), recipeList, getDataTableDescriptors(), getMaintainers(), getContributors(), + emptyList(), preconditionsList, recipeList, getDataTableDescriptors(), getMaintainers(), getContributors(), getExamples(), source); } diff --git a/rewrite-core/src/main/java/org/openrewrite/config/RecipeDescriptor.java b/rewrite-core/src/main/java/org/openrewrite/config/RecipeDescriptor.java index 4dcbf2d390e..ce1f32e4474 100644 --- a/rewrite-core/src/main/java/org/openrewrite/config/RecipeDescriptor.java +++ b/rewrite-core/src/main/java/org/openrewrite/config/RecipeDescriptor.java @@ -45,6 +45,8 @@ public class RecipeDescriptor { @EqualsAndHashCode.Include List options; + List preconditions; + @With List recipeList; diff --git a/rewrite-core/src/test/java/org/openrewrite/config/CategoryTreeTest.java b/rewrite-core/src/test/java/org/openrewrite/config/CategoryTreeTest.java index cf22f437891..c7b9393dab0 100644 --- a/rewrite-core/src/test/java/org/openrewrite/config/CategoryTreeTest.java +++ b/rewrite-core/src/test/java/org/openrewrite/config/CategoryTreeTest.java @@ -111,7 +111,7 @@ void putRecipe() { private static RecipeDescriptor recipeDescriptor(String packageName) { return new RecipeDescriptor(packageName + ".MyRecipe", - "My recipe", "", emptySet(), null, emptyList(), + "My recipe", "", emptySet(), null, emptyList(), emptyList(), emptyList(), emptyList(), emptyList(), emptyList(), emptyList(), URI.create("https://openrewrite.org")); }