Skip to content

Latest commit

 

History

History
executable file
·
38 lines (26 loc) · 2.12 KB

CONTRIBUTING.md

File metadata and controls

executable file
·
38 lines (26 loc) · 2.12 KB

Building & Developing OpenRewrite

We use Gradle to build this project. The gradle wrapper checked into this project defines the gradle version to use.
When building from the command line invoke the wrapper with ./gradlew build on unix-style terminals and gradlew build on windows-style terminals.

NOTE: windows-style users should ensure that they configure core.autocrlf = false as Rewrite requires unix-style line endings. This can be done at clone time by using git clone -c core.autocrlf=false https://github.com/openrewrite/rewrite.git.

NOTE: the gradle wrapper requires a preexisting JDK 8 installation. If not present the build will fail to download the toolchain in task :rewrite-gradle:compileGroovy. Install JDK 8 manually, for instance through Adoptium.

CLI Environment Configuration:

  • JDK version: 17
  • Gradle version: Defined in wrapper

IDE Configuration

We use IntelliJ IDEA to develop this project. Other IDEs or versions of this IDE can be made to work. These are one set of versions we know works:

  • IDEA version: 2022.2.3

You must set the -parameters compiler flag to run Rewrite tests. If your system does not have UTF-8 as its default character encoding (e.g., Windows) you must also add -encoding utf8. Add these to the "additional command line parameters" field in IntelliJ -> Preferences -> Build, Execution, Deployment -> Compiler -> Java Compiler.

image

Optimizing your IDE only for modules you want to work on

If you are only working on a subset of the modules in this project, you can optimize your IDE to only load those modules. Copy IDE.properties.tmp to IDE.properties and comment out any lines that correspond to modules you do not want to work on. This will cause Gradle to swap those project dependencies for binary dependencies resolved from either Maven local or the OSS snapshots repository, and speed up your IDE.