Add method to locate the Kotlin compiler in common locations

This commit is contained in:
Erik C. Thauvin 2025-03-21 21:08:13 -07:00
parent 9fcc5cc362
commit a57ae52a1c
Signed by: erik
GPG key ID: 776702A6A2DA330E
4 changed files with 189 additions and 26 deletions

View file

@ -31,6 +31,7 @@ import java.nio.file.Files;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import java.util.Objects;
import java.util.logging.ConsoleHandler;
import java.util.logging.Level;
@ -209,6 +210,11 @@ class CompileKotlinOperationTest {
}
}
@Test
void testFindKotlincPath() {
assertThat(CompileKotlinOperation.findKotlincPath()).doesNotStartWith("kotlinc");
}
@Test
void testFromProject() {
var examples = new File("examples");
@ -226,6 +232,21 @@ class CompileKotlinOperationTest {
assertThat(op.testSourceDirectories()).isEmpty();
}
@Test
void testIsOS() {
var osName = System.getProperty("os.name");
if (osName != null) {
var os = osName.toLowerCase(Locale.US);
if (os.contains("win")) {
assertThat(CompileKotlinOperation.isWindows()).isTrue();
} else if (os.contains("linux") || os.contains("unix")) {
assertThat(CompileKotlinOperation.isLinux()).isTrue();
} else if (os.contains("mac") || os.contains("darwin")) {
assertThat(CompileKotlinOperation.isMacOS()).isTrue();
}
}
}
@Test
void testKotlinHome() {
var foo = new File("foo");