当前位置: 首页 > 知识库问答 >
问题:

我应该如何构造这些分级任务依赖关系?

阴禄
2023-03-14
flywayValidate.dependsOn startTestDatabaseContainer
flywayValidate.finalizedBy removeTestDatabaseContainer
task validateMigration {
    dependsOn startTestDatabaseContainer
    dependsOn flywayValidate
    finalizedBy removeTestDatabaseContainer
}

编辑:我在这里建立了一个关于Opal解决方案的演示基础:github.com/stianlagstad/flyway-migration-error-causes-final-gradle-task-to-non-execute。克隆它并运行gradle validatemigration。迁移将失败,最后一个gradle任务将不会运行(docker ps将显示容器仍在运行)。如果修复了迁移文件,那么一切都将按预期进行。我肯定我误会了什么。任何指示都将是有帮助的!

共有1个答案

章哲彦
2023-03-14
task startTestDatabaseContainer {
  doLast {
    println 'startTestDatabaseContainer'
  }
}
task flywayValidate {
  doLast {
    println 'flywayValidate'
  }
}
task removeTestDatabaseContainer {
  doLast {
    println 'removeTestDatabaseContainer'
  }
}

task validateMigration {
    dependsOn startTestDatabaseContainer
    dependsOn flywayValidate
    flywayValidate.mustRunAfter startTestDatabaseContainer
    finalizedBy removeTestDatabaseContainer
}
task removeTestDatabaseContainer {
  doLast {
    println 'removeTestDatabaseContainer'
  }
}

task startTestDatabaseContainer {
  doLast {
    println 'startTestDatabaseContainer'
  }
  finalizedBy removeTestDatabaseContainer
}

task flywayValidate { t->
  doLast {
    println 'flywayValidate'
    throw new TaskExecutionException(t, new RuntimeException('whatever'))
  }
}

task validateMigration {
    dependsOn startTestDatabaseContainer
    dependsOn flywayValidate
    flywayValidate.mustRunAfter startTestDatabaseContainer
}
 类似资料:
  • 将gradle及其spring-boot插件(1.5.1)和第一个spirit插件一起使用会引发一个错误: b)如何从“启动重新打包”中删除“fsm”的依赖项? c)是否可以显示一个分级任务依赖关系图?(不是项目依赖关系)

  • 我有一个自定义gradle任务的问题:我想复制我的android jar库,然后将其重命名为“clean build”,这是我如何定义它的: 问题是,在gradle日志结果中,'clean'是在'build'任务之后完成的,因此库永远不会复制到目标文件夹: 我也尝试过在“depends on:[]”中更改任务的顺序,但这并没有改变任何东西...有人知道我错在哪里吗?提前致谢

  • 有没有办法在Gradle中列出显式调用的任务?例如,如果task1依赖于task2和task2依赖于task3,并且我调用gradle来执行task1和task3,我想要一个返回的函数。

  • 在gradle构建的部分中声明存储库和在构建的根级别中声明存储库有什么区别。 或 Build.Gradle:

  • 问题内容: 我使用JPA,并将Hibernate作为其实现。我的项目中 需要* 具备哪些依赖关系? * 问题答案: 我相信您仅需要两件事就是hibernate的entitymanager,然后是SLF4J日志记录捆绑包之一。其他所有内容都应作为依赖项引入:

  • 因此,自从添加新的Room android架构库以来,这种情况已经开始发生。我在AppDatabase_Impl没有过期时遇到问题,我通过在注释中添加kapt来修复它: < li>Android Room持久性库和Kotlin < li >在Kotlin中实现房间持久性库 < in Kotlin中的房间持久性库实现(Gradle错误) 我怀疑其他错误是由于AS、Kotlin和Java 8造成的,所