ursus
07/21/2019, 6:31 PMassembleRelease
Usually I do it in app build.gradle via
afterEvaluate {
assembleRelease.dependsOn test
}
However this doesnt work for my multimodule app, It seems that code only runs tests in :app
I could add that block to every module's build file but that is error prone
I tried
allprojects {
afterEvaluate {
assembleRelease.dependsOn test
}
}
* What went wrong:
A problem occurred configuring root project 'icewarp-teamchat-android'.
> Could not get unknown property 'assembleRelease' for root project 'abc' of type org.gradle.api.Project.
Dominaezzz
07/21/2019, 6:32 PMsubprojects
instead of allprojects
.ursus
07/21/2019, 6:57 PMsubprojects {
afterEvaluate {
println tasks
}
}
same as allprojects, I dont see neiter assembleRelease
not `test`˛in the listDominaezzz
07/21/2019, 6:58 PMafterEvaluate {
assembleRelease.dependsOn(':app:test')
}
ursus
07/21/2019, 7:07 PMDominaezzz
07/21/2019, 7:08 PMursus
07/21/2019, 7:09 PMallprojects {
afterEvaluate {
// Run each module's test task after each module's assembleRelease
tasks.whenTaskAdded { task ->
if (task.name == "assembleRelease") {
task.dependsOn "test"
}
}
this worksDominaezzz
07/21/2019, 7:18 PMursus
07/21/2019, 7:25 PMgildor
07/22/2019, 1:59 AMursus
07/22/2019, 5:14 AMgildor
07/22/2019, 5:54 AMursus
07/22/2019, 6:10 AMgildor
07/22/2019, 6:15 AMcheck
taskursus
07/22/2019, 6:42 AMgildor
07/22/2019, 6:44 AMursus
07/22/2019, 6:45 AMgildor
07/22/2019, 6:46 AMursus
07/22/2019, 6:48 AMgildor
07/22/2019, 6:48 AMursus
07/22/2019, 6:49 AMgildor
07/22/2019, 6:49 AMursus
07/22/2019, 6:50 AMgildor
07/22/2019, 6:50 AMcheck
it will execute task with this name in all modulesursus
07/22/2019, 6:51 AMgildor
07/22/2019, 6:51 AMursus
07/22/2019, 6:51 AMgildor
07/22/2019, 6:51 AMtest
taskursus
07/22/2019, 6:51 AMgildor
07/22/2019, 6:52 AMursus
07/22/2019, 6:53 AMgildor
07/22/2019, 6:53 AMursus
07/22/2019, 6:54 AMgildor
07/22/2019, 6:54 AMursus
07/22/2019, 6:55 AMgildor
07/22/2019, 6:56 AMursus
07/22/2019, 6:56 AMgildor
07/22/2019, 6:57 AMursus
07/22/2019, 6:57 AMgildor
07/22/2019, 6:57 AMursus
07/22/2019, 6:58 AMgildor
07/22/2019, 6:58 AMbuild
lifecycle task which assemble and check the projecttest
task by default, at least as I remember, thehy have only testDebugUnitursus
07/22/2019, 6:59 AMgildor
07/22/2019, 6:59 AMursus
07/22/2019, 7:00 AMgildor
07/22/2019, 7:01 AMbuild
lifecycle task that builds only assembleRelease and run testsursus
07/22/2019, 7:01 AMbuild
already does that?gildor
07/22/2019, 7:02 AMdoesnt build build every type and flavor etc?yes, most probably this is default behavior
ursus
07/22/2019, 7:02 AMgildor
07/22/2019, 7:02 AMursus
07/22/2019, 7:03 AMtask buildRelease {
assembleRelease.dependsOn test
}
gildor
07/22/2019, 7:03 AMursus
07/22/2019, 7:04 AMgildor
07/22/2019, 7:04 AMtask buildRelease {
dependsOn assembleRelease test
}
ursus
07/22/2019, 7:04 AMgildor
07/22/2019, 7:04 AMursus
07/22/2019, 7:08 AMgildor
07/22/2019, 7:14 AMursus
07/22/2019, 7:24 AMgildor
07/22/2019, 7:25 AMursus
07/22/2019, 6:46 PMtask buildRelease() {
dependsOn "assembleRelease", "test"
group "build"
description "Build release apk for deployment and runs tests"
}
If I put that in app/build.gradle then, it builds release however only runs :app:test, not library modules
So, I tried putting it in project build.gradle
and I get
* What went wrong:
Could not determine the dependencies of task ':buildRelease'.
> Task with path 'test' not found in root project 'icewarp-teamchat-android'.
gildor
07/23/2019, 1:32 AMursus
07/23/2019, 3:42 AMgildor
07/23/2019, 3:47 AMursus
07/23/2019, 4:53 AMgildor
07/23/2019, 4:55 AMursus
07/23/2019, 5:28 AMgildor
07/23/2019, 5:29 AM:test
ursus
07/23/2019, 2:40 PM* What went wrong:
Task 'test' not found in root project 'icewarp-teamchat-android'.
test
? I would not expect the task physical location to matter if it references :module or prefixless explicitly