From 399ed8c05cde7a8a0558f5fee041d40d15fe54ac Mon Sep 17 00:00:00 2001 From: mrizzi Date: Mon, 25 Oct 2021 16:35:40 +0200 Subject: [PATCH 1/2] Using forked openrewrite version --- rules-openrewrite/addon/pom.xml | 19 +++++++++++++++++++ .../openrewrite/OpenrewriteRuleProvider.java | 10 +++++++--- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/rules-openrewrite/addon/pom.xml b/rules-openrewrite/addon/pom.xml index 6ff777c8c1..03b783c694 100644 --- a/rules-openrewrite/addon/pom.xml +++ b/rules-openrewrite/addon/pom.xml @@ -14,6 +14,13 @@ 7.15.0 + + + jitpack.io + https://jitpack.io + + + @@ -27,6 +34,7 @@ rewrite-migrate-java 0.8.0 + + + com.github.mrizzi.rewrite + rewrite-java + windup-changes-SNAPSHOT + + + com.github.mrizzi.rewrite + rewrite-java-8 + windup-changes-SNAPSHOT + org.slf4j slf4j-jdk14 diff --git a/rules-openrewrite/addon/src/main/java/org/jboss/windup/rules/apps/openrewrite/OpenrewriteRuleProvider.java b/rules-openrewrite/addon/src/main/java/org/jboss/windup/rules/apps/openrewrite/OpenrewriteRuleProvider.java index 0fb9ee85c6..c6ebe8c237 100644 --- a/rules-openrewrite/addon/src/main/java/org/jboss/windup/rules/apps/openrewrite/OpenrewriteRuleProvider.java +++ b/rules-openrewrite/addon/src/main/java/org/jboss/windup/rules/apps/openrewrite/OpenrewriteRuleProvider.java @@ -28,6 +28,7 @@ import org.ocpsoft.rewrite.config.Configuration; import org.ocpsoft.rewrite.config.ConfigurationBuilder; import org.ocpsoft.rewrite.context.EvaluationContext; +import org.openrewrite.ExecutionContext; import org.openrewrite.InMemoryExecutionContext; import org.openrewrite.Recipe; import org.openrewrite.Result; @@ -35,6 +36,7 @@ import org.openrewrite.config.Environment; import org.openrewrite.config.ResourceLoader; import org.openrewrite.config.YamlResourceLoader; +import org.openrewrite.java.Java8Parser; import org.openrewrite.java.JavaParser; import org.openrewrite.java.tree.J; @@ -104,7 +106,8 @@ public void perform(GraphRewrite event, EvaluationContext context) Recipe recipe = env.activateRecipes("org.konveyor.tackle.JavaxToJakarta"); - JavaParser javaParser = WindupJava8Parser.builder().build(); +// JavaParser javaParser = WindupJava8Parser.builder().build(); + JavaParser javaParser = Java8Parser.builder().build(); // TODO change this temporary solution (just for running the test) with something that // retrieves all the ".java" files available within the input path Path sourceRoot = Paths.get(inputFilePath); @@ -116,9 +119,10 @@ public void perform(GraphRewrite event, EvaluationContext context) } catch (IOException e) { throw new Exception("Unable to list Java source files", e); } - List fileList = javaParser.parse(inputPaths, null, new InMemoryExecutionContext()); + ExecutionContext ctx = new InMemoryExecutionContext(Throwable::printStackTrace); + List fileList = javaParser.parse(inputPaths, null, ctx); - List results = recipe.run(fileList); + List results = recipe.run(fileList, ctx); LOG.info(String.format("%d files changed", results.size())); results.forEach(result -> LOG.info(result.toString())); // TODO should results be stored into the graph in some way? From d30137acb6db6ab0cefc952c20b4fd3d88e8cb8d Mon Sep 17 00:00:00 2001 From: mrizzi Date: Mon, 25 Oct 2021 16:36:14 +0200 Subject: [PATCH 2/2] Enhancing WindupJava8Parser --- .../windup/rules/apps/openrewrite/WindupJava8Parser.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/rules-openrewrite/addon/src/main/java/org/jboss/windup/rules/apps/openrewrite/WindupJava8Parser.java b/rules-openrewrite/addon/src/main/java/org/jboss/windup/rules/apps/openrewrite/WindupJava8Parser.java index 4cf3956f86..0b011fae78 100644 --- a/rules-openrewrite/addon/src/main/java/org/jboss/windup/rules/apps/openrewrite/WindupJava8Parser.java +++ b/rules-openrewrite/addon/src/main/java/org/jboss/windup/rules/apps/openrewrite/WindupJava8Parser.java @@ -1,6 +1,7 @@ package org.jboss.windup.rules.apps.openrewrite; import java.io.File; +import java.io.IOException; import java.lang.reflect.Constructor; import java.net.MalformedURLException; import java.net.URL; @@ -9,6 +10,7 @@ import java.nio.file.Path; import java.nio.file.Paths; import java.util.Collection; +import java.util.Collections; import java.util.List; import org.openrewrite.ExecutionContext; @@ -67,7 +69,7 @@ static synchronized void lazyInitClassLoaders() { ClassLoader appClassLoader = WindupJava8Parser.class.getClassLoader(); // based on https://developer.jboss.org/thread/202247 - toolsAwareClassLoader = new URLClassLoader(new URL[]{appClassLoader.getResource("/")}, toolsClassLoader) { + toolsAwareClassLoader = new URLClassLoader(Collections.list(appClassLoader.getResources("")).toArray(new URL[]{}), toolsClassLoader) { @Override protected Class loadClass(String name, boolean resolve) throws ClassNotFoundException { if (!name.contains("ReloadableJava8") && @@ -96,6 +98,8 @@ protected Class loadClass(String name, boolean resolve) throws ClassNotFoundE }; } catch (MalformedURLException e) { throw new IllegalStateException("To use WindupJava8Parser, you must run the process with a JDK and not a JRE.", e); + } catch (IOException e) { + e.printStackTrace(); } }