Róbert Papp
Róbert Papp
``` import org.gradle.api.Named import org.gradle.api.Task import org.gradle.api.tasks.TaskProvider fun Task.notDependsOn(predicate: (String) -> Boolean) { this.setDependsOn( this.dependsOn .filterNot { it is TaskProvider && predicate(it.name) } // Since Gradle 7.3 NamedDomainObjectCreatingProvider contains "test",...
POC ```kotlin // https://docs.gradle.org/current/userguide/java_library_plugin.html#sec:java_library_configurations_graph /* %%{init: {flowchart: {htmlLabels: true}}}%% graph subgraph ":foo" subgraph ":foo:bar" direction BT compileOnlyApi compileOnly api apiElements["apiElements(C)"] implementation runtimeOnly compileClasspath["compileClasspath(R)"] runtimeElements["runtimeElements(C)"] runtimeClasspath["runtimeClasspath(R)"] compileOnly-->compileOnlyApi apiElements-->compileOnlyApi apiElements-->api implementation-->api compileClasspath-->compileOnly...
e.g. search for UseIfInsteadOfWhen and `GradleVersion.current()`
``` FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':tasks'. > Could not create task ':testReport'. > The value for property 'required' is final...
Found by reading XSLT code, `sameRuleViolations` needs to be more specific.
AGP 7.0 upgrade: `Lint: 104607`, timed out on CI. 0 byte violations.html, 177MB violations.xml
``` net.twisterrob.test.android.pluginVersion=7.0.4 net.twisterrob.gradle.runner.gradleVersion=7.0.2 ``` Notice that when the test starts Gradle 7.0.2 worker is used, but it picks up 7.5.1 classes from generated build.gradle. Gradle 7.0.2 worker `#1` at C:\Users\TWiStEr\AppData\Local\Temp\.gradle-test-kit-TWiStEr-1....

Gradle 7.4 built-in support with plugin `test-report-aggregation`.
https://github.com/marketplace/actions/deployment-action https://sanderknape.com/2020/05/deploy-pull-requests-github-actions-deployments/