From ca1cdbdb9f9b759ab65194c5bea7bc78c5405048 Mon Sep 17 00:00:00 2001
From: Jonathan Leitschuh
Date: Fri, 21 Apr 2023 19:35:06 -0400
Subject: [PATCH] Rewrite rewrites Rewrite (#3149)
This adds an EndOfLineAtEndOfFile recipe, this recipe is applied
to this recpie using the rewrite plugin.
Dogfood :tada:
Signed-off-by: Jonathan Leitschuh
---
.gitignore | 2 +
build.gradle.kts | 10 +++
.../text/EndOfLineAtEndOfFile.java | 58 +++++++++++++++
.../openrewrite/FailureLogAnalyzerTest.java | 2 +-
.../table/SourcesFileResultsTest.java | 2 +-
.../text/EndOfLineAtEndOfFileTest.java | 72 +++++++++++++++++++
.../internal/DefaultImportsCustomizer.java | 2 +-
rewrite-hcl/src/main/antlr/input.txt | 2 +-
.../hcl/internal/grammar/HCLLexer.java | 2 +-
.../hcl/internal/grammar/HCLParser.java | 2 +-
.../grammar/HCLParserBaseListener.java | 2 +-
.../grammar/HCLParserBaseVisitor.java | 2 +-
.../internal/grammar/HCLParserListener.java | 2 +-
.../internal/grammar/HCLParserVisitor.java | 2 +-
.../hcl/internal/grammar/JsonPathLexer.java | 2 +-
.../hcl/internal/grammar/JsonPathParser.java | 2 +-
.../grammar/JsonPathParserBaseListener.java | 2 +-
.../grammar/JsonPathParserBaseVisitor.java | 2 +-
.../grammar/JsonPathParserListener.java | 2 +-
.../grammar/JsonPathParserVisitor.java | 2 +-
.../org/openrewrite/java/DataTableTest.java | 2 +-
.../java/JavaTemplateInstanceOfTest.java | 2 +-
.../java/JavaTemplateMatchTest.java | 2 +-
.../java/UnwrapParenthesesTest.java | 2 +-
.../cleanup/FinalizeMethodArgumentsTest.java | 2 +-
.../cleanup/InstanceOfPatternMatchTest.java | 2 +-
.../java/JavaTemplateSemanticallyEqual.java | 2 +-
.../org/openrewrite/java/PartProvider.java | 2 +-
.../java/cleanup/FinalizeMethodArguments.java | 2 +-
.../grammar/AnnotationSignatureLexer.java | 2 +-
.../grammar/AnnotationSignatureParser.java | 2 +-
...AnnotationSignatureParserBaseListener.java | 2 +-
.../AnnotationSignatureParserBaseVisitor.java | 2 +-
.../AnnotationSignatureParserListener.java | 2 +-
.../AnnotationSignatureParserVisitor.java | 2 +-
.../grammar/MethodSignatureLexer.java | 2 +-
.../grammar/MethodSignatureParser.java | 2 +-
.../MethodSignatureParserBaseListener.java | 2 +-
.../MethodSignatureParserBaseVisitor.java | 2 +-
.../MethodSignatureParserListener.java | 2 +-
.../grammar/MethodSignatureParserVisitor.java | 2 +-
.../grammar/TemplateParameterLexer.java | 2 +-
.../grammar/TemplateParameterParser.java | 2 +-
.../TemplateParameterParserBaseListener.java | 2 +-
.../TemplateParameterParserBaseVisitor.java | 2 +-
.../TemplateParameterParserListener.java | 2 +-
.../TemplateParameterParserVisitor.java | 2 +-
.../openrewrite/java/search/DeclaresType.java | 2 +-
.../java/search/DeclaresTypeTest.java | 2 +-
.../internal/grammar/JSON5BaseListener.java | 2 +-
.../internal/grammar/JSON5BaseVisitor.java | 2 +-
.../json/internal/grammar/JSON5Lexer.java | 2 +-
.../json/internal/grammar/JSON5Listener.java | 2 +-
.../json/internal/grammar/JSON5Parser.java | 2 +-
.../json/internal/grammar/JSON5Visitor.java | 2 +-
.../json/internal/grammar/JsonPathLexer.java | 2 +-
.../json/internal/grammar/JsonPathParser.java | 2 +-
.../grammar/JsonPathParserBaseListener.java | 2 +-
.../grammar/JsonPathParserBaseVisitor.java | 2 +-
.../grammar/JsonPathParserListener.java | 2 +-
.../grammar/JsonPathParserVisitor.java | 2 +-
.../internal/grammar/VersionRangeLexer.java | 2 +-
.../internal/grammar/VersionRangeParser.java | 2 +-
.../VersionRangeParserBaseListener.java | 2 +-
.../VersionRangeParserBaseVisitor.java | 2 +-
.../grammar/VersionRangeParserListener.java | 2 +-
.../grammar/VersionRangeParserVisitor.java | 2 +-
.../maven/RemovePluginDependencyTest.java | 2 +-
.../search/DoesNotIncludeDependencyTest.java | 2 +-
rewrite-maven/src/test/resources/logback.xml | 2 +-
.../internal/grammar/Protobuf2Lexer.java | 2 +-
.../internal/grammar/Protobuf2Parser.java | 2 +-
.../grammar/Protobuf2ParserBaseListener.java | 2 +-
.../grammar/Protobuf2ParserBaseVisitor.java | 2 +-
.../grammar/Protobuf2ParserListener.java | 2 +-
.../grammar/Protobuf2ParserVisitor.java | 2 +-
.../xml/internal/grammar/XMLLexer.java | 2 +-
.../xml/internal/grammar/XMLParser.java | 2 +-
.../grammar/XMLParserBaseListener.java | 2 +-
.../grammar/XMLParserBaseVisitor.java | 2 +-
.../internal/grammar/XMLParserListener.java | 2 +-
.../internal/grammar/XMLParserVisitor.java | 2 +-
.../openrewrite/yaml/AppendToSequence.java | 2 +-
.../yaml/AppendToSequenceVisitor.java | 2 +-
.../yaml/internal/grammar/JsonPathLexer.java | 2 +-
.../yaml/internal/grammar/JsonPathParser.java | 2 +-
.../grammar/JsonPathParserBaseListener.java | 2 +-
.../grammar/JsonPathParserBaseVisitor.java | 2 +-
.../grammar/JsonPathParserListener.java | 2 +-
.../grammar/JsonPathParserVisitor.java | 2 +-
rewrite.yml | 8 +++
91 files changed, 236 insertions(+), 86 deletions(-)
create mode 100644 rewrite-core/src/main/java/org/openrewrite/text/EndOfLineAtEndOfFile.java
create mode 100644 rewrite-core/src/test/java/org/openrewrite/text/EndOfLineAtEndOfFileTest.java
create mode 100644 rewrite.yml
diff --git a/.gitignore b/.gitignore
index eecd0683d84..b0c03f9bd14 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,3 +11,5 @@ out/
.DS_Store
**/node_modules/
IDE.properties
+# ASDF https://asdf-vm.com/
+.tool-versions
diff --git a/build.gradle.kts b/build.gradle.kts
index 282f56e5f65..eddf8702a4e 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,5 +1,6 @@
plugins {
id("org.openrewrite.build.root") version("latest.release")
+ id("org.openrewrite.build.java-base") version("latest.release")
id("org.openrewrite.rewrite") version("latest.release")
}
@@ -7,6 +8,15 @@ repositories {
mavenCentral()
}
+dependencies {
+ rewrite(project(":rewrite-core"))
+}
+
+rewrite {
+ failOnDryRunResults = true
+ activeRecipe("org.openrewrite.self.Rewrite")
+}
+
allprojects {
group = "org.openrewrite"
diff --git a/rewrite-core/src/main/java/org/openrewrite/text/EndOfLineAtEndOfFile.java b/rewrite-core/src/main/java/org/openrewrite/text/EndOfLineAtEndOfFile.java
new file mode 100644
index 00000000000..2eedd851cd8
--- /dev/null
+++ b/rewrite-core/src/main/java/org/openrewrite/text/EndOfLineAtEndOfFile.java
@@ -0,0 +1,58 @@
+/*
+ * Copyright 2023 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.openrewrite.text;
+
+import org.openrewrite.*;
+import org.openrewrite.binary.Binary;
+import org.openrewrite.quark.Quark;
+import org.openrewrite.remote.Remote;
+
+public class EndOfLineAtEndOfFile extends Recipe {
+
+ @Override
+ public String getDisplayName() {
+ return "End of Line @ End of File (EOL @ EOF)";
+ }
+
+ @Override
+ public String getDescription() {
+ return "Ensure that the file ends with the newline character.\n\n" +
+ "*Note*: If this recipe modifies a file, it converts the file into plain text. " +
+ "As such, this recipe should be run after any recipe that modifies the language-specific LST.";
+ }
+
+ @Override
+ protected TreeVisitor, ExecutionContext> getVisitor() {
+ return new TreeVisitor() {
+ @Override
+ public Tree visitSourceFile(SourceFile sourceFile, ExecutionContext executionContext) {
+ if (sourceFile instanceof Quark || sourceFile instanceof Remote || sourceFile instanceof Binary) {
+ return sourceFile;
+ }
+ PlainText plainText = PlainTextParser.convert(sourceFile);
+ boolean whitespaceContainsCRLF = plainText.getText().contains("\r\n");
+ if (!plainText.getText().endsWith("\n")) {
+ if (whitespaceContainsCRLF) {
+ return plainText.withText(plainText.getText() + "\r\n");
+ } else {
+ return plainText.withText(plainText.getText() + '\n');
+ }
+ }
+ return sourceFile;
+ }
+ };
+ }
+}
diff --git a/rewrite-core/src/test/java/org/openrewrite/FailureLogAnalyzerTest.java b/rewrite-core/src/test/java/org/openrewrite/FailureLogAnalyzerTest.java
index 1189360fa4e..9c6138c64fd 100644
--- a/rewrite-core/src/test/java/org/openrewrite/FailureLogAnalyzerTest.java
+++ b/rewrite-core/src/test/java/org/openrewrite/FailureLogAnalyzerTest.java
@@ -50,4 +50,4 @@ DefaultCodeFormatter has been compiled by a more recent version of the Java Runt
void determineRequiredClassFileVersion(String logFileContents, String expected) {
assertThat(FailureLogAnalyzer.requiredJavaVersion(logFileContents)).isEqualTo(expected);
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-core/src/test/java/org/openrewrite/table/SourcesFileResultsTest.java b/rewrite-core/src/test/java/org/openrewrite/table/SourcesFileResultsTest.java
index 2c3f8859071..d69a978fdfd 100644
--- a/rewrite-core/src/test/java/org/openrewrite/table/SourcesFileResultsTest.java
+++ b/rewrite-core/src/test/java/org/openrewrite/table/SourcesFileResultsTest.java
@@ -68,4 +68,4 @@ void twoResultsOnly() {
)
);
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-core/src/test/java/org/openrewrite/text/EndOfLineAtEndOfFileTest.java b/rewrite-core/src/test/java/org/openrewrite/text/EndOfLineAtEndOfFileTest.java
new file mode 100644
index 00000000000..e45b4c4dd1f
--- /dev/null
+++ b/rewrite-core/src/test/java/org/openrewrite/text/EndOfLineAtEndOfFileTest.java
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2023 the original author or authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * https://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.openrewrite.text;
+
+import org.junit.jupiter.api.Test;
+import org.openrewrite.test.RecipeSpec;
+import org.openrewrite.test.RewriteTest;
+
+import static org.openrewrite.test.SourceSpecs.text;
+
+public class EndOfLineAtEndOfFileTest implements RewriteTest {
+
+ @Override
+ public void defaults(RecipeSpec spec) {
+ spec.recipe(new EndOfLineAtEndOfFile());
+ }
+
+ @Test
+ void nonTxtExtension() {
+ rewriteRun(
+ text(
+ """
+ This is text.
+ """,
+ """
+ This is text.
+
+ """,
+ spec -> spec.path("test.yml")
+ )
+ );
+ }
+
+ @Test
+ void defaultText() {
+ rewriteRun(
+ text(
+ """
+ This is text.
+ """,
+ """
+ This is text.
+
+ """
+ )
+ );
+ }
+
+ @Test
+ void fileContainingCLRFWillEndWithCLRF() {
+ rewriteRun(
+ text(
+ "Test\r\nLine",
+ "Test\r\nLine\r\n\n" // The last newline gets removed by the test framework
+ )
+ );
+ }
+}
+
diff --git a/rewrite-gradle/src/main/java/org/openrewrite/gradle/internal/DefaultImportsCustomizer.java b/rewrite-gradle/src/main/java/org/openrewrite/gradle/internal/DefaultImportsCustomizer.java
index 6c4db2e0628..e3fa770dcad 100644
--- a/rewrite-gradle/src/main/java/org/openrewrite/gradle/internal/DefaultImportsCustomizer.java
+++ b/rewrite-gradle/src/main/java/org/openrewrite/gradle/internal/DefaultImportsCustomizer.java
@@ -174,4 +174,4 @@ public void accept(CompilerConfiguration config) {
imports.addStarImports(DEFAULT_IMPORTS);
config.addCompilationCustomizers(imports);
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-hcl/src/main/antlr/input.txt b/rewrite-hcl/src/main/antlr/input.txt
index bf5ade9d122..48f89d882b5 100644
--- a/rewrite-hcl/src/main/antlr/input.txt
+++ b/rewrite-hcl/src/main/antlr/input.txt
@@ -1 +1 @@
-"abc${"a${b}"}"
\ No newline at end of file
+"abc${"a${b}"}"
diff --git a/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/HCLLexer.java b/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/HCLLexer.java
index e9f13483737..3f7b89dcd1b 100644
--- a/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/HCLLexer.java
+++ b/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/HCLLexer.java
@@ -540,4 +540,4 @@ private void HTemplateLiteral_action(RuleContext _localctx, int actionIndex) {
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/HCLParser.java b/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/HCLParser.java
index 19b94ff1063..7cba2b7b16b 100644
--- a/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/HCLParser.java
+++ b/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/HCLParser.java
@@ -3501,4 +3501,4 @@ private boolean exprTerm_sempred(ExprTermContext _localctx, int predIndex) {
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/HCLParserBaseListener.java b/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/HCLParserBaseListener.java
index 4919ec138df..f3da2ddd19d 100644
--- a/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/HCLParserBaseListener.java
+++ b/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/HCLParserBaseListener.java
@@ -676,4 +676,4 @@ public class HCLParserBaseListener implements HCLParserListener {
*
The default implementation does nothing.
*/
@Override public void visitErrorNode(ErrorNode node) { }
-}
\ No newline at end of file
+}
diff --git a/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/HCLParserBaseVisitor.java b/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/HCLParserBaseVisitor.java
index eca6abb53f4..426b7754d82 100644
--- a/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/HCLParserBaseVisitor.java
+++ b/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/HCLParserBaseVisitor.java
@@ -391,4 +391,4 @@ public class HCLParserBaseVisitor extends AbstractParseTreeVisitor impleme
* {@link #visitChildren} on {@code ctx}.
*/
@Override public T visitTemplateInterpolation(HCLParser.TemplateInterpolationContext ctx) { return visitChildren(ctx); }
-}
\ No newline at end of file
+}
diff --git a/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/HCLParserListener.java b/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/HCLParserListener.java
index be460d2933d..ac1ead622da 100644
--- a/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/HCLParserListener.java
+++ b/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/HCLParserListener.java
@@ -572,4 +572,4 @@ public interface HCLParserListener extends ParseTreeListener {
* @param ctx the parse tree
*/
void exitTemplateInterpolation(HCLParser.TemplateInterpolationContext ctx);
-}
\ No newline at end of file
+}
diff --git a/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/HCLParserVisitor.java b/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/HCLParserVisitor.java
index fa27fb0cd62..2d74150d48b 100644
--- a/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/HCLParserVisitor.java
+++ b/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/HCLParserVisitor.java
@@ -352,4 +352,4 @@ public interface HCLParserVisitor extends ParseTreeVisitor {
* @return the visitor result
*/
T visitTemplateInterpolation(HCLParser.TemplateInterpolationContext ctx);
-}
\ No newline at end of file
+}
diff --git a/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/JsonPathLexer.java b/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/JsonPathLexer.java
index ff2c226b993..8a65c670291 100644
--- a/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/JsonPathLexer.java
+++ b/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/JsonPathLexer.java
@@ -333,4 +333,4 @@ public JsonPathLexer(CharStream input) {
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/JsonPathParser.java b/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/JsonPathParser.java
index 53d1fc7c0a5..637d73ad0b9 100644
--- a/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/JsonPathParser.java
+++ b/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/JsonPathParser.java
@@ -1652,4 +1652,4 @@ private boolean binaryExpression_sempred(BinaryExpressionContext _localctx, int
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/JsonPathParserBaseListener.java b/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/JsonPathParserBaseListener.java
index e6ce2575f1d..72dd078b9ae 100644
--- a/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/JsonPathParserBaseListener.java
+++ b/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/JsonPathParserBaseListener.java
@@ -268,4 +268,4 @@ public class JsonPathParserBaseListener implements JsonPathParserListener {
* The default implementation does nothing.
*/
@Override public void visitErrorNode(ErrorNode node) { }
-}
\ No newline at end of file
+}
diff --git a/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/JsonPathParserBaseVisitor.java b/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/JsonPathParserBaseVisitor.java
index 7785bbd2a87..2564cabb349 100644
--- a/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/JsonPathParserBaseVisitor.java
+++ b/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/JsonPathParserBaseVisitor.java
@@ -153,4 +153,4 @@ public class JsonPathParserBaseVisitor extends AbstractParseTreeVisitor im
* {@link #visitChildren} on {@code ctx}.
*/
@Override public T visitIndexes(JsonPathParser.IndexesContext ctx) { return visitChildren(ctx); }
-}
\ No newline at end of file
+}
diff --git a/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/JsonPathParserListener.java b/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/JsonPathParserListener.java
index 6b550d396be..ebd084b9de3 100644
--- a/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/JsonPathParserListener.java
+++ b/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/JsonPathParserListener.java
@@ -202,4 +202,4 @@ public interface JsonPathParserListener extends ParseTreeListener {
* @param ctx the parse tree
*/
void exitIndexes(JsonPathParser.IndexesContext ctx);
-}
\ No newline at end of file
+}
diff --git a/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/JsonPathParserVisitor.java b/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/JsonPathParserVisitor.java
index 24401d4b72b..c9737954aee 100644
--- a/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/JsonPathParserVisitor.java
+++ b/rewrite-hcl/src/main/java/org/openrewrite/hcl/internal/grammar/JsonPathParserVisitor.java
@@ -133,4 +133,4 @@ public interface JsonPathParserVisitor extends ParseTreeVisitor {
* @return the visitor result
*/
T visitIndexes(JsonPathParser.IndexesContext ctx);
-}
\ No newline at end of file
+}
diff --git a/rewrite-java-test/src/test/java/org/openrewrite/java/DataTableTest.java b/rewrite-java-test/src/test/java/org/openrewrite/java/DataTableTest.java
index 7ca5d88e323..55f409571cf 100644
--- a/rewrite-java-test/src/test/java/org/openrewrite/java/DataTableTest.java
+++ b/rewrite-java-test/src/test/java/org/openrewrite/java/DataTableTest.java
@@ -94,4 +94,4 @@ void foo() {
)
);
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-java-test/src/test/java/org/openrewrite/java/JavaTemplateInstanceOfTest.java b/rewrite-java-test/src/test/java/org/openrewrite/java/JavaTemplateInstanceOfTest.java
index 8f44d2ae432..442cee04cbc 100755
--- a/rewrite-java-test/src/test/java/org/openrewrite/java/JavaTemplateInstanceOfTest.java
+++ b/rewrite-java-test/src/test/java/org/openrewrite/java/JavaTemplateInstanceOfTest.java
@@ -572,4 +572,4 @@ static void assertTypeAttribution(J sf) {
}
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-java-test/src/test/java/org/openrewrite/java/JavaTemplateMatchTest.java b/rewrite-java-test/src/test/java/org/openrewrite/java/JavaTemplateMatchTest.java
index 0ca2a8d5e58..7c6958337e9 100644
--- a/rewrite-java-test/src/test/java/org/openrewrite/java/JavaTemplateMatchTest.java
+++ b/rewrite-java-test/src/test/java/org/openrewrite/java/JavaTemplateMatchTest.java
@@ -437,4 +437,4 @@ static JavaTemplate.Builder getTemplate(JavaVisitor> visitor) {
return JavaTemplate.builder(visitor::getCursor, "1 == #{any(int)}");
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-java-test/src/test/java/org/openrewrite/java/UnwrapParenthesesTest.java b/rewrite-java-test/src/test/java/org/openrewrite/java/UnwrapParenthesesTest.java
index f93fb449ed0..37ad2fbf2e8 100644
--- a/rewrite-java-test/src/test/java/org/openrewrite/java/UnwrapParenthesesTest.java
+++ b/rewrite-java-test/src/test/java/org/openrewrite/java/UnwrapParenthesesTest.java
@@ -250,4 +250,4 @@ public class A {
)
);
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-java-test/src/test/java/org/openrewrite/java/cleanup/FinalizeMethodArgumentsTest.java b/rewrite-java-test/src/test/java/org/openrewrite/java/cleanup/FinalizeMethodArgumentsTest.java
index ee9e832101e..f5f6cf53923 100644
--- a/rewrite-java-test/src/test/java/org/openrewrite/java/cleanup/FinalizeMethodArgumentsTest.java
+++ b/rewrite-java-test/src/test/java/org/openrewrite/java/cleanup/FinalizeMethodArgumentsTest.java
@@ -227,4 +227,4 @@ public String getSubeventNameForCategoryGroupId(final String subeventName, final
)
);
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-java-test/src/test/java/org/openrewrite/java/cleanup/InstanceOfPatternMatchTest.java b/rewrite-java-test/src/test/java/org/openrewrite/java/cleanup/InstanceOfPatternMatchTest.java
index 1e1dc2f5efb..0c8bdfa4e08 100644
--- a/rewrite-java-test/src/test/java/org/openrewrite/java/cleanup/InstanceOfPatternMatchTest.java
+++ b/rewrite-java-test/src/test/java/org/openrewrite/java/cleanup/InstanceOfPatternMatchTest.java
@@ -813,4 +813,4 @@ String test(Object o) {
);
}
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-java/src/main/java/org/openrewrite/java/JavaTemplateSemanticallyEqual.java b/rewrite-java/src/main/java/org/openrewrite/java/JavaTemplateSemanticallyEqual.java
index 855040aec5b..f57198f5c8c 100644
--- a/rewrite-java/src/main/java/org/openrewrite/java/JavaTemplateSemanticallyEqual.java
+++ b/rewrite-java/src/main/java/org/openrewrite/java/JavaTemplateSemanticallyEqual.java
@@ -168,4 +168,4 @@ public J.Empty visitEmpty(J.Empty empty, J j) {
return empty;
}
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-java/src/main/java/org/openrewrite/java/PartProvider.java b/rewrite-java/src/main/java/org/openrewrite/java/PartProvider.java
index 864c5fc50bb..f9425cb43eb 100644
--- a/rewrite-java/src/main/java/org/openrewrite/java/PartProvider.java
+++ b/rewrite-java/src/main/java/org/openrewrite/java/PartProvider.java
@@ -60,4 +60,4 @@ public static J2 buildPart(@Language("java") String codeToProvide
return parts.get(0);
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-java/src/main/java/org/openrewrite/java/cleanup/FinalizeMethodArguments.java b/rewrite-java/src/main/java/org/openrewrite/java/cleanup/FinalizeMethodArguments.java
index 895aaee11a1..a433dcea3e3 100644
--- a/rewrite-java/src/main/java/org/openrewrite/java/cleanup/FinalizeMethodArguments.java
+++ b/rewrite-java/src/main/java/org/openrewrite/java/cleanup/FinalizeMethodArguments.java
@@ -196,4 +196,4 @@ private boolean hasFinalModifiers(final List parameters) {
private boolean isEmpty(final List parameters) {
return parameters.size() == 1 && (parameters.get(0) instanceof Empty);
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/AnnotationSignatureLexer.java b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/AnnotationSignatureLexer.java
index d8f5167b9ab..117f8e8aeaf 100644
--- a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/AnnotationSignatureLexer.java
+++ b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/AnnotationSignatureLexer.java
@@ -467,4 +467,4 @@ private boolean JavaLetterOrDigit_sempred(RuleContext _localctx, int predIndex)
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/AnnotationSignatureParser.java b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/AnnotationSignatureParser.java
index b5509f2d7b3..5a3e2baa1bc 100644
--- a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/AnnotationSignatureParser.java
+++ b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/AnnotationSignatureParser.java
@@ -815,4 +815,4 @@ public final LiteralContext literal() throws RecognitionException {
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/AnnotationSignatureParserBaseListener.java b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/AnnotationSignatureParserBaseListener.java
index 8981fb690ce..42682126bfa 100644
--- a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/AnnotationSignatureParserBaseListener.java
+++ b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/AnnotationSignatureParserBaseListener.java
@@ -172,4 +172,4 @@ public class AnnotationSignatureParserBaseListener implements AnnotationSignatur
* The default implementation does nothing.
*/
@Override public void visitErrorNode(ErrorNode node) { }
-}
\ No newline at end of file
+}
diff --git a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/AnnotationSignatureParserBaseVisitor.java b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/AnnotationSignatureParserBaseVisitor.java
index b5a9243d864..72ba029e821 100644
--- a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/AnnotationSignatureParserBaseVisitor.java
+++ b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/AnnotationSignatureParserBaseVisitor.java
@@ -97,4 +97,4 @@ public class AnnotationSignatureParserBaseVisitor extends AbstractParseTreeVi
* {@link #visitChildren} on {@code ctx}.
*/
@Override public T visitLiteral(AnnotationSignatureParser.LiteralContext ctx) { return visitChildren(ctx); }
-}
\ No newline at end of file
+}
diff --git a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/AnnotationSignatureParserListener.java b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/AnnotationSignatureParserListener.java
index 2d2ffdec3d1..fbc14b536b0 100644
--- a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/AnnotationSignatureParserListener.java
+++ b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/AnnotationSignatureParserListener.java
@@ -122,4 +122,4 @@ public interface AnnotationSignatureParserListener extends ParseTreeListener {
* @param ctx the parse tree
*/
void exitLiteral(AnnotationSignatureParser.LiteralContext ctx);
-}
\ No newline at end of file
+}
diff --git a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/AnnotationSignatureParserVisitor.java b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/AnnotationSignatureParserVisitor.java
index 6c9ac7fef06..fd48173e827 100644
--- a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/AnnotationSignatureParserVisitor.java
+++ b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/AnnotationSignatureParserVisitor.java
@@ -85,4 +85,4 @@ public interface AnnotationSignatureParserVisitor extends ParseTreeVisitor
* @return the visitor result
*/
T visitLiteral(AnnotationSignatureParser.LiteralContext ctx);
-}
\ No newline at end of file
+}
diff --git a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/MethodSignatureLexer.java b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/MethodSignatureLexer.java
index d2c06236a3c..38c0a663ccc 100644
--- a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/MethodSignatureLexer.java
+++ b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/MethodSignatureLexer.java
@@ -226,4 +226,4 @@ private boolean JavaLetterOrDigit_sempred(RuleContext _localctx, int predIndex)
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/MethodSignatureParser.java b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/MethodSignatureParser.java
index 5780287cfc4..dfb52a34fa7 100644
--- a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/MethodSignatureParser.java
+++ b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/MethodSignatureParser.java
@@ -1301,4 +1301,4 @@ private boolean formalTypePattern_sempred(FormalTypePatternContext _localctx, in
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/MethodSignatureParserBaseListener.java b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/MethodSignatureParserBaseListener.java
index 7af9fbca205..ef78ae6eb75 100644
--- a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/MethodSignatureParserBaseListener.java
+++ b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/MethodSignatureParserBaseListener.java
@@ -172,4 +172,4 @@ public class MethodSignatureParserBaseListener implements MethodSignatureParserL
* The default implementation does nothing.
*/
@Override public void visitErrorNode(ErrorNode node) { }
-}
\ No newline at end of file
+}
diff --git a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/MethodSignatureParserBaseVisitor.java b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/MethodSignatureParserBaseVisitor.java
index 35d2b2d4881..4a89c2f3200 100644
--- a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/MethodSignatureParserBaseVisitor.java
+++ b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/MethodSignatureParserBaseVisitor.java
@@ -97,4 +97,4 @@ public class MethodSignatureParserBaseVisitor extends AbstractParseTreeVisito
* {@link #visitChildren} on {@code ctx}.
*/
@Override public T visitSimpleNamePattern(MethodSignatureParser.SimpleNamePatternContext ctx) { return visitChildren(ctx); }
-}
\ No newline at end of file
+}
diff --git a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/MethodSignatureParserListener.java b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/MethodSignatureParserListener.java
index 3b234f8b3dc..e602579696a 100644
--- a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/MethodSignatureParserListener.java
+++ b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/MethodSignatureParserListener.java
@@ -122,4 +122,4 @@ public interface MethodSignatureParserListener extends ParseTreeListener {
* @param ctx the parse tree
*/
void exitSimpleNamePattern(MethodSignatureParser.SimpleNamePatternContext ctx);
-}
\ No newline at end of file
+}
diff --git a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/MethodSignatureParserVisitor.java b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/MethodSignatureParserVisitor.java
index ff0b0e9c790..8d1ff019f21 100644
--- a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/MethodSignatureParserVisitor.java
+++ b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/MethodSignatureParserVisitor.java
@@ -85,4 +85,4 @@ public interface MethodSignatureParserVisitor extends ParseTreeVisitor {
* @return the visitor result
*/
T visitSimpleNamePattern(MethodSignatureParser.SimpleNamePatternContext ctx);
-}
\ No newline at end of file
+}
diff --git a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/TemplateParameterLexer.java b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/TemplateParameterLexer.java
index c77ef527bb3..dcd872c2f43 100644
--- a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/TemplateParameterLexer.java
+++ b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/TemplateParameterLexer.java
@@ -234,4 +234,4 @@ private boolean JavaLetterOrDigit_sempred(RuleContext _localctx, int predIndex)
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/TemplateParameterParser.java b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/TemplateParameterParser.java
index f6788060ca5..dcc77abb539 100644
--- a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/TemplateParameterParser.java
+++ b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/TemplateParameterParser.java
@@ -298,4 +298,4 @@ public final MatcherNameContext matcherName() throws RecognitionException {
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/TemplateParameterParserBaseListener.java b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/TemplateParameterParserBaseListener.java
index 7b2e051d027..2a8d6f843e6 100644
--- a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/TemplateParameterParserBaseListener.java
+++ b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/TemplateParameterParserBaseListener.java
@@ -88,4 +88,4 @@ public class TemplateParameterParserBaseListener implements TemplateParameterPar
* The default implementation does nothing.
*/
@Override public void visitErrorNode(ErrorNode node) { }
-}
\ No newline at end of file
+}
diff --git a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/TemplateParameterParserBaseVisitor.java b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/TemplateParameterParserBaseVisitor.java
index 227a5f411f6..9c7bf807d9a 100644
--- a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/TemplateParameterParserBaseVisitor.java
+++ b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/TemplateParameterParserBaseVisitor.java
@@ -48,4 +48,4 @@ public class TemplateParameterParserBaseVisitor extends AbstractParseTreeVisi
* {@link #visitChildren} on {@code ctx}.
*/
@Override public T visitMatcherName(TemplateParameterParser.MatcherNameContext ctx) { return visitChildren(ctx); }
-}
\ No newline at end of file
+}
diff --git a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/TemplateParameterParserListener.java b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/TemplateParameterParserListener.java
index 7033ac6f48d..7648fc217ee 100644
--- a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/TemplateParameterParserListener.java
+++ b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/TemplateParameterParserListener.java
@@ -52,4 +52,4 @@ public interface TemplateParameterParserListener extends ParseTreeListener {
* @param ctx the parse tree
*/
void exitMatcherName(TemplateParameterParser.MatcherNameContext ctx);
-}
\ No newline at end of file
+}
diff --git a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/TemplateParameterParserVisitor.java b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/TemplateParameterParserVisitor.java
index ca9fb7a331e..e676ac3f93f 100644
--- a/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/TemplateParameterParserVisitor.java
+++ b/rewrite-java/src/main/java/org/openrewrite/java/internal/grammar/TemplateParameterParserVisitor.java
@@ -43,4 +43,4 @@ public interface TemplateParameterParserVisitor extends ParseTreeVisitor {
* @return the visitor result
*/
T visitMatcherName(TemplateParameterParser.MatcherNameContext ctx);
-}
\ No newline at end of file
+}
diff --git a/rewrite-java/src/main/java/org/openrewrite/java/search/DeclaresType.java b/rewrite-java/src/main/java/org/openrewrite/java/search/DeclaresType.java
index 27f23a32358..7d5d96829fc 100644
--- a/rewrite-java/src/main/java/org/openrewrite/java/search/DeclaresType.java
+++ b/rewrite-java/src/main/java/org/openrewrite/java/search/DeclaresType.java
@@ -34,4 +34,4 @@ public J.ClassDeclaration visitClassDeclaration(J.ClassDeclaration classDecl, P
}
return cd;
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-java/src/test/java/org/openrewrite/java/search/DeclaresTypeTest.java b/rewrite-java/src/test/java/org/openrewrite/java/search/DeclaresTypeTest.java
index 5c9cc6b82da..e1a7aa53a67 100644
--- a/rewrite-java/src/test/java/org/openrewrite/java/search/DeclaresTypeTest.java
+++ b/rewrite-java/src/test/java/org/openrewrite/java/search/DeclaresTypeTest.java
@@ -45,4 +45,4 @@ void notDeclares() {
public class Fooz{}
"""));
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JSON5BaseListener.java b/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JSON5BaseListener.java
index 006071a4a64..9ac32c0a143 100644
--- a/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JSON5BaseListener.java
+++ b/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JSON5BaseListener.java
@@ -136,4 +136,4 @@ public class JSON5BaseListener implements JSON5Listener {
* The default implementation does nothing.
*/
@Override public void visitErrorNode(ErrorNode node) { }
-}
\ No newline at end of file
+}
diff --git a/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JSON5BaseVisitor.java b/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JSON5BaseVisitor.java
index a84e8b733a3..c070e458850 100644
--- a/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JSON5BaseVisitor.java
+++ b/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JSON5BaseVisitor.java
@@ -76,4 +76,4 @@ public class JSON5BaseVisitor extends AbstractParseTreeVisitor implements
* {@link #visitChildren} on {@code ctx}.
*/
@Override public T visitNumber(JSON5Parser.NumberContext ctx) { return visitChildren(ctx); }
-}
\ No newline at end of file
+}
diff --git a/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JSON5Lexer.java b/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JSON5Lexer.java
index 2e637e5f016..f96237459ce 100644
--- a/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JSON5Lexer.java
+++ b/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JSON5Lexer.java
@@ -574,4 +574,4 @@ public JSON5Lexer(CharStream input) {
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JSON5Listener.java b/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JSON5Listener.java
index 85323ebbafd..031246ed285 100644
--- a/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JSON5Listener.java
+++ b/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JSON5Listener.java
@@ -92,4 +92,4 @@ public interface JSON5Listener extends ParseTreeListener {
* @param ctx the parse tree
*/
void exitNumber(JSON5Parser.NumberContext ctx);
-}
\ No newline at end of file
+}
diff --git a/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JSON5Parser.java b/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JSON5Parser.java
index aa152641a59..dc666a6ec9a 100644
--- a/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JSON5Parser.java
+++ b/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JSON5Parser.java
@@ -676,4 +676,4 @@ public final NumberContext number() throws RecognitionException {
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JSON5Visitor.java b/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JSON5Visitor.java
index b20f035962d..0391525c0ae 100644
--- a/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JSON5Visitor.java
+++ b/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JSON5Visitor.java
@@ -67,4 +67,4 @@ public interface JSON5Visitor extends ParseTreeVisitor {
* @return the visitor result
*/
T visitNumber(JSON5Parser.NumberContext ctx);
-}
\ No newline at end of file
+}
diff --git a/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JsonPathLexer.java b/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JsonPathLexer.java
index 3fe6d35e76c..8b8c5cff683 100644
--- a/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JsonPathLexer.java
+++ b/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JsonPathLexer.java
@@ -333,4 +333,4 @@ public JsonPathLexer(CharStream input) {
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JsonPathParser.java b/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JsonPathParser.java
index a9252ae0afe..d4e4a7011aa 100644
--- a/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JsonPathParser.java
+++ b/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JsonPathParser.java
@@ -1652,4 +1652,4 @@ private boolean binaryExpression_sempred(BinaryExpressionContext _localctx, int
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JsonPathParserBaseListener.java b/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JsonPathParserBaseListener.java
index 7bcbbc44a50..031e46c8239 100644
--- a/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JsonPathParserBaseListener.java
+++ b/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JsonPathParserBaseListener.java
@@ -268,4 +268,4 @@ public class JsonPathParserBaseListener implements JsonPathParserListener {
* The default implementation does nothing.
*/
@Override public void visitErrorNode(ErrorNode node) { }
-}
\ No newline at end of file
+}
diff --git a/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JsonPathParserBaseVisitor.java b/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JsonPathParserBaseVisitor.java
index 3a34be7689d..ff32d4e845f 100644
--- a/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JsonPathParserBaseVisitor.java
+++ b/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JsonPathParserBaseVisitor.java
@@ -153,4 +153,4 @@ public class JsonPathParserBaseVisitor extends AbstractParseTreeVisitor im
* {@link #visitChildren} on {@code ctx}.
*/
@Override public T visitIndexes(JsonPathParser.IndexesContext ctx) { return visitChildren(ctx); }
-}
\ No newline at end of file
+}
diff --git a/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JsonPathParserListener.java b/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JsonPathParserListener.java
index ebab33924ee..e728b050d31 100644
--- a/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JsonPathParserListener.java
+++ b/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JsonPathParserListener.java
@@ -202,4 +202,4 @@ public interface JsonPathParserListener extends ParseTreeListener {
* @param ctx the parse tree
*/
void exitIndexes(JsonPathParser.IndexesContext ctx);
-}
\ No newline at end of file
+}
diff --git a/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JsonPathParserVisitor.java b/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JsonPathParserVisitor.java
index c7e8c62b621..2cfd4c22c79 100644
--- a/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JsonPathParserVisitor.java
+++ b/rewrite-json/src/main/java/org/openrewrite/json/internal/grammar/JsonPathParserVisitor.java
@@ -133,4 +133,4 @@ public interface JsonPathParserVisitor extends ParseTreeVisitor {
* @return the visitor result
*/
T visitIndexes(JsonPathParser.IndexesContext ctx);
-}
\ No newline at end of file
+}
diff --git a/rewrite-maven/src/main/java/org/openrewrite/maven/internal/grammar/VersionRangeLexer.java b/rewrite-maven/src/main/java/org/openrewrite/maven/internal/grammar/VersionRangeLexer.java
index f407efd3459..509335296bf 100644
--- a/rewrite-maven/src/main/java/org/openrewrite/maven/internal/grammar/VersionRangeLexer.java
+++ b/rewrite-maven/src/main/java/org/openrewrite/maven/internal/grammar/VersionRangeLexer.java
@@ -161,4 +161,4 @@ public VersionRangeLexer(CharStream input) {
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-maven/src/main/java/org/openrewrite/maven/internal/grammar/VersionRangeParser.java b/rewrite-maven/src/main/java/org/openrewrite/maven/internal/grammar/VersionRangeParser.java
index f12d53078bf..a441737c22f 100644
--- a/rewrite-maven/src/main/java/org/openrewrite/maven/internal/grammar/VersionRangeParser.java
+++ b/rewrite-maven/src/main/java/org/openrewrite/maven/internal/grammar/VersionRangeParser.java
@@ -587,4 +587,4 @@ public final VersionContext version() throws RecognitionException {
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-maven/src/main/java/org/openrewrite/maven/internal/grammar/VersionRangeParserBaseListener.java b/rewrite-maven/src/main/java/org/openrewrite/maven/internal/grammar/VersionRangeParserBaseListener.java
index 9e8419ce0c5..c0a726aa451 100644
--- a/rewrite-maven/src/main/java/org/openrewrite/maven/internal/grammar/VersionRangeParserBaseListener.java
+++ b/rewrite-maven/src/main/java/org/openrewrite/maven/internal/grammar/VersionRangeParserBaseListener.java
@@ -136,4 +136,4 @@ public class VersionRangeParserBaseListener implements VersionRangeParserListene
* The default implementation does nothing.
*/
@Override public void visitErrorNode(ErrorNode node) { }
-}
\ No newline at end of file
+}
diff --git a/rewrite-maven/src/main/java/org/openrewrite/maven/internal/grammar/VersionRangeParserBaseVisitor.java b/rewrite-maven/src/main/java/org/openrewrite/maven/internal/grammar/VersionRangeParserBaseVisitor.java
index 9ab38f11538..66fa2a8d628 100644
--- a/rewrite-maven/src/main/java/org/openrewrite/maven/internal/grammar/VersionRangeParserBaseVisitor.java
+++ b/rewrite-maven/src/main/java/org/openrewrite/maven/internal/grammar/VersionRangeParserBaseVisitor.java
@@ -76,4 +76,4 @@ public class VersionRangeParserBaseVisitor extends AbstractParseTreeVisitor
*/
@Override public T visitVersion(VersionRangeParser.VersionContext ctx) { return visitChildren(ctx); }
-}
\ No newline at end of file
+}
diff --git a/rewrite-maven/src/main/java/org/openrewrite/maven/internal/grammar/VersionRangeParserListener.java b/rewrite-maven/src/main/java/org/openrewrite/maven/internal/grammar/VersionRangeParserListener.java
index 687dbf136f6..1d551ece4fb 100644
--- a/rewrite-maven/src/main/java/org/openrewrite/maven/internal/grammar/VersionRangeParserListener.java
+++ b/rewrite-maven/src/main/java/org/openrewrite/maven/internal/grammar/VersionRangeParserListener.java
@@ -92,4 +92,4 @@ public interface VersionRangeParserListener extends ParseTreeListener {
* @param ctx the parse tree
*/
void exitVersion(VersionRangeParser.VersionContext ctx);
-}
\ No newline at end of file
+}
diff --git a/rewrite-maven/src/main/java/org/openrewrite/maven/internal/grammar/VersionRangeParserVisitor.java b/rewrite-maven/src/main/java/org/openrewrite/maven/internal/grammar/VersionRangeParserVisitor.java
index dff08e5059f..a6b3c599668 100644
--- a/rewrite-maven/src/main/java/org/openrewrite/maven/internal/grammar/VersionRangeParserVisitor.java
+++ b/rewrite-maven/src/main/java/org/openrewrite/maven/internal/grammar/VersionRangeParserVisitor.java
@@ -67,4 +67,4 @@ public interface VersionRangeParserVisitor extends ParseTreeVisitor {
* @return the visitor result
*/
T visitVersion(VersionRangeParser.VersionContext ctx);
-}
\ No newline at end of file
+}
diff --git a/rewrite-maven/src/test/java/org/openrewrite/maven/RemovePluginDependencyTest.java b/rewrite-maven/src/test/java/org/openrewrite/maven/RemovePluginDependencyTest.java
index 2c663db95d1..ced7f611279 100644
--- a/rewrite-maven/src/test/java/org/openrewrite/maven/RemovePluginDependencyTest.java
+++ b/rewrite-maven/src/test/java/org/openrewrite/maven/RemovePluginDependencyTest.java
@@ -168,4 +168,4 @@ void wrongPlugin() {
""")
);
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-maven/src/test/java/org/openrewrite/maven/search/DoesNotIncludeDependencyTest.java b/rewrite-maven/src/test/java/org/openrewrite/maven/search/DoesNotIncludeDependencyTest.java
index 269d1c1f5d4..f831054f4aa 100644
--- a/rewrite-maven/src/test/java/org/openrewrite/maven/search/DoesNotIncludeDependencyTest.java
+++ b/rewrite-maven/src/test/java/org/openrewrite/maven/search/DoesNotIncludeDependencyTest.java
@@ -543,4 +543,4 @@ void dependencyNotPresentPassesApplicability() {
"""));
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-maven/src/test/resources/logback.xml b/rewrite-maven/src/test/resources/logback.xml
index 07d329f9c35..40ff80eb7c1 100755
--- a/rewrite-maven/src/test/resources/logback.xml
+++ b/rewrite-maven/src/test/resources/logback.xml
@@ -28,4 +28,4 @@
-
\ No newline at end of file
+
diff --git a/rewrite-protobuf/src/main/java/org/openrewrite/protobuf/internal/grammar/Protobuf2Lexer.java b/rewrite-protobuf/src/main/java/org/openrewrite/protobuf/internal/grammar/Protobuf2Lexer.java
index b11193c25a5..1e41e4a7430 100644
--- a/rewrite-protobuf/src/main/java/org/openrewrite/protobuf/internal/grammar/Protobuf2Lexer.java
+++ b/rewrite-protobuf/src/main/java/org/openrewrite/protobuf/internal/grammar/Protobuf2Lexer.java
@@ -522,4 +522,4 @@ public Protobuf2Lexer(CharStream input) {
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-protobuf/src/main/java/org/openrewrite/protobuf/internal/grammar/Protobuf2Parser.java b/rewrite-protobuf/src/main/java/org/openrewrite/protobuf/internal/grammar/Protobuf2Parser.java
index 662485ac771..5e07dbb583f 100644
--- a/rewrite-protobuf/src/main/java/org/openrewrite/protobuf/internal/grammar/Protobuf2Parser.java
+++ b/rewrite-protobuf/src/main/java/org/openrewrite/protobuf/internal/grammar/Protobuf2Parser.java
@@ -3199,4 +3199,4 @@ public final ConstantContext constant() throws RecognitionException {
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-protobuf/src/main/java/org/openrewrite/protobuf/internal/grammar/Protobuf2ParserBaseListener.java b/rewrite-protobuf/src/main/java/org/openrewrite/protobuf/internal/grammar/Protobuf2ParserBaseListener.java
index fda08e33009..b9208344c7b 100644
--- a/rewrite-protobuf/src/main/java/org/openrewrite/protobuf/internal/grammar/Protobuf2ParserBaseListener.java
+++ b/rewrite-protobuf/src/main/java/org/openrewrite/protobuf/internal/grammar/Protobuf2ParserBaseListener.java
@@ -508,4 +508,4 @@ public class Protobuf2ParserBaseListener implements Protobuf2ParserListener {
* The default implementation does nothing.
*/
@Override public void visitErrorNode(ErrorNode node) { }
-}
\ No newline at end of file
+}
diff --git a/rewrite-protobuf/src/main/java/org/openrewrite/protobuf/internal/grammar/Protobuf2ParserBaseVisitor.java b/rewrite-protobuf/src/main/java/org/openrewrite/protobuf/internal/grammar/Protobuf2ParserBaseVisitor.java
index 736673e8d54..c64bad4b75b 100644
--- a/rewrite-protobuf/src/main/java/org/openrewrite/protobuf/internal/grammar/Protobuf2ParserBaseVisitor.java
+++ b/rewrite-protobuf/src/main/java/org/openrewrite/protobuf/internal/grammar/Protobuf2ParserBaseVisitor.java
@@ -293,4 +293,4 @@ public class Protobuf2ParserBaseVisitor extends AbstractParseTreeVisitor i
* {@link #visitChildren} on {@code ctx}.
*/
@Override public T visitConstant(Protobuf2Parser.ConstantContext ctx) { return visitChildren(ctx); }
-}
\ No newline at end of file
+}
diff --git a/rewrite-protobuf/src/main/java/org/openrewrite/protobuf/internal/grammar/Protobuf2ParserListener.java b/rewrite-protobuf/src/main/java/org/openrewrite/protobuf/internal/grammar/Protobuf2ParserListener.java
index 4764253d8f4..6b7e93cb957 100644
--- a/rewrite-protobuf/src/main/java/org/openrewrite/protobuf/internal/grammar/Protobuf2ParserListener.java
+++ b/rewrite-protobuf/src/main/java/org/openrewrite/protobuf/internal/grammar/Protobuf2ParserListener.java
@@ -406,4 +406,4 @@ public interface Protobuf2ParserListener extends ParseTreeListener {
* @param ctx the parse tree
*/
void exitConstant(Protobuf2Parser.ConstantContext ctx);
-}
\ No newline at end of file
+}
diff --git a/rewrite-protobuf/src/main/java/org/openrewrite/protobuf/internal/grammar/Protobuf2ParserVisitor.java b/rewrite-protobuf/src/main/java/org/openrewrite/protobuf/internal/grammar/Protobuf2ParserVisitor.java
index fabfb0ba2c1..c1483f0cd30 100644
--- a/rewrite-protobuf/src/main/java/org/openrewrite/protobuf/internal/grammar/Protobuf2ParserVisitor.java
+++ b/rewrite-protobuf/src/main/java/org/openrewrite/protobuf/internal/grammar/Protobuf2ParserVisitor.java
@@ -255,4 +255,4 @@ public interface Protobuf2ParserVisitor extends ParseTreeVisitor {
* @return the visitor result
*/
T visitConstant(Protobuf2Parser.ConstantContext ctx);
-}
\ No newline at end of file
+}
diff --git a/rewrite-xml/src/main/java/org/openrewrite/xml/internal/grammar/XMLLexer.java b/rewrite-xml/src/main/java/org/openrewrite/xml/internal/grammar/XMLLexer.java
index 4be4a536e1a..92f70776c3b 100644
--- a/rewrite-xml/src/main/java/org/openrewrite/xml/internal/grammar/XMLLexer.java
+++ b/rewrite-xml/src/main/java/org/openrewrite/xml/internal/grammar/XMLLexer.java
@@ -386,4 +386,4 @@ public XMLLexer(CharStream input) {
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-xml/src/main/java/org/openrewrite/xml/internal/grammar/XMLParser.java b/rewrite-xml/src/main/java/org/openrewrite/xml/internal/grammar/XMLParser.java
index 22cf61859b0..1f8f67af104 100644
--- a/rewrite-xml/src/main/java/org/openrewrite/xml/internal/grammar/XMLParser.java
+++ b/rewrite-xml/src/main/java/org/openrewrite/xml/internal/grammar/XMLParser.java
@@ -1332,4 +1332,4 @@ public final ChardataContext chardata() throws RecognitionException {
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-xml/src/main/java/org/openrewrite/xml/internal/grammar/XMLParserBaseListener.java b/rewrite-xml/src/main/java/org/openrewrite/xml/internal/grammar/XMLParserBaseListener.java
index f0164bbd484..435705188e1 100755
--- a/rewrite-xml/src/main/java/org/openrewrite/xml/internal/grammar/XMLParserBaseListener.java
+++ b/rewrite-xml/src/main/java/org/openrewrite/xml/internal/grammar/XMLParserBaseListener.java
@@ -232,4 +232,4 @@ public class XMLParserBaseListener implements XMLParserListener {
* The default implementation does nothing.
*/
@Override public void visitErrorNode(ErrorNode node) { }
-}
\ No newline at end of file
+}
diff --git a/rewrite-xml/src/main/java/org/openrewrite/xml/internal/grammar/XMLParserBaseVisitor.java b/rewrite-xml/src/main/java/org/openrewrite/xml/internal/grammar/XMLParserBaseVisitor.java
index cdb7baf6b14..203ba25c65f 100755
--- a/rewrite-xml/src/main/java/org/openrewrite/xml/internal/grammar/XMLParserBaseVisitor.java
+++ b/rewrite-xml/src/main/java/org/openrewrite/xml/internal/grammar/XMLParserBaseVisitor.java
@@ -132,4 +132,4 @@ public class XMLParserBaseVisitor extends AbstractParseTreeVisitor impleme
* {@link #visitChildren} on {@code ctx}.
*/
@Override public T visitChardata(XMLParser.ChardataContext ctx) { return visitChildren(ctx); }
-}
\ No newline at end of file
+}
diff --git a/rewrite-xml/src/main/java/org/openrewrite/xml/internal/grammar/XMLParserListener.java b/rewrite-xml/src/main/java/org/openrewrite/xml/internal/grammar/XMLParserListener.java
index 37cc58c8b64..d7dd8e1ed96 100755
--- a/rewrite-xml/src/main/java/org/openrewrite/xml/internal/grammar/XMLParserListener.java
+++ b/rewrite-xml/src/main/java/org/openrewrite/xml/internal/grammar/XMLParserListener.java
@@ -172,4 +172,4 @@ public interface XMLParserListener extends ParseTreeListener {
* @param ctx the parse tree
*/
void exitChardata(XMLParser.ChardataContext ctx);
-}
\ No newline at end of file
+}
diff --git a/rewrite-xml/src/main/java/org/openrewrite/xml/internal/grammar/XMLParserVisitor.java b/rewrite-xml/src/main/java/org/openrewrite/xml/internal/grammar/XMLParserVisitor.java
index 50eb8d316a8..b972761d5aa 100755
--- a/rewrite-xml/src/main/java/org/openrewrite/xml/internal/grammar/XMLParserVisitor.java
+++ b/rewrite-xml/src/main/java/org/openrewrite/xml/internal/grammar/XMLParserVisitor.java
@@ -115,4 +115,4 @@ public interface XMLParserVisitor extends ParseTreeVisitor {
* @return the visitor result
*/
T visitChardata(XMLParser.ChardataContext ctx);
-}
\ No newline at end of file
+}
diff --git a/rewrite-yaml/src/main/java/org/openrewrite/yaml/AppendToSequence.java b/rewrite-yaml/src/main/java/org/openrewrite/yaml/AppendToSequence.java
index b9b8387fa3d..54463867cbe 100644
--- a/rewrite-yaml/src/main/java/org/openrewrite/yaml/AppendToSequence.java
+++ b/rewrite-yaml/src/main/java/org/openrewrite/yaml/AppendToSequence.java
@@ -84,4 +84,4 @@ public YamlVisitor getVisitor() {
boolean anyOrder = (this.matchExistingSequenceValuesInAnyOrder == null) ? false : Boolean.valueOf(this.matchExistingSequenceValuesInAnyOrder);
return new AppendToSequenceVisitor(matcher, value, existingSequenceValues, anyOrder);
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-yaml/src/main/java/org/openrewrite/yaml/AppendToSequenceVisitor.java b/rewrite-yaml/src/main/java/org/openrewrite/yaml/AppendToSequenceVisitor.java
index 92eb34c56b9..b1faaabd077 100644
--- a/rewrite-yaml/src/main/java/org/openrewrite/yaml/AppendToSequenceVisitor.java
+++ b/rewrite-yaml/src/main/java/org/openrewrite/yaml/AppendToSequenceVisitor.java
@@ -131,4 +131,4 @@ private static boolean alreadyVisited(Yaml.Sequence seq, ExecutionContext contex
private static String makeAlreadyVisitedKey(Yaml.Sequence seq) {
return AppendToSequenceVisitor.class.getName() + ".alreadyVisited." + seq.getId().toString();
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-yaml/src/main/java/org/openrewrite/yaml/internal/grammar/JsonPathLexer.java b/rewrite-yaml/src/main/java/org/openrewrite/yaml/internal/grammar/JsonPathLexer.java
index d9fdaca0c84..375d6dcfb05 100644
--- a/rewrite-yaml/src/main/java/org/openrewrite/yaml/internal/grammar/JsonPathLexer.java
+++ b/rewrite-yaml/src/main/java/org/openrewrite/yaml/internal/grammar/JsonPathLexer.java
@@ -333,4 +333,4 @@ public JsonPathLexer(CharStream input) {
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-yaml/src/main/java/org/openrewrite/yaml/internal/grammar/JsonPathParser.java b/rewrite-yaml/src/main/java/org/openrewrite/yaml/internal/grammar/JsonPathParser.java
index 01efd20707c..307dee4d956 100644
--- a/rewrite-yaml/src/main/java/org/openrewrite/yaml/internal/grammar/JsonPathParser.java
+++ b/rewrite-yaml/src/main/java/org/openrewrite/yaml/internal/grammar/JsonPathParser.java
@@ -1652,4 +1652,4 @@ private boolean binaryExpression_sempred(BinaryExpressionContext _localctx, int
_decisionToDFA[i] = new DFA(_ATN.getDecisionState(i), i);
}
}
-}
\ No newline at end of file
+}
diff --git a/rewrite-yaml/src/main/java/org/openrewrite/yaml/internal/grammar/JsonPathParserBaseListener.java b/rewrite-yaml/src/main/java/org/openrewrite/yaml/internal/grammar/JsonPathParserBaseListener.java
index 602363c487f..66f949c723f 100644
--- a/rewrite-yaml/src/main/java/org/openrewrite/yaml/internal/grammar/JsonPathParserBaseListener.java
+++ b/rewrite-yaml/src/main/java/org/openrewrite/yaml/internal/grammar/JsonPathParserBaseListener.java
@@ -268,4 +268,4 @@ public class JsonPathParserBaseListener implements JsonPathParserListener {
* The default implementation does nothing.
*/
@Override public void visitErrorNode(ErrorNode node) { }
-}
\ No newline at end of file
+}
diff --git a/rewrite-yaml/src/main/java/org/openrewrite/yaml/internal/grammar/JsonPathParserBaseVisitor.java b/rewrite-yaml/src/main/java/org/openrewrite/yaml/internal/grammar/JsonPathParserBaseVisitor.java
index c1968975899..e23f41ef29e 100644
--- a/rewrite-yaml/src/main/java/org/openrewrite/yaml/internal/grammar/JsonPathParserBaseVisitor.java
+++ b/rewrite-yaml/src/main/java/org/openrewrite/yaml/internal/grammar/JsonPathParserBaseVisitor.java
@@ -153,4 +153,4 @@ public class JsonPathParserBaseVisitor extends AbstractParseTreeVisitor im
* {@link #visitChildren} on {@code ctx}.
*/
@Override public T visitIndexes(JsonPathParser.IndexesContext ctx) { return visitChildren(ctx); }
-}
\ No newline at end of file
+}
diff --git a/rewrite-yaml/src/main/java/org/openrewrite/yaml/internal/grammar/JsonPathParserListener.java b/rewrite-yaml/src/main/java/org/openrewrite/yaml/internal/grammar/JsonPathParserListener.java
index a78dfb4a5ee..e435a96d5d3 100644
--- a/rewrite-yaml/src/main/java/org/openrewrite/yaml/internal/grammar/JsonPathParserListener.java
+++ b/rewrite-yaml/src/main/java/org/openrewrite/yaml/internal/grammar/JsonPathParserListener.java
@@ -202,4 +202,4 @@ public interface JsonPathParserListener extends ParseTreeListener {
* @param ctx the parse tree
*/
void exitIndexes(JsonPathParser.IndexesContext ctx);
-}
\ No newline at end of file
+}
diff --git a/rewrite-yaml/src/main/java/org/openrewrite/yaml/internal/grammar/JsonPathParserVisitor.java b/rewrite-yaml/src/main/java/org/openrewrite/yaml/internal/grammar/JsonPathParserVisitor.java
index b76c50c61ba..00d27cc4be7 100644
--- a/rewrite-yaml/src/main/java/org/openrewrite/yaml/internal/grammar/JsonPathParserVisitor.java
+++ b/rewrite-yaml/src/main/java/org/openrewrite/yaml/internal/grammar/JsonPathParserVisitor.java
@@ -133,4 +133,4 @@ public interface JsonPathParserVisitor extends ParseTreeVisitor {
* @return the visitor result
*/
T visitIndexes(JsonPathParser.IndexesContext ctx);
-}
\ No newline at end of file
+}
diff --git a/rewrite.yml b/rewrite.yml
new file mode 100644
index 00000000000..8d4317863f3
--- /dev/null
+++ b/rewrite.yml
@@ -0,0 +1,8 @@
+---
+type: specs.openrewrite.org/v1beta/recipe
+name: org.openrewrite.self.Rewrite
+displayName: The rewrite recipes that rewrite rewrite recipes
+description: >
+ The set of recipes that run against the rewrite codebase itself.
+recipeList:
+ - org.openrewrite.text.EndOfLineAtEndOfFile