refactor(build-logic): move all code to a single top-level project

This commit is contained in:
Harsh Shandilya 2022-12-02 01:57:02 +05:30
parent 54bb4676a7
commit afd0eebdd3
No known key found for this signature in database
36 changed files with 47 additions and 120 deletions

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="KotlinJpsPluginSettings">
<option name="version" value="1.7.21" />
<option name="version" value="1.7.22" />
</component>
</project>

View file

@ -1,64 +0,0 @@
/*
* 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 + "-Xsam-conversions=class"
}
}
}
gradlePlugin {
plugins {
register("versioning") {
id = "com.github.android-password-store.versioning-plugin"
implementationClass = "app.passwordstore.gradle.versioning.VersioningPlugin"
}
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("published-android-library") {
id = "com.github.android-password-store.published-android-library"
implementationClass = "app.passwordstore.gradle.PublishedAndroidLibraryPlugin"
}
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"
}
}
}
dependencies {
implementation(libs.build.agp)
implementation(libs.build.mavenpublish)
implementation(libs.build.metalava)
implementation(libs.build.r8)
implementation(libs.build.semver)
implementation(libs.build.sentry)
}

View file

@ -1,48 +0,0 @@
/*
* 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 + "-Xsam-conversions=class"
}
}
}
gradlePlugin {
plugins {
register("crowdin") {
id = "com.github.android-password-store.crowdin-plugin"
implementationClass = "app.passwordstore.gradle.crowdin.CrowdinDownloadPlugin"
}
register("psl") {
id = "com.github.android-password-store.psl-plugin"
implementationClass = "app.passwordstore.gradle.psl.PublicSuffixListPlugin"
}
register("git-hooks") {
id = "com.github.android-password-store.git-hooks"
implementationClass = "app.passwordstore.gradle.GitHooksPlugin"
}
}
}
dependencies {
implementation(libs.build.download)
implementation(libs.build.okhttp)
}

View file

@ -20,13 +20,32 @@ afterEvaluate {
tasks.withType<KotlinCompile>().configureEach {
kotlinOptions {
jvmTarget = JavaVersion.VERSION_11.toString()
freeCompilerArgs = freeCompilerArgs + "-Xsam-conversions=class" + "-opt-in=kotlin.RequiresOptIn"
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"
@ -47,6 +66,26 @@ gradlePlugin {
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"
@ -58,9 +97,15 @@ 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)

View file

@ -61,9 +61,3 @@ dependencyResolutionManagement {
}
}
}
include("android-plugins")
include("automation-plugins")
include("kotlin-plugins")