Skip to content

Commit

Permalink
[CI][ANDR] Use Gradle plugin to guard against including non-permitted…
Browse files Browse the repository at this point in the history
… licenses
  • Loading branch information
murki committed Aug 24, 2024
1 parent 4dd2ac8 commit 8fa9d0c
Show file tree
Hide file tree
Showing 9 changed files with 64 additions and 5 deletions.
23 changes: 23 additions & 0 deletions platform/jvm/allowed-licenses.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"allowedLicenses": [
{
"moduleLicense": "Apache-2.0"
},
{
"moduleLicense": "MIT"
},
{
"moduleLicense": "ISC License"
},
{
"moduleLicense": null,
"moduleVersion": "unspecified",
"moduleName": "capture-sdk:common"
},
{
"moduleLicense": null,
"moduleVersion": "unspecified",
"moduleName": "capture-sdk:replay"
}
]
}
14 changes: 14 additions & 0 deletions platform/jvm/buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
plugins {
`kotlin-dsl`
}

repositories {
mavenCentral()
maven("https://plugins.gradle.org/m2/")
}

dependencies {
// Pulls in dependencies to be used across shared configurations via files in src/main/kotlin
// using precompiled script convention plugins: https://docs.gradle.org/current/userguide/sharing_build_logic_between_subprojects.html
implementation("com.github.jk1:gradle-license-report:2.9")
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import com.github.jk1.license.filter.SpdxLicenseBundleNormalizer
import com.github.jk1.license.render.JsonReportRenderer

plugins {
id("com.github.jk1.dependency-license-report")
}

licenseReport {
configurations = arrayOf("releaseRuntimeClasspath")
allowedLicensesFile = project.rootProject.file("allowed-licenses.json")
renderers = arrayOf(JsonReportRenderer())
filters = arrayOf(SpdxLicenseBundleNormalizer())
}
2 changes: 2 additions & 0 deletions platform/jvm/capture-apollo3/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.detekt)

id("dependency-license-config")
}

group = "io.bitdrift"
Expand Down
2 changes: 2 additions & 0 deletions platform/jvm/capture-timber/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ plugins {
// Publish
alias(libs.plugins.dokka) // Must be applied here for publish plugin.
alias(libs.plugins.maven.publish)

id("dependency-license-config")
}

group = "io.bitdrift"
Expand Down
6 changes: 4 additions & 2 deletions platform/jvm/capture/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -7,22 +7,24 @@ plugins {
// Publish
alias(libs.plugins.dokka) // Must be applied here for publish plugin.
alias(libs.plugins.maven.publish)

id("dependency-license-config")
}

group = "io.bitdrift"

dependencies {
api(project(":replay"))
api(project(path = ":replay", configuration = "default"))
api(libs.androidx.lifecycle.common)
api(libs.androidx.lifecycle.process)
api(libs.kotlin.result.jvm)
api(libs.okhttp)

implementation(project(path = ":common", configuration = "default"))
implementation(libs.androidx.core)
implementation(libs.androidx.startup.runtime)
implementation(libs.jsr305)
implementation(libs.gson)
implementation("androidx.tracing:tracing-ktx:1.2.0")

testImplementation(libs.junit)
testImplementation(libs.assertj.core)
Expand Down
2 changes: 2 additions & 0 deletions platform/jvm/common/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.android)

id("dependency-license-config")
}

android {
Expand Down
2 changes: 1 addition & 1 deletion platform/jvm/gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -60,4 +60,4 @@ detekt = { id = "io.gitlab.arturbosch.detekt", version.ref = "detektPlugin" }
dokka = { id = "org.jetbrains.dokka", version.ref = "dokkaPlugin"}
maven-publish = { id = "com.vanniktech.maven.publish", version.ref = "mavenPublishPlugin"}
kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlinAndroidPlugin" }
rust-android = { id = "org.mozilla.rust-android-gradle.rust-android", version.ref = "rustAndroidPlugin"}
rust-android = { id = "org.mozilla.rust-android-gradle.rust-android", version.ref = "rustAndroidPlugin"}
5 changes: 3 additions & 2 deletions platform/jvm/replay/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.android)

id("dependency-license-config")
}

dependencies {
api(project(":common"))

implementation(project(":common"))
implementation(libs.androidx.appcompat)
implementation(libs.androidx.ui)
implementation(libs.okhttp)
Expand Down

0 comments on commit 8fa9d0c

Please sign in to comment.