diff --git a/.buildkite/schedules/dependency-analysis.yml b/.buildkite/schedules/dependency-analysis.yml new file mode 100644 index 0000000..d9cd9e8 --- /dev/null +++ b/.buildkite/schedules/dependency-analysis.yml @@ -0,0 +1,22 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/buildkite/pipeline-schema/main/schema.json +--- + +common_params: + # Common plugin settings to use with the `plugins` key. + - &common_plugins + - automattic/a8c-ci-toolkit#2.15.0 + +agents: + queue: "android" + +steps: + - label: "dependency analysis" + command: | + echo "--- 📊 Analyzing" + ./gradlew buildHealth + plugins: *common_plugins + artifact_paths: + - "build/reports/dependency-analysis/build-health-report.*" + notify: + - slack: "#android-core-notifs" + if: build.state == "failed" diff --git a/build.gradle b/build.gradle index 40cfc26..8e016e5 100644 --- a/build.gradle +++ b/build.gradle @@ -7,6 +7,7 @@ plugins { id 'org.jetbrains.kotlin.android' apply false id 'dagger.hilt.android.plugin' apply false id "com.automattic.android.publish-to-s3" apply false + id "com.autonomousapps.dependency-analysis" } allprojects { diff --git a/gradle.properties b/gradle.properties index b8e2697..e309368 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,3 +8,6 @@ android.useAndroidX=true android.enableJetifier=false android.nonTransitiveRClass=true + +# Dependency Analysis Plugin +dependency.analysis.android.ignored.variants=release diff --git a/settings.gradle b/settings.gradle index 13c1eac..7b2898d 100644 --- a/settings.gradle +++ b/settings.gradle @@ -4,6 +4,7 @@ pluginManagement { gradle.ext.agpVersion = '8.1.0' gradle.ext.detektVersion = '1.19.0' gradle.ext.automatticPublishToS3Version = '0.8.0' + gradle.ext.dependencyAnalysisVersion = '1.28.0' plugins { id 'io.gitlab.arturbosch.detekt' version gradle.ext.detektVersion @@ -15,6 +16,7 @@ pluginManagement { id "com.android.library" version gradle.ext.agpVersion id 'dagger.hilt.android.plugin' id "com.automattic.android.publish-to-s3" version gradle.ext.automatticPublishToS3Version + id "com.autonomousapps.dependency-analysis" version gradle.ext.dependencyAnalysisVersion } repositories { maven {