Gradle с применением плагина: 'java' в build.gradle. Файл создаст файл .jar, а тестовое задание запускает тесты junit:
apply plugin: 'java'
repositories {
mavenCentral()
}
dependencies {
testCompile 'junit:junit:4.12'
}
Это работает. Но чтобы убедиться, что общедоступные тесты API работают с сгенерированным файлом .jar, я хочу, чтобы задача 'test' выполняла тест с сгенерированным файлом .jar из папки build / libs в classpath, а не с генерируемыми файлами .class из папки build / classes в classpath.
Не работает, потому что исходные наборы установлены глобально:
tasks.withType(Test) {
sourceSets {
main {
java {
exclude '**'
}
}
}
}
Частично работает: мультипроект (тест и jar, разделенные на два проекта gradle):
dependencies {
compile project(":jar_project")
testCompile 'junit:junit:4.12'
}
в этом случае используется jar_project.jar, но закрытый тест пакета также выполняется без ошибки.
У кого-нибудь есть идеи, как запускать тесты с зависимостью .jar и игнорировать файлы .class?
Спасибо, мякоть