From 220e46bf0f836939aff9e68b3b23bd674c09e0b9 Mon Sep 17 00:00:00 2001 From: Jonathan Schneider Date: Sat, 15 Jul 2023 12:11:48 -0400 Subject: [PATCH] Consistent lifecycle of PROCESS_TEST_CLASSES, polish --- .../maven/AbstractRewriteMojo.java | 6 +---- .../maven/AbstractRewriteRunMojo.java | 3 +-- .../openrewrite/maven/ArtifactResolver.java | 2 -- .../maven/ConfigurableRewriteMojo.java | 4 +++- .../org/openrewrite/maven/ConfigureMojo.java | 2 -- .../openrewrite/maven/CycloneDxBomMojo.java | 7 +++--- .../java/org/openrewrite/maven/InitMojo.java | 22 +++++++++---------- .../openrewrite/maven/RewriteDryRunMojo.java | 2 +- .../maven/RewriteDryRunNoForkMojo.java | 2 +- .../org/openrewrite/maven/RewriteRunMojo.java | 6 ++--- .../maven/RewriteRunNoForkMojo.java | 4 ++-- 11 files changed, 26 insertions(+), 34 deletions(-) diff --git a/src/main/java/org/openrewrite/maven/AbstractRewriteMojo.java b/src/main/java/org/openrewrite/maven/AbstractRewriteMojo.java index afc5559a..14b8a734 100644 --- a/src/main/java/org/openrewrite/maven/AbstractRewriteMojo.java +++ b/src/main/java/org/openrewrite/maven/AbstractRewriteMojo.java @@ -60,23 +60,18 @@ public abstract class AbstractRewriteMojo extends ConfigurableRewriteMojo { - @SuppressWarnings("NotNullFieldNotInitialized") @Parameter(defaultValue = "${project}", readonly = true, required = true) protected MavenProject project; - @SuppressWarnings("NotNullFieldNotInitialized") @Component protected RuntimeInformation runtime; - @SuppressWarnings("NotNullFieldNotInitialized") @Component protected SettingsDecrypter settingsDecrypter; - @SuppressWarnings("NotNullFieldNotInitialized") @Component protected RepositorySystem repositorySystem; - @SuppressWarnings("NotNullFieldNotInitialized") @Parameter(defaultValue = "${session}", readonly = true) protected MavenSession mavenSession; @@ -102,6 +97,7 @@ Config getConfig() throws IOException { URI uri = new URI(configLocation); if (uri.getScheme() != null && uri.getScheme().startsWith("http")) { HttpSender httpSender = new HttpUrlConnectionSender(); + //noinspection resource return new Config(httpSender.get(configLocation).send().getBody(), uri); } } catch (URISyntaxException e) { diff --git a/src/main/java/org/openrewrite/maven/AbstractRewriteRunMojo.java b/src/main/java/org/openrewrite/maven/AbstractRewriteRunMojo.java index 39976d7f..21e05534 100644 --- a/src/main/java/org/openrewrite/maven/AbstractRewriteRunMojo.java +++ b/src/main/java/org/openrewrite/maven/AbstractRewriteRunMojo.java @@ -180,9 +180,8 @@ private static void writeAfter(Path root, Result result, ExecutionContext ctx) { } catch (IOException e) { throw new UncheckedIOException("Unable to rewrite source files", e); } - } else if (result.getAfter() instanceof Quark) { + } else if (!(result.getAfter() instanceof Quark)) { // Don't attempt to write to a Quark; it has already been logged as change that has been made - } else { Charset charset = result.getAfter().getCharset() == null ? StandardCharsets.UTF_8 : result.getAfter().getCharset(); try (BufferedWriter sourceFileWriter = Files.newBufferedWriter(targetPath, charset)) { sourceFileWriter.write(result.getAfter().printAll(new PrintOutputCapture<>(0, new SanitizedMarkerPrinter()))); diff --git a/src/main/java/org/openrewrite/maven/ArtifactResolver.java b/src/main/java/org/openrewrite/maven/ArtifactResolver.java index dda64fd3..ce9ce888 100644 --- a/src/main/java/org/openrewrite/maven/ArtifactResolver.java +++ b/src/main/java/org/openrewrite/maven/ArtifactResolver.java @@ -39,9 +39,7 @@ public class ArtifactResolver { private final RepositorySystem repositorySystem; - private final RepositorySystemSession repositorySystemSession; - private final List remoteRepositories; public ArtifactResolver(RepositorySystem repositorySystem, MavenSession session) { diff --git a/src/main/java/org/openrewrite/maven/ConfigurableRewriteMojo.java b/src/main/java/org/openrewrite/maven/ConfigurableRewriteMojo.java index bcf20049..d948bbfc 100644 --- a/src/main/java/org/openrewrite/maven/ConfigurableRewriteMojo.java +++ b/src/main/java/org/openrewrite/maven/ConfigurableRewriteMojo.java @@ -37,7 +37,6 @@ @SuppressWarnings("FieldMayBeFinal") public abstract class ConfigurableRewriteMojo extends AbstractMojo { - @SuppressWarnings("NotNullFieldNotInitialized") @Parameter(property = "rewrite.configLocation", alias = "configLocation", defaultValue = "${maven.multiModuleProjectDirectory}/rewrite.yml") protected String configLocation; @@ -193,6 +192,7 @@ protected Set getActiveRecipes() { } } + //noinspection ConstantConditions return computedRecipes; } @@ -209,6 +209,7 @@ protected Set getActiveStyles() { } } + //noinspection ConstantConditions return computedStyles; } @@ -256,6 +257,7 @@ protected Set getRecipeArtifactCoordinates() { } } + //noinspection ConstantConditions return computedRecipeArtifactCoordinates; } diff --git a/src/main/java/org/openrewrite/maven/ConfigureMojo.java b/src/main/java/org/openrewrite/maven/ConfigureMojo.java index a5f3f961..f0351c58 100644 --- a/src/main/java/org/openrewrite/maven/ConfigureMojo.java +++ b/src/main/java/org/openrewrite/maven/ConfigureMojo.java @@ -50,11 +50,9 @@ @SuppressWarnings("unused") public class ConfigureMojo extends AbstractRewriteMojo { - @SuppressWarnings("NotNullFieldNotInitialized") @Parameter(property = "groupId", defaultValue = "org.openrewrite.maven") protected String groupId; - @SuppressWarnings("NotNullFieldNotInitialized") @Parameter(property = "artifactId", defaultValue = "rewrite-maven-plugin") protected String artifactId; diff --git a/src/main/java/org/openrewrite/maven/CycloneDxBomMojo.java b/src/main/java/org/openrewrite/maven/CycloneDxBomMojo.java index f50e176d..14c6bcc9 100644 --- a/src/main/java/org/openrewrite/maven/CycloneDxBomMojo.java +++ b/src/main/java/org/openrewrite/maven/CycloneDxBomMojo.java @@ -27,6 +27,7 @@ import org.openrewrite.xml.tree.Xml; import java.io.File; +import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.util.Collections; @@ -35,11 +36,10 @@ * Generate a CycloneDx bill of materials outlining the project's dependencies, including transitive dependencies. */ @Mojo(name = "cyclonedx", requiresDependencyResolution = ResolutionScope.TEST, threadSafe = true, - defaultPhase = LifecyclePhase.PACKAGE) + defaultPhase = LifecyclePhase.PROCESS_TEST_CLASSES) @SuppressWarnings("unused") public class CycloneDxBomMojo extends AbstractRewriteMojo { - @SuppressWarnings("NotNullFieldNotInitialized") @Component private MavenProjectHelper projectHelper; @@ -66,7 +66,8 @@ private File buildCycloneDxBom(Xml.Document pomAst) { cycloneDxBom.getParentFile().mkdirs(); Files.write(cycloneDxBom.toPath(), PrintMavenAsCycloneDxBom.print(pomAst) - .getBytes(pomAst.getCharset())); + .getBytes(pomAst.getCharset() == null ? + StandardCharsets.UTF_8 : pomAst.getCharset())); return cycloneDxBom; } catch (Throwable t) { diff --git a/src/main/java/org/openrewrite/maven/InitMojo.java b/src/main/java/org/openrewrite/maven/InitMojo.java index fe2bd9e5..321071c8 100644 --- a/src/main/java/org/openrewrite/maven/InitMojo.java +++ b/src/main/java/org/openrewrite/maven/InitMojo.java @@ -45,11 +45,9 @@ @SuppressWarnings("unused") public class InitMojo extends AbstractRewriteMojo { - @SuppressWarnings("NotNullFieldNotInitialized") @Parameter(property = "groupId", defaultValue = "org.openrewrite.maven") protected String groupId; - @SuppressWarnings("NotNullFieldNotInitialized") @Parameter(property = "artifactId", defaultValue = "rewrite-maven-plugin") protected String artifactId; @@ -140,10 +138,10 @@ protected String getConfiguration() { Set activeRecipes = getActiveRecipes(); if (configuration == null && !activeRecipes.isEmpty()) { configuration = "\n\n" + - activeRecipes.stream() - .map(it -> "" + it + "") - .collect(Collectors.joining("\n")) - + "\n"; + activeRecipes.stream() + .map(it -> "" + it + "") + .collect(Collectors.joining("\n")) + + "\n"; } return configuration; } @@ -153,12 +151,12 @@ protected String getExecutions() { String executions = null; if (executionPhase != null && executionGoals != null) { executions = "\n\n" + - "" + executionPhase + "\n" - + "\n" - + Arrays.stream(executionGoals.split(",")) - .map(it -> "" + it + "") - .collect(Collectors.joining("\n")) - + "\n\n\n"; + "" + executionPhase + "\n" + + "\n" + + Arrays.stream(executionGoals.split(",")) + .map(it -> "" + it + "") + .collect(Collectors.joining("\n")) + + "\n\n\n"; } return executions; } diff --git a/src/main/java/org/openrewrite/maven/RewriteDryRunMojo.java b/src/main/java/org/openrewrite/maven/RewriteDryRunMojo.java index f9a45686..d23ea7a7 100644 --- a/src/main/java/org/openrewrite/maven/RewriteDryRunMojo.java +++ b/src/main/java/org/openrewrite/maven/RewriteDryRunMojo.java @@ -22,7 +22,7 @@ /** * Generate warnings to the console for any recipe that would make changes, but do not make changes. - * + *

* This variant of rewrite:dryRun will fork the maven life cycle and can be run as a "stand-alone" goal. It will * execute the maven build up to the process-test-classes phase. */ diff --git a/src/main/java/org/openrewrite/maven/RewriteDryRunNoForkMojo.java b/src/main/java/org/openrewrite/maven/RewriteDryRunNoForkMojo.java index 5392da5d..0d564602 100644 --- a/src/main/java/org/openrewrite/maven/RewriteDryRunNoForkMojo.java +++ b/src/main/java/org/openrewrite/maven/RewriteDryRunNoForkMojo.java @@ -21,7 +21,7 @@ /** * Generate warnings to the console for any recipe that would make changes, but do not make changes. - * + *

* This variant of rewrite:dryRun will not fork the maven life cycle and can be used (along with other goals) without * triggering repeated life-cycle events. It will execute the maven build up to the process-test-classes phase. */ diff --git a/src/main/java/org/openrewrite/maven/RewriteRunMojo.java b/src/main/java/org/openrewrite/maven/RewriteRunMojo.java index 2a263b59..ea1a30f8 100644 --- a/src/main/java/org/openrewrite/maven/RewriteRunMojo.java +++ b/src/main/java/org/openrewrite/maven/RewriteRunMojo.java @@ -22,12 +22,12 @@ /** * Run the configured recipes and apply the changes locally. - * + *

* This variant of rewrite:run will fork the maven life cycle and can be run as a "stand-alone" goal. It will * execute the maven build up to the process-test-classes phase. */ @Mojo(name = "run", requiresDependencyResolution = ResolutionScope.TEST, threadSafe = true, - defaultPhase = LifecyclePhase.COMPILE) -@Execute(phase = LifecyclePhase.COMPILE) + defaultPhase = LifecyclePhase.PROCESS_TEST_CLASSES) +@Execute(phase = LifecyclePhase.PROCESS_TEST_CLASSES) public class RewriteRunMojo extends AbstractRewriteRunMojo { } diff --git a/src/main/java/org/openrewrite/maven/RewriteRunNoForkMojo.java b/src/main/java/org/openrewrite/maven/RewriteRunNoForkMojo.java index 34e71f27..f09e6559 100644 --- a/src/main/java/org/openrewrite/maven/RewriteRunNoForkMojo.java +++ b/src/main/java/org/openrewrite/maven/RewriteRunNoForkMojo.java @@ -21,11 +21,11 @@ /** * Run the configured recipes and apply the changes locally. - * + *

* This variant of rewrite:run will not fork the maven life cycle and can be used (along with other goals) without * triggering repeated life-cycle events. */ @Mojo(name = "runNoFork", requiresDependencyResolution = ResolutionScope.TEST, threadSafe = true, - defaultPhase = LifecyclePhase.COMPILE) + defaultPhase = LifecyclePhase.PROCESS_TEST_CLASSES) public class RewriteRunNoForkMojo extends AbstractRewriteRunMojo { }