Links
Comment on page

Find parse to print inequality

org.openrewrite.search.FindParseToPrintInequality
OpenRewrite Parser implementations should produce SourceFile objects whose printAll() method should be byte-for-byte equivalent with the original source file. When this isn't true, recipes can still run on the SourceFile and even produce diffs, but the diffs would fail to apply as a patch to the original source file. Most Parser use Parser#requirePrintEqualsInput to produce a ParseError when they fail to produce a SourceFile that is print idempotent.

Recipe source

  • groupId: org.openrewrite
  • artifactId: rewrite-core
  • version: 8.9.5

Data Tables (Only available on the Moderne platform)

Parser to print inequalities

A list of files that parsers produced SourceFile which, when printed, didn't match the original source code.
Column Name
Description
Source path
The file that failed to parse.
Diff
The diff between the original source code and the printed SourceFile.

Usage

This recipe has no required configuration parameters and comes from a rewrite core library. It can be activated directly without adding any dependencies.
Gradle
Gradle init script
Maven POM
Maven Command Line
Moderne CLI
  1. 1.
    Add the following to your build.gradle file:
build.gradle
plugins {
id("org.openrewrite.rewrite") version("6.5.6")
}
rewrite {
activeRecipe("org.openrewrite.search.FindParseToPrintInequality")
}
repositories {
mavenCentral()
}
  1. 2.
    Run gradle rewriteRun to run the recipe.
  1. 1.
    Create a file named init.gradle in the root of your project.
init.gradle
initscript {
repositories {
maven { url "https://plugins.gradle.org/m2" }
}
dependencies { classpath("org.openrewrite:plugin:latest.release") }
}
rootProject {
plugins.apply(org.openrewrite.gradle.RewritePlugin)
dependencies {
rewrite("org.openrewrite:rewrite-java")
}
rewrite {
activeRecipe("org.openrewrite.search.FindParseToPrintInequality")
}
afterEvaluate {
if (repositories.isEmpty()) {
repositories {
mavenCentral()
}
}
}
}
  1. 2.
    Run gradle --init-script init.gradle rewriteRun to run the recipe.
  1. 1.
    Add the following to your pom.xml file:
pom.xml
<project>
<build>
<plugins>
<plugin>
<groupId>org.openrewrite.maven</groupId>
<artifactId>rewrite-maven-plugin</artifactId>
<version>5.13.0</version>
<configuration>
<activeRecipes>
<recipe>org.openrewrite.search.FindParseToPrintInequality</recipe>
</activeRecipes>
</configuration>
</plugin>
</plugins>
</build>
</project>
  1. 2.
    Run mvn rewrite:run to run the recipe.
You will need to have Maven installed on your machine before you can run the following command.
shell
mvn -U org.openrewrite.maven:rewrite-maven-plugin:run \
-Drewrite.activeRecipes=org.openrewrite.search.FindParseToPrintInequality
You will need to have configured the Moderne CLI on your machine before you can run the following command.
shell
mod run . --recipe FindParseToPrintInequality

See how this recipe works across multiple open-source repositories

Moderne Link Image
The community edition of the Moderne platform enables you to easily run recipes across thousands of open-source repositories.
Please contact Moderne for more information about safely running the recipes on your own codebase in a private SaaS.

Contributors