diff --git a/.gitignore b/.gitignore index 5a9e8a10..4c0954c9 100644 --- a/.gitignore +++ b/.gitignore @@ -62,6 +62,7 @@ atlassian-ide-plugin.xml .project .settings .metadata +.factorypath # NetBeans specific files/directories -.nbattrs \ No newline at end of file +.nbattrs diff --git a/HACKING.md b/HACKING.md index cfd2155c..c743e2ac 100644 --- a/HACKING.md +++ b/HACKING.md @@ -22,6 +22,11 @@ Generate documentation: ./gradlew javadoc ``` +Format Java code: +``` +./gradlew spotlessApply +``` + Format C code: ``` ./gradlew clangFormat diff --git a/build.gradle b/build.gradle index 80252f7c..de88d2a9 100644 --- a/build.gradle +++ b/build.gradle @@ -4,6 +4,8 @@ plugins { id "jacoco" id "com.adarshr.test-logger" version "2.0.0" id "io.franzbecker.gradle-lombok" version "5.0.0" + // formatting + id "com.diffplug.spotless" version "7.0.3" } apply from: "common.gradle" @@ -105,6 +107,23 @@ javadoc { options.addStringOption("Xdoclint:none", "-quiet") } +// format Java code +spotless { + java { + target fileTree(dir: projectDir, include: "**/*.java").filter { file -> + !file.text.contains("// Code generated") + }.collect { + it.path.replace(projectDir.path + File.separator, "") + } + eclipse().configFile("eclipse-format-prefs.xml") + leadingTabsToSpaces(4) + trimTrailingWhitespace() + endWithNewline() + } +} +tasks.named("spotlessJava").configure { + dependsOn("compileJava") +} // format C code task clangFormat { diff --git a/cmake-library/src/main/java/org/rocstreaming/roctoolkit/gradle/plugins/cmake/CMakeExtension.java b/cmake-library/src/main/java/org/rocstreaming/roctoolkit/gradle/plugins/cmake/CMakeExtension.java index 808684a4..dc2b2b61 100644 --- a/cmake-library/src/main/java/org/rocstreaming/roctoolkit/gradle/plugins/cmake/CMakeExtension.java +++ b/cmake-library/src/main/java/org/rocstreaming/roctoolkit/gradle/plugins/cmake/CMakeExtension.java @@ -79,7 +79,7 @@ public void setGenerator(String generator) { this.generator.set(GENERATOR.MAKE); else if (generator.equals("ninja")) this.generator.set(GENERATOR.NINJA); - else + else throw new IllegalArgumentException("generator '" + generator + "' is not supported. Choose one from 'make' or 'ninja'."); } } diff --git a/cmake-library/src/main/java/org/rocstreaming/roctoolkit/gradle/tasks/CMake.java b/cmake-library/src/main/java/org/rocstreaming/roctoolkit/gradle/tasks/CMake.java index 1fe1a979..609b3954 100644 --- a/cmake-library/src/main/java/org/rocstreaming/roctoolkit/gradle/tasks/CMake.java +++ b/cmake-library/src/main/java/org/rocstreaming/roctoolkit/gradle/tasks/CMake.java @@ -39,8 +39,8 @@ public void generateCmakeFiles() { String cmakeExecutable = System.getenv().getOrDefault("CMAKE_EXECUTABLE", "cmake"); Provider targetDirectory = variantDirectory.dir( - String.format("%s/%s", getTarget().get().getHost().get(), - getTarget().get().getPlatform().get())); + String.format("%s/%s", getTarget().get().getHost().get(), + getTarget().get().getPlatform().get())); targetDirectory.get().getAsFile().mkdirs(); ArrayList cliArgs = new ArrayList<>(); @@ -51,7 +51,7 @@ public void generateCmakeFiles() { } cliArgs.add("-G" + generator.get()); cliArgs.add("-DCMAKE_TOOLCHAIN_FILE=" + - System.getenv().getOrDefault("CMAKE_TOOLCHAIN_FILE", "")); + System.getenv().getOrDefault("CMAKE_TOOLCHAIN_FILE", "")); cliArgs.add("--no-warn-unused-cli"); cliArgs.add(getProjectDirectory().get().getAsFile().getAbsolutePath()); @@ -83,9 +83,9 @@ public FileCollection getCMakeLists() { @OutputFiles public FileCollection getCmakeFiles() { return getProject().fileTree(variantDirectory, it -> it.include("**/CMakeFiles/**/*") - .include("**/Makefile") - .include("**/*.ninja") - .include("**/*.cmake")); + .include("**/Makefile") + .include("**/*.ninja") + .include("**/*.cmake")); } @Input diff --git a/eclipse-format-prefs.xml b/eclipse-format-prefs.xml new file mode 100644 index 00000000..3c013a39 --- /dev/null +++ b/eclipse-format-prefs.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/roc_jni/CMakeLists.txt b/roc_jni/CMakeLists.txt index e298a923..c4923d13 100644 --- a/roc_jni/CMakeLists.txt +++ b/roc_jni/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.5) +cmake_minimum_required(VERSION 3.10) project(RocJni C) diff --git a/src/main/java/org/rocstreaming/roctoolkit/Endpoint.java b/src/main/java/org/rocstreaming/roctoolkit/Endpoint.java index c6bfef47..33338000 100644 --- a/src/main/java/org/rocstreaming/roctoolkit/Endpoint.java +++ b/src/main/java/org/rocstreaming/roctoolkit/Endpoint.java @@ -145,5 +145,4 @@ public String toString() { private native void init(String uri) throws IllegalArgumentException; private native void validate() throws IllegalArgumentException; - } diff --git a/src/main/java/org/rocstreaming/roctoolkit/RocContextConfigValidator.java b/src/main/java/org/rocstreaming/roctoolkit/RocContextConfigValidator.java index ec347866..0b920919 100644 --- a/src/main/java/org/rocstreaming/roctoolkit/RocContextConfigValidator.java +++ b/src/main/java/org/rocstreaming/roctoolkit/RocContextConfigValidator.java @@ -1,6 +1,5 @@ package org.rocstreaming.roctoolkit; - /** * A RocContextConfigValidator adds validation to RocContextConfig builder. */ diff --git a/src/main/java/org/rocstreaming/roctoolkit/RocLibrary.java b/src/main/java/org/rocstreaming/roctoolkit/RocLibrary.java index 0b1a58d6..92037d3a 100644 --- a/src/main/java/org/rocstreaming/roctoolkit/RocLibrary.java +++ b/src/main/java/org/rocstreaming/roctoolkit/RocLibrary.java @@ -17,5 +17,6 @@ static void loadLibrary() { } } - private RocLibrary() {} + private RocLibrary() { + } } diff --git a/src/test/java/org/rocstreaming/roctoolkit/EndpointTest.java b/src/test/java/org/rocstreaming/roctoolkit/EndpointTest.java index cdf444b6..2a0973a3 100644 --- a/src/test/java/org/rocstreaming/roctoolkit/EndpointTest.java +++ b/src/test/java/org/rocstreaming/roctoolkit/EndpointTest.java @@ -326,4 +326,4 @@ public void testEndpointMinimalConstructor() { assertNull(endpoint.getResource()); assertEquals("rtp://192.168.0.1:12345", endpoint.getUri()); } -} \ No newline at end of file +} diff --git a/src/test/java/org/rocstreaming/roctoolkit/RocContextConfigTest.java b/src/test/java/org/rocstreaming/roctoolkit/RocContextConfigTest.java index 5f49059a..6509dbf4 100644 --- a/src/test/java/org/rocstreaming/roctoolkit/RocContextConfigTest.java +++ b/src/test/java/org/rocstreaming/roctoolkit/RocContextConfigTest.java @@ -25,4 +25,4 @@ public void testInvalidConfig(String error, RocContextConfig.Builder builder) { assertEquals(error, e.getMessage()); } -} \ No newline at end of file +} diff --git a/src/test/java/org/rocstreaming/roctoolkit/RocContextTest.java b/src/test/java/org/rocstreaming/roctoolkit/RocContextTest.java index 02fe8ab4..9060f4f9 100644 --- a/src/test/java/org/rocstreaming/roctoolkit/RocContextTest.java +++ b/src/test/java/org/rocstreaming/roctoolkit/RocContextTest.java @@ -28,7 +28,8 @@ public void testCloseWithAttachedSender() { try (RocContext context = new RocContext()) { sender = new RocSender(context, RocSenderTest.CONFIG); } finally { - if (sender != null) sender.close(); + if (sender != null) + sender.close(); } }); } @@ -40,7 +41,8 @@ public void testCloseWithAttachedReceiver() { try (RocContext context = new RocContext()) { receiver = new RocReceiver(context, RocReceiverTest.CONFIG); } finally { - if (receiver != null) receiver.close(); + if (receiver != null) + receiver.close(); } }); } diff --git a/src/test/java/org/rocstreaming/roctoolkit/RocReceiverTest.java b/src/test/java/org/rocstreaming/roctoolkit/RocReceiverTest.java index a8a568f3..0f35ff24 100644 --- a/src/test/java/org/rocstreaming/roctoolkit/RocReceiverTest.java +++ b/src/test/java/org/rocstreaming/roctoolkit/RocReceiverTest.java @@ -195,7 +195,6 @@ public void testInvalidRead() throws Exception { } } - @Test public void testReadZeroizedArray() throws Exception { try (RocReceiver receiver = new RocReceiver(context, CONFIG)) { diff --git a/src/test/java/org/rocstreaming/roctoolkit/RocSenderConfigTest.java b/src/test/java/org/rocstreaming/roctoolkit/RocSenderConfigTest.java index b648ed2c..cfa9a3a5 100644 --- a/src/test/java/org/rocstreaming/roctoolkit/RocSenderConfigTest.java +++ b/src/test/java/org/rocstreaming/roctoolkit/RocSenderConfigTest.java @@ -12,7 +12,6 @@ class RocSenderConfigTest { - private static RocSenderConfig.Builder validBuilder() { return RocSenderConfig.builder() .frameSampleRate(44100) diff --git a/src/test/java/org/rocstreaming/roctoolkit/RocSenderTest.java b/src/test/java/org/rocstreaming/roctoolkit/RocSenderTest.java index d95139b8..b9e34bd1 100644 --- a/src/test/java/org/rocstreaming/roctoolkit/RocSenderTest.java +++ b/src/test/java/org/rocstreaming/roctoolkit/RocSenderTest.java @@ -59,7 +59,8 @@ public void afterEach() throws Exception { public void testCreationAndDeinitialization() { assertDoesNotThrow(() -> { //noinspection EmptyTryBlock - try (RocSender ignored = new RocSender(context, CONFIG)) {} + try (RocSender ignored = new RocSender(context, CONFIG)) { + } }); } diff --git a/src/test/java/org/rocstreaming/roctoolkit/integration/RocSenderReceiverTest.java b/src/test/java/org/rocstreaming/roctoolkit/integration/RocSenderReceiverTest.java index 5463b0ec..b9281eb5 100644 --- a/src/test/java/org/rocstreaming/roctoolkit/integration/RocSenderReceiverTest.java +++ b/src/test/java/org/rocstreaming/roctoolkit/integration/RocSenderReceiverTest.java @@ -12,7 +12,6 @@ import static org.awaitility.Awaitility.await; import static org.junit.jupiter.api.Assertions.assertNotEquals; - public class RocSenderReceiverTest extends BaseTest { private static final int SAMPLE_RATE = 44100;