diff options
author | Harsh Shandilya <me@msfjarvis.dev> | 2022-12-02 01:57:02 +0530 |
---|---|---|
committer | Harsh Shandilya <me@msfjarvis.dev> | 2022-12-02 01:57:02 +0530 |
commit | afd0eebdd3287d932c53879fa1ac88f430080ef5 (patch) | |
tree | 141b9147325b96f4ab3a49927e4a1d997f3c37be /build-logic/build.gradle.kts | |
parent | 54bb4676a7c16d959769e522ac018f3e3e822797 (diff) |
refactor(build-logic): move all code to a single top-level project
Diffstat (limited to 'build-logic/build.gradle.kts')
-rw-r--r-- | build-logic/build.gradle.kts | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/build-logic/build.gradle.kts b/build-logic/build.gradle.kts new file mode 100644 index 00000000..0740d609 --- /dev/null +++ b/build-logic/build.gradle.kts @@ -0,0 +1,112 @@ +/* + * Copyright © 2014-2021 The Android Password Store Authors. All Rights Reserved. + * SPDX-License-Identifier: GPL-3.0-only + */ +@file:Suppress("DSL_SCOPE_VIOLATION", "UnstableApiUsage") + +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 + +plugins { `kotlin-dsl` } + +afterEvaluate { + tasks.withType<JavaCompile>().configureEach { + sourceCompatibility = JavaVersion.VERSION_11.toString() + targetCompatibility = JavaVersion.VERSION_11.toString() + } + + tasks.withType<KotlinCompile>().configureEach { + kotlinOptions { + jvmTarget = JavaVersion.VERSION_11.toString() + freeCompilerArgs = freeCompilerArgs + listOf( + "-Xsam-conversions=class", + "-opt-in=kotlin.RequiresOptIn", + ) + } + } +} + +gradlePlugin { + plugins { + register("android-application") { + id = "com.github.android-password-store.android-application" + implementationClass = "app.passwordstore.gradle.ApplicationPlugin" + } + register("android-library") { + id = "com.github.android-password-store.android-library" + implementationClass = "app.passwordstore.gradle.LibraryPlugin" + } + register("crowdin") { + id = "com.github.android-password-store.crowdin-plugin" + implementationClass = "app.passwordstore.gradle.crowdin.CrowdinDownloadPlugin" + } + register("git-hooks") { + id = "com.github.android-password-store.git-hooks" + implementationClass = "app.passwordstore.gradle.GitHooksPlugin" + } + 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" + } + register("ktfmt") { + id = "com.github.android-password-store.ktfmt" + implementationClass = "app.passwordstore.gradle.KtfmtPlugin" + } + register("published-android-library") { + id = "com.github.android-password-store.published-android-library" + implementationClass = "app.passwordstore.gradle.PublishedAndroidLibraryPlugin" + } + register("psl") { + id = "com.github.android-password-store.psl-plugin" + implementationClass = "app.passwordstore.gradle.psl.PublicSuffixListPlugin" + } + register("rename-artifacts") { + id = "com.github.android-password-store.rename-artifacts" + implementationClass = "app.passwordstore.gradle.RenameArtifactsPlugin" + } + register("sentry") { + id = "com.github.android-password-store.sentry" + implementationClass = "app.passwordstore.gradle.SentryPlugin" + } + register("versioning") { + id = "com.github.android-password-store.versioning-plugin" + implementationClass = "app.passwordstore.gradle.versioning.VersioningPlugin" + } + register("versions") { + id = "com.github.android-password-store.versions" + implementationClass = "app.passwordstore.gradle.DependencyUpdatesPlugin" + } + } +} + +dependencies { + implementation(libs.build.agp) + implementation(libs.build.detekt) + implementation(libs.build.diffutils) + implementation(libs.build.download) + implementation(libs.build.kotlin) + implementation(libs.build.ktfmt) + implementation(libs.build.mavenpublish) + implementation(libs.build.metalava) + implementation(libs.build.okhttp) + implementation(libs.build.r8) + implementation(libs.build.semver) + implementation(libs.build.sentry) + implementation(libs.build.vcu) + implementation(libs.build.versions) + implementation(libs.kotlin.coroutines.core) +} |