Запускайте тесты Gradle, используя образ из плагина badass-runtime - PullRequest
2 голосов
/ 16 февраля 2020

Я собираю javafx с configuration = "compileOnly", поэтому в jar не упакованы нативные модули javafx.

javafx {
version = "13.0.1"
modules = [ 'javafx.controls', 'javafx.web', 'javafx.swing', 'javafx.fxml', 'javafx.graphics' ]
configuration = "compileOnly"
}

Затем я создаю образ времени выполнения с помощью "Badass Runtime Plugin" (https://github.com/beryx/badass-runtime-plugin) с модулями javafx платформы, добавленными к каждому jdk.

runtime {
options = ['--compress', '2']
modules = [
'jdk.httpserver',
...
'javafx.controls',
'javafx.web',
'javafx.swing',
'javafx.fxml',
'javafx.graphics'
]

targetPlatform('linux-x64', "$projectDir/jre/linux/jre_x64")
targetPlatform('windows-x64', "$projectDir/jre/windows/jre_x64")
//targetPlatform('mac-x64', "$projectDir/jre/mac/jre_x64")
}

Я сейчас пытаюсь заставить тесты gradle работать с использованием jre, созданного плагином времени выполнения, потому что в противном случае они создают sh из-за отсутствия модулей javafx.

Как установить время выполнения для тестов gradle, но не для компилятора?

...