Compare commits
3 commits
5d78963f1d
...
74a180e6fd
Author | SHA1 | Date | |
---|---|---|---|
74a180e6fd | |||
0990e82f04 | |||
dc5b81e366 |
4 changed files with 44 additions and 39 deletions
36
.github/workflows/bld.yml
vendored
36
.github/workflows/bld.yml
vendored
|
@ -4,36 +4,6 @@ on: [push, pull_request, workflow_dispatch]
|
|||
|
||||
jobs:
|
||||
build-bld-project:
|
||||
strategy:
|
||||
matrix:
|
||||
java-version: [17, 21, 24]
|
||||
kotlin-version: [1.9.25, 2.0.21, 2.1.20]
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout source repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Set up JDK ${{ matrix.java-version }}
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
distribution: "zulu"
|
||||
java-version: ${{ matrix.java-version }}
|
||||
|
||||
- name: Download dependencies [examples]
|
||||
working-directory: examples
|
||||
run: ./bld download
|
||||
|
||||
- name: Download dependencies
|
||||
run: ./bld download
|
||||
|
||||
- name: Run tests
|
||||
run: ./bld compile test
|
||||
|
||||
build-bld-examples:
|
||||
strategy:
|
||||
matrix:
|
||||
java-version: [ 17, 21, 24 ]
|
||||
|
@ -61,3 +31,9 @@ jobs:
|
|||
- name: Run tests [examples]
|
||||
working-directory: examples
|
||||
run: ./bld compile test
|
||||
|
||||
- name: Download dependencies
|
||||
run: ./bld download
|
||||
|
||||
- name: Run tests
|
||||
run: ./bld compile test
|
|
@ -23,6 +23,7 @@ import rife.bld.publish.PublishLicense;
|
|||
import rife.bld.publish.PublishScm;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
import static rife.bld.dependencies.Repository.*;
|
||||
import static rife.bld.dependencies.Scope.compile;
|
||||
|
@ -97,10 +98,13 @@ public class CompileKotlinOperationBuild extends Project {
|
|||
|
||||
@Override
|
||||
public void test() throws Exception {
|
||||
var os = System.getProperty("os.name");
|
||||
if (os != null && os.toLowerCase(Locale.US).contains("linux")) {
|
||||
new ExecOperation()
|
||||
.fromProject(this)
|
||||
.command("scripts/cliargs.sh")
|
||||
.execute();
|
||||
}
|
||||
super.test();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -42,7 +42,7 @@ public class CompileKotlinOperation extends AbstractOperation<CompileKotlinOpera
|
|||
private static final Logger LOGGER = Logger.getLogger(CompileKotlinOperation.class.getName());
|
||||
private static final String OS_NAME =
|
||||
System.getProperty("os.name") != null ? System.getProperty("os.name").toLowerCase(Locale.US) : null;
|
||||
private static final String KOTLINC_EXECUTABLE = "kotlinc" + (isWindows() ? ".bat" : "");
|
||||
private static final String KOTLINC_EXECUTABLE = "kotlinc" + (isWindows() && !isCygwin() && !isMinGW() ? ".bat" : "");
|
||||
private final Collection<String> compileMainClasspath_ = new ArrayList<>();
|
||||
private final Collection<String> compileTestClasspath_ = new ArrayList<>();
|
||||
private final JvmOptions jvmOptions_ = new JvmOptions();
|
||||
|
@ -191,6 +191,17 @@ public class CompileKotlinOperation extends AbstractOperation<CompileKotlinOpera
|
|||
return KOTLINC_EXECUTABLE;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the current runtime environment is Cygwin.
|
||||
*
|
||||
* @return {@code true} if the current runtime environment is Cygwin, {@code false} otherwise.
|
||||
* @since 1.1.0
|
||||
*/
|
||||
public static boolean isCygwin() {
|
||||
var path = System.getenv("ORIGINAL_PATH");
|
||||
return path != null && path.contains("/cygdrive/");
|
||||
}
|
||||
|
||||
private static boolean isExecutable(File file) {
|
||||
return file != null && file.exists() && file.isFile() && file.canExecute();
|
||||
}
|
||||
|
@ -212,7 +223,18 @@ public class CompileKotlinOperation extends AbstractOperation<CompileKotlinOpera
|
|||
* @since 1.1.0
|
||||
*/
|
||||
public static boolean isMacOS() {
|
||||
return OS_NAME != null && (OS_NAME.contains("mac") || OS_NAME.contains("darwin"));
|
||||
return OS_NAME != null && (OS_NAME.contains("mac") || OS_NAME.contains("darwin") || OS_NAME.contains("osx"));
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if the current runtime environment is MinGW.
|
||||
*
|
||||
* @return {@code true} if the current runtime environment is MinGW, {@code false} otherwise.
|
||||
* @since 1.1.0
|
||||
*/
|
||||
public static boolean isMinGW() {
|
||||
var msys = System.getenv("MSYSTEM");
|
||||
return msys != null && (msys.startsWith("MINGW") || msys.startsWith("MSYS"));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -18,6 +18,8 @@ package rife.bld.extension.kotlin;
|
|||
|
||||
import org.assertj.core.api.AutoCloseableSoftAssertions;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.condition.EnabledOnOs;
|
||||
import org.junit.jupiter.api.condition.OS;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
|
@ -199,6 +201,7 @@ class CompileOptionsTest {
|
|||
}
|
||||
|
||||
@Test
|
||||
@EnabledOnOs(OS.LINUX)
|
||||
void testCheckAllParams() throws IOException {
|
||||
var args = Files.readAllLines(Paths.get("src", "test", "resources", "kotlinc-args.txt"));
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue