Merge pull request #7241 from vector-im/feature/bma/gradle_doctor
Set up Gradle doctor
This commit is contained in:
commit
0c4510250b
|
@ -47,6 +47,8 @@ plugins {
|
||||||
|
|
||||||
// Dependency Analysis
|
// Dependency Analysis
|
||||||
id 'com.autonomousapps.dependency-analysis' version "1.13.1"
|
id 'com.autonomousapps.dependency-analysis' version "1.13.1"
|
||||||
|
// Gradle doctor
|
||||||
|
id "com.osacky.doctor" version "0.8.1"
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://github.com/jeremylong/DependencyCheck
|
// https://github.com/jeremylong/DependencyCheck
|
||||||
|
@ -59,6 +61,9 @@ dependencyCheck {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Gradle doctor configuration
|
||||||
|
apply from: './tools/gradle/doctor.gradle'
|
||||||
|
|
||||||
allprojects {
|
allprojects {
|
||||||
apply plugin: "org.jlleitschuh.gradle.ktlint"
|
apply plugin: "org.jlleitschuh.gradle.ktlint"
|
||||||
apply plugin: "io.gitlab.arturbosch.detekt"
|
apply plugin: "io.gitlab.arturbosch.detekt"
|
||||||
|
|
|
@ -0,0 +1,92 @@
|
||||||
|
// Default configuration copied from https://runningcode.github.io/gradle-doctor/configuration/
|
||||||
|
|
||||||
|
def isCiBuild = System.env.BUILDKITE == "true" || System.env.GITHUB_ACTIONS == "true"
|
||||||
|
println "Is CI build: $isCiBuild"
|
||||||
|
|
||||||
|
doctor {
|
||||||
|
/**
|
||||||
|
* Throw an exception when multiple Gradle Daemons are running.
|
||||||
|
*
|
||||||
|
* Windows is not supported yet, see https://github.com/runningcode/gradle-doctor/issues/84
|
||||||
|
*/
|
||||||
|
disallowMultipleDaemons = false
|
||||||
|
/**
|
||||||
|
* Show a message if the download speed is less than this many megabytes / sec.
|
||||||
|
*/
|
||||||
|
downloadSpeedWarningThreshold = 0.5f
|
||||||
|
/**
|
||||||
|
* The level at which to warn when a build spends more than this percent garbage collecting.
|
||||||
|
*/
|
||||||
|
GCWarningThreshold = 0.10f
|
||||||
|
/**
|
||||||
|
* The level at which to fail when a build spends more than this percent garbage collecting.
|
||||||
|
*/
|
||||||
|
GCFailThreshold = 0.9f
|
||||||
|
/**
|
||||||
|
* Print a warning to the console if we spend more than this amount of time with Dagger annotation processors.
|
||||||
|
*/
|
||||||
|
daggerThreshold = 5000
|
||||||
|
/**
|
||||||
|
* By default, Gradle caches test results. This can be dangerous if tests rely on timestamps, dates, or other files
|
||||||
|
* which are not declared as inputs.
|
||||||
|
*/
|
||||||
|
enableTestCaching = true
|
||||||
|
/**
|
||||||
|
* By default, Gradle treats empty directories as inputs to compilation tasks. This can cause cache misses.
|
||||||
|
*/
|
||||||
|
failOnEmptyDirectories = true
|
||||||
|
/**
|
||||||
|
* Do not allow building all apps simultaneously. This is likely not what the user intended.
|
||||||
|
*/
|
||||||
|
allowBuildingAllAndroidAppsSimultaneously = false
|
||||||
|
/**
|
||||||
|
* Warn if using Android Jetifier. It slows down builds.
|
||||||
|
*/
|
||||||
|
warnWhenJetifierEnabled = true
|
||||||
|
/**
|
||||||
|
* Negative Avoidance Savings Threshold
|
||||||
|
* By default the Gradle Doctor will print out a warning when a task is slower to pull from the cache than to
|
||||||
|
* re-execute. There is some variance in the amount of time a task can take when several tasks are running
|
||||||
|
* concurrently. In order to account for this there is a threshold you can set. When the difference is above the
|
||||||
|
* threshold, a warning is displayed.
|
||||||
|
*/
|
||||||
|
negativeAvoidanceThreshold = 500
|
||||||
|
/**
|
||||||
|
* Warn when not using parallel GC. Parallel GC is faster for build type tasks and is no longer the default in Java 9+.
|
||||||
|
*/
|
||||||
|
warnWhenNotUsingParallelGC = !isCiBuild
|
||||||
|
/**
|
||||||
|
* Throws an error when the `Delete` or `clean` task has dependencies.
|
||||||
|
* If a clean task depends on other tasks, clean can be reordered and made to run after the tasks that would produce
|
||||||
|
* output. This can lead to build failures or just strangeness with seemingly straightforward builds
|
||||||
|
* (e.g., gradle clean build).
|
||||||
|
* http://github.com/gradle/gradle/issues/2488
|
||||||
|
*/
|
||||||
|
disallowCleanTaskDependencies = true
|
||||||
|
/**
|
||||||
|
* Warn if using the Kotlin Compiler Daemon Fallback. The fallback is incredibly slow and should be avoided.
|
||||||
|
* https://youtrack.jetbrains.com/issue/KT-48843
|
||||||
|
*/
|
||||||
|
warnIfKotlinCompileDaemonFallback = true
|
||||||
|
|
||||||
|
/** Configuration properties relating to JAVA_HOME */
|
||||||
|
javaHome {
|
||||||
|
/**
|
||||||
|
* Ensure that we are using JAVA_HOME to build with this Gradle.
|
||||||
|
*/
|
||||||
|
ensureJavaHomeMatches = true
|
||||||
|
/**
|
||||||
|
* Ensure we have JAVA_HOME set.
|
||||||
|
*/
|
||||||
|
ensureJavaHomeIsSet = true
|
||||||
|
/**
|
||||||
|
* Fail on any `JAVA_HOME` issues.
|
||||||
|
*/
|
||||||
|
failOnError.set(!isCiBuild)
|
||||||
|
/**
|
||||||
|
* Extra message text, if any, to show with the Gradle Doctor message. This is useful if you have a wiki page or
|
||||||
|
* other instructions that you want to link for developers on your team if they encounter an issue.
|
||||||
|
*/
|
||||||
|
extraMessage.set("Here's an extra message to show.")
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue