Gradle - Как я могу выполнить миграцию на летном пути в своем исходном наборе - PullRequest
0 голосов
/ 26 сентября 2019

РЕДАКТИРОВАТЬ: вопрос решен, потому что я заметил, что:

  • itest не работает, потому что в фазе test есть некоторые ошибки, поэтому следующий шаг itest не будет выполнен
  • itest также относится к миграции, я тщательно проверил журнал и могу это подтвердить.Я ищу в itest log flyway, и я видел это.

Таким образом, вопрос является ошибкой.Сожалею.

У меня есть источник:

  • main
  • test
  • itest

И itest определяется как: (project/gradle/integration.gradle)

sourceSets {
    itest {
        java.srcDir file('src/itest/java')
        resources.srcDir file('src/itest/resources')
        compileClasspath += sourceSets.main.output + sourceSets.test.output
        compileClasspath += configurations.testCompileClasspath
        compileClasspath += configurations.testRuntimeClasspath
        runtimeClasspath += output + compileClasspath + test.output
        annotationProcessorPath += configurations.testAnnotationProcessor
    }
}

task itest(type: Test) {
    description = 'Runs the integration tests.'
    group = 'verification'
    testClassesDirs = sourceSets.itest.output.classesDirs
    classpath = sourceSets.itest.runtimeClasspath

    mustRunAfter test
    useJUnitPlatform()
}

Когда я запускаю gradle test itest, я вижу примененные миграции, но когда я запускаю gradle itest, это не так.Я понимаю, что если я заставлю itest выполнить после test, как сейчас, я могу убедиться;но есть время, я хочу только запустить itest.

Как я могу изменить этот скрипт?

1 Ответ

0 голосов
/ 26 сентября 2019

Запуск задачи Migrate выполняется всегда из-за запуска задачи gradle flywayMigrate.

Возможно, какой-то плагин изменил настройку по умолчанию, чтобы сделать задачу test зависимой от flywayMigrate.

.если вы хотите, чтобы ваша собственная задача вызывала flywayMigrate, вы можете сделать так:

itest.dependsOn flywayMigrate  

// reference:
clean.dependsOn flywayRepair  # To repair the Flyway metadata table
build.dependsOn flywayMigrate  # To migrate the schema to the latest version
...