2021-11-28 20:49:27 +00:00
|
|
|
/*
|
|
|
|
* Copyright © 2014-2021 The Android Password Store Authors. All Rights Reserved.
|
|
|
|
* SPDX-License-Identifier: GPL-3.0-only
|
|
|
|
*/
|
2022-10-24 09:16:38 +00:00
|
|
|
@file:Suppress("DSL_SCOPE_VIOLATION", "UnstableApiUsage")
|
2021-11-28 20:49:27 +00:00
|
|
|
|
2021-12-22 16:17:19 +00:00
|
|
|
import org.gradle.api.JavaVersion
|
|
|
|
import org.gradle.api.tasks.compile.JavaCompile
|
|
|
|
import org.gradle.kotlin.dsl.withType
|
|
|
|
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
|
|
|
|
|
2021-12-26 06:29:57 +00:00
|
|
|
plugins { `kotlin-dsl` }
|
2021-11-14 05:57:44 +00:00
|
|
|
|
2021-12-23 12:22:17 +00:00
|
|
|
afterEvaluate {
|
|
|
|
tasks.withType<JavaCompile>().configureEach {
|
|
|
|
sourceCompatibility = JavaVersion.VERSION_11.toString()
|
|
|
|
targetCompatibility = JavaVersion.VERSION_11.toString()
|
|
|
|
}
|
2021-12-22 16:17:19 +00:00
|
|
|
|
2021-12-23 12:22:17 +00:00
|
|
|
tasks.withType<KotlinCompile>().configureEach {
|
2022-05-02 20:18:16 +00:00
|
|
|
kotlinOptions {
|
|
|
|
jvmTarget = JavaVersion.VERSION_11.toString()
|
2022-10-29 01:59:46 +00:00
|
|
|
freeCompilerArgs = freeCompilerArgs + listOf(
|
|
|
|
"-Xsam-conversions=class",
|
|
|
|
"-opt-in=kotlin.RequiresOptIn",
|
2022-12-01 20:27:02 +00:00
|
|
|
)
|
2022-05-02 20:18:16 +00:00
|
|
|
}
|
2021-12-23 12:22:17 +00:00
|
|
|
}
|
2021-12-22 16:17:19 +00:00
|
|
|
}
|
|
|
|
|
2022-06-04 22:26:37 +00:00
|
|
|
gradlePlugin {
|
|
|
|
plugins {
|
|
|
|
register("android-application") {
|
|
|
|
id = "com.github.android-password-store.android-application"
|
|
|
|
implementationClass = "app.passwordstore.gradle.ApplicationPlugin"
|
2022-12-01 20:27:02 +00:00
|
|
|
}
|
2022-06-04 22:26:37 +00:00
|
|
|
register("android-library") {
|
|
|
|
id = "com.github.android-password-store.android-library"
|
|
|
|
implementationClass = "app.passwordstore.gradle.LibraryPlugin"
|
2022-12-01 20:27:02 +00:00
|
|
|
}
|
2022-06-04 22:26:37 +00:00
|
|
|
register("crowdin") {
|
|
|
|
id = "com.github.android-password-store.crowdin-plugin"
|
|
|
|
implementationClass = "app.passwordstore.gradle.crowdin.CrowdinDownloadPlugin"
|
2022-12-01 20:27:02 +00:00
|
|
|
}
|
2022-06-30 16:03:59 +00:00
|
|
|
register("git-hooks") {
|
|
|
|
id = "com.github.android-password-store.git-hooks"
|
|
|
|
implementationClass = "app.passwordstore.gradle.GitHooksPlugin"
|
2022-12-01 20:27:02 +00:00
|
|
|
}
|
2022-06-04 22:26:37 +00:00
|
|
|
register("kotlin-android") {
|
|
|
|
id = "com.github.android-password-store.kotlin-android"
|
|
|
|
implementationClass = "app.passwordstore.gradle.KotlinAndroidPlugin"
|
|
|
|
}
|
|
|
|
register("kotlin-common") {
|
|
|
|
id = "com.github.android-password-store.kotlin-common"
|
|
|
|
implementationClass = "app.passwordstore.gradle.KotlinCommonPlugin"
|
|
|
|
}
|
|
|
|
register("kotlin-kapt") {
|
|
|
|
id = "com.github.android-password-store.kotlin-kapt"
|
|
|
|
implementationClass = "app.passwordstore.gradle.KotlinKaptPlugin"
|
|
|
|
}
|
|
|
|
register("kotlin-library") {
|
|
|
|
id = "com.github.android-password-store.kotlin-library"
|
|
|
|
implementationClass = "app.passwordstore.gradle.KotlinLibraryPlugin"
|
|
|
|
}
|
2022-10-29 01:59:46 +00:00
|
|
|
register("ktfmt") {
|
|
|
|
id = "com.github.android-password-store.ktfmt"
|
|
|
|
implementationClass = "app.passwordstore.gradle.KtfmtPlugin"
|
|
|
|
}
|
2022-06-04 22:26:37 +00:00
|
|
|
register("published-android-library") {
|
|
|
|
id = "com.github.android-password-store.published-android-library"
|
|
|
|
implementationClass = "app.passwordstore.gradle.PublishedAndroidLibraryPlugin"
|
2022-12-01 20:27:02 +00:00
|
|
|
}
|
2022-06-30 16:03:59 +00:00
|
|
|
register("psl") {
|
2022-06-04 22:26:37 +00:00
|
|
|
id = "com.github.android-password-store.psl-plugin"
|
|
|
|
implementationClass = "app.passwordstore.gradle.psl.PublicSuffixListPlugin"
|
2022-12-01 20:27:02 +00:00
|
|
|
}
|
2022-06-30 16:03:59 +00:00
|
|
|
register("rename-artifacts") {
|
|
|
|
id = "com.github.android-password-store.rename-artifacts"
|
|
|
|
implementationClass = "app.passwordstore.gradle.RenameArtifactsPlugin"
|
2022-12-01 20:27:02 +00:00
|
|
|
}
|
2022-06-04 22:26:37 +00:00
|
|
|
register("sentry") {
|
|
|
|
id = "com.github.android-password-store.sentry"
|
|
|
|
implementationClass = "app.passwordstore.gradle.SentryPlugin"
|
2022-12-01 20:27:02 +00:00
|
|
|
}
|
2022-06-30 16:03:59 +00:00
|
|
|
register("versioning") {
|
|
|
|
id = "com.github.android-password-store.versioning-plugin"
|
2022-06-04 22:26:37 +00:00
|
|
|
implementationClass = "app.passwordstore.gradle.versioning.VersioningPlugin"
|
2022-12-01 20:27:02 +00:00
|
|
|
}
|
2022-06-30 16:03:59 +00:00
|
|
|
register("versions") {
|
|
|
|
id = "com.github.android-password-store.versions"
|
|
|
|
implementationClass = "app.passwordstore.gradle.DependencyUpdatesPlugin"
|
|
|
|
}
|
2022-06-04 22:26:37 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-11-14 05:57:44 +00:00
|
|
|
dependencies {
|
2021-11-28 20:49:27 +00:00
|
|
|
implementation(libs.build.agp)
|
2022-07-16 19:25:12 +00:00
|
|
|
implementation(libs.build.detekt)
|
2022-10-29 01:59:46 +00:00
|
|
|
implementation(libs.build.diffutils)
|
|
|
|
implementation(libs.build.download)
|
2021-11-14 06:40:38 +00:00
|
|
|
implementation(libs.build.kotlin)
|
2022-10-29 01:59:46 +00:00
|
|
|
implementation(libs.build.ktfmt)
|
2022-06-30 16:03:59 +00:00
|
|
|
implementation(libs.build.mavenpublish)
|
2022-07-16 19:25:12 +00:00
|
|
|
implementation(libs.build.metalava)
|
2021-11-28 20:49:27 +00:00
|
|
|
implementation(libs.build.okhttp)
|
2022-07-07 08:58:45 +00:00
|
|
|
implementation(libs.build.r8)
|
2022-06-30 16:03:59 +00:00
|
|
|
implementation(libs.build.semver)
|
|
|
|
implementation(libs.build.sentry)
|
|
|
|
implementation(libs.build.vcu)
|
|
|
|
implementation(libs.build.versions)
|
2022-10-29 01:59:46 +00:00
|
|
|
implementation(libs.kotlin.coroutines.core)
|
2021-11-14 05:57:44 +00:00
|
|
|
}
|