Запуск Postgres TestContainer внутри задачи GradleJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Запуск Postgres TestContainer внутри задачи Gradle

Сообщение Anonymous »

Я изучаю Gradle и пытаюсь сделать следующее:
  • Внутри задачи Gradle запустите тестовый контейнер postgres с помощью сценария инициализации sql.< /li>
    Используйте Jooq codegen для генерации исходников из этой базы данных.
В настоящее время я как раз работаю над пунктом 1. Я попробуйте запустить контейнер postgres в задаче:

Код: Выделить всё

abstract class StartDbContainer : DefaultTask() {

@TaskAction
fun startContainer() {
PostgreSQLContainer(DockerImageName.parse("postgres:17.0")).apply {
withUsername("user")
withPassword("password")
withDatabaseName("test")
withInitScript("schema.sql")
start()
}
}

}
Затем я добавляю файл Schema.sql в путь к классам buildscript как таковой:

Код: Выделить всё

buildscript {

dependencies {
// 
classpath(files("src/main/resources/schema.sql"))
}

}
Однако выполнить эту задачу не удается: org.testcontainers.ext.ScriptUtils$ScriptLoadException: не удалось загрузить сценарий инициализации пути к классам: Schema.sql. Ресурс не найден.
Я попробовал изменить withInitScript("schema.sql") на withInitScript(""src/main/resources/schema.sql") но это тоже не работает.
Может ли кто-нибудь сказать мне, что здесь происходит? Есть ли у меня недопонимание того, как работает путь к классам gradle buildscript, или тестовые контейнеры просто не созданы? сделать это?

Подробнее здесь: https://stackoverflow.com/questions/791 ... radle-task
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»