diff --git a/DEVELOPER_GUIDE.rst b/DEVELOPER_GUIDE.rst index 923cb459f9..257e3bb8f9 100644 --- a/DEVELOPER_GUIDE.rst +++ b/DEVELOPER_GUIDE.rst @@ -113,8 +113,8 @@ Note that missing license header will be detected by Gradle license plugin and f Making Code Changes =================== -Project Strucure ----------------- +Project Structure +----------------- The plugin codebase is in standard layout of Gradle project:: @@ -226,6 +226,10 @@ Most of the time you just need to run ./gradlew build which will make sure you p - Build plugin by run all tasks above (this takes time). * - ./gradlew pitest - Run PiTest mutation testing (see more info in `#1204 `_) + * - ./gradlew spotlessCheck + - Runs Spotless to check for code style. + * - ./gradlew spotlessApply + - Automatically apply spotless code style changes. For integration test, you can use ``-Dtests.class`` “UT full path” to run a task individually. For example ``./gradlew :integ-test:integTest -Dtests.class="*QueryIT"``. diff --git a/build.gradle b/build.gradle index d7458f722f..6e7dc631e9 100644 --- a/build.gradle +++ b/build.gradle @@ -65,6 +65,7 @@ plugins { id 'checkstyle' id "io.freefair.lombok" version "6.4.0" id 'jacoco' + id 'com.diffplug.spotless' version '6.19.0' } // import versions defined in https://github.com/opensearch-project/OpenSearch/blob/main/buildSrc/src/main/java/org/opensearch/gradle/OpenSearchJavaPlugin.java#L94 @@ -79,6 +80,20 @@ repositories { maven { url 'https://jitpack.io' } } +spotless { + java { + target fileTree('.') { + include '**/*.java' + exclude '**/build/**', '**/build-*/**' + } + importOrder() + removeUnusedImports() + trimTrailingWhitespace() + endWithNewline() + googleJavaFormat() + } +} + allprojects { version = opensearch_version.tokenize('-')[0] + '.0' if (buildVersionQualifier) {