禁用 project/task 组合的聚合
Disable aggregation for a project/task combination
我正在寻找一种方法来禁用 android
项目的测试执行。最简单的方法似乎是聚合所有项目,然后禁用特定 project/task 组合的聚合。不幸的是,这不适用于我如下所示的配置尝试。
object Build extends sbt.Build {
lazy val root = project.in( file( "." ) )
.settings(
// This setting does not have an effect,
// all projects have their tests executed
aggregate in ( android, test ) := false,
publishArtifact := false
)
.aggregate( core, android, androidTest )
lazy val core = project.in( file( "core" ) )
...
lazy val android = project.in( file( "android" ) )
...
.dependsOn( core )
lazy val androidTest = flavorOf( android, "android-test" )
...
}
理想情况下,我宁愿根本不聚合 androidTest
,而是将 android/test
转发到 androidTest/test
,但由于循环引用,这似乎是不可能的。 flavorOf
函数是 android-sdk-plugin for sbt 的一部分。
也许,正如上面构建的最后一行:
test in android <<= test in androidTest
我正在寻找一种方法来禁用 android
项目的测试执行。最简单的方法似乎是聚合所有项目,然后禁用特定 project/task 组合的聚合。不幸的是,这不适用于我如下所示的配置尝试。
object Build extends sbt.Build {
lazy val root = project.in( file( "." ) )
.settings(
// This setting does not have an effect,
// all projects have their tests executed
aggregate in ( android, test ) := false,
publishArtifact := false
)
.aggregate( core, android, androidTest )
lazy val core = project.in( file( "core" ) )
...
lazy val android = project.in( file( "android" ) )
...
.dependsOn( core )
lazy val androidTest = flavorOf( android, "android-test" )
...
}
理想情况下,我宁愿根本不聚合 androidTest
,而是将 android/test
转发到 androidTest/test
,但由于循环引用,这似乎是不可能的。 flavorOf
函数是 android-sdk-plugin for sbt 的一部分。
也许,正如上面构建的最后一行:
test in android <<= test in androidTest