mirror of
https://github.com/msfjarvis/compose-lobsters
synced 2025-08-14 11:47:04 +05:30
refactor(build-logic): make everything top-level
This commit is contained in:
parent
f48ef0206f
commit
1267cf81e3
21 changed files with 48 additions and 88 deletions
1
build-logic/.gitignore
vendored
1
build-logic/.gitignore
vendored
|
@ -1 +0,0 @@
|
||||||
/build
|
|
|
@ -1,57 +0,0 @@
|
||||||
/*
|
|
||||||
* Copyright © 2022 Harsh Shandilya.
|
|
||||||
* Use of this source code is governed by an MIT-style
|
|
||||||
* license that can be found in the LICENSE file or at
|
|
||||||
* https://opensource.org/licenses/MIT.
|
|
||||||
*/
|
|
||||||
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("android-application") {
|
|
||||||
id = "dev.msfjarvis.claw.android-application"
|
|
||||||
implementationClass = "dev.msfjarvis.aps.gradle.ApplicationPlugin"
|
|
||||||
}
|
|
||||||
register("android-common") {
|
|
||||||
id = "dev.msfjarvis.claw.android-common"
|
|
||||||
implementationClass = "dev.msfjarvis.aps.gradle.AndroidCommonPlugin"
|
|
||||||
}
|
|
||||||
register("android-library") {
|
|
||||||
id = "dev.msfjarvis.claw.android-library"
|
|
||||||
implementationClass = "dev.msfjarvis.aps.gradle.LibraryPlugin"
|
|
||||||
}
|
|
||||||
register("rename-artifacts") {
|
|
||||||
id = "dev.msfjarvis.claw.rename-artifacts"
|
|
||||||
implementationClass = "dev.msfjarvis.aps.gradle.RenameArtifactsPlugin"
|
|
||||||
}
|
|
||||||
register("versioning") {
|
|
||||||
id = "dev.msfjarvis.claw.versioning-plugin"
|
|
||||||
implementationClass = "dev.msfjarvis.aps.gradle.versioning.VersioningPlugin"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
implementation(libs.build.agp)
|
|
||||||
implementation(libs.build.cachefix)
|
|
||||||
implementation(libs.build.semver)
|
|
||||||
}
|
|
|
@ -27,38 +27,60 @@ afterEvaluate {
|
||||||
|
|
||||||
gradlePlugin {
|
gradlePlugin {
|
||||||
plugins {
|
plugins {
|
||||||
|
register("android-application") {
|
||||||
|
id = "dev.msfjarvis.claw.android-application"
|
||||||
|
implementationClass = "dev.msfjarvis.claw.gradle.ApplicationPlugin"
|
||||||
|
}
|
||||||
|
register("android-common") {
|
||||||
|
id = "dev.msfjarvis.claw.android-common"
|
||||||
|
implementationClass = "dev.msfjarvis.claw.gradle.AndroidCommonPlugin"
|
||||||
|
}
|
||||||
|
register("android-library") {
|
||||||
|
id = "dev.msfjarvis.claw.android-library"
|
||||||
|
implementationClass = "dev.msfjarvis.claw.gradle.LibraryPlugin"
|
||||||
|
}
|
||||||
register("kotlin-android") {
|
register("kotlin-android") {
|
||||||
id = "dev.msfjarvis.claw.kotlin-android"
|
id = "dev.msfjarvis.claw.kotlin-android"
|
||||||
implementationClass = "dev.msfjarvis.aps.gradle.KotlinAndroidPlugin"
|
implementationClass = "dev.msfjarvis.claw.gradle.KotlinAndroidPlugin"
|
||||||
}
|
}
|
||||||
register("kotlin-common") {
|
register("kotlin-common") {
|
||||||
id = "dev.msfjarvis.claw.kotlin-common"
|
id = "dev.msfjarvis.claw.kotlin-common"
|
||||||
implementationClass = "dev.msfjarvis.aps.gradle.KotlinCommonPlugin"
|
implementationClass = "dev.msfjarvis.claw.gradle.KotlinCommonPlugin"
|
||||||
}
|
}
|
||||||
register("kotlin-kapt") {
|
register("kotlin-kapt") {
|
||||||
id = "dev.msfjarvis.claw.kotlin-kapt"
|
id = "dev.msfjarvis.claw.kotlin-kapt"
|
||||||
implementationClass = "dev.msfjarvis.aps.gradle.KotlinKaptPlugin"
|
implementationClass = "dev.msfjarvis.claw.gradle.KotlinKaptPlugin"
|
||||||
}
|
}
|
||||||
register("kotlin-library") {
|
register("kotlin-library") {
|
||||||
id = "dev.msfjarvis.claw.kotlin-library"
|
id = "dev.msfjarvis.claw.kotlin-library"
|
||||||
implementationClass = "dev.msfjarvis.aps.gradle.KotlinLibraryPlugin"
|
implementationClass = "dev.msfjarvis.claw.gradle.KotlinLibraryPlugin"
|
||||||
|
}
|
||||||
|
register("rename-artifacts") {
|
||||||
|
id = "dev.msfjarvis.claw.rename-artifacts"
|
||||||
|
implementationClass = "dev.msfjarvis.claw.gradle.RenameArtifactsPlugin"
|
||||||
}
|
}
|
||||||
register("spotless") {
|
register("spotless") {
|
||||||
id = "dev.msfjarvis.claw.spotless"
|
id = "dev.msfjarvis.claw.spotless"
|
||||||
implementationClass = "dev.msfjarvis.aps.gradle.SpotlessPlugin"
|
implementationClass = "dev.msfjarvis.claw.gradle.SpotlessPlugin"
|
||||||
|
}
|
||||||
|
register("versioning") {
|
||||||
|
id = "dev.msfjarvis.claw.versioning-plugin"
|
||||||
|
implementationClass = "dev.msfjarvis.claw.gradle.versioning.VersioningPlugin"
|
||||||
}
|
}
|
||||||
register("versions") {
|
register("versions") {
|
||||||
id = "dev.msfjarvis.claw.versions"
|
id = "dev.msfjarvis.claw.versions"
|
||||||
implementationClass = "dev.msfjarvis.aps.gradle.DependencyUpdatesPlugin"
|
implementationClass = "dev.msfjarvis.claw.gradle.DependencyUpdatesPlugin"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation(libs.build.agp)
|
implementation(libs.build.agp)
|
||||||
|
implementation(libs.build.cachefix)
|
||||||
implementation(libs.build.detekt)
|
implementation(libs.build.detekt)
|
||||||
implementation(libs.build.kotlin.gradle)
|
implementation(libs.build.kotlin.gradle)
|
||||||
implementation(libs.build.kotlin.serialization)
|
implementation(libs.build.kotlin.serialization)
|
||||||
|
implementation(libs.build.semver)
|
||||||
implementation(libs.build.spotless)
|
implementation(libs.build.spotless)
|
||||||
implementation(libs.build.vcu)
|
implementation(libs.build.vcu)
|
||||||
implementation(libs.build.versions)
|
implementation(libs.build.versions)
|
|
@ -39,7 +39,3 @@ dependencyResolutionManagement {
|
||||||
}
|
}
|
||||||
versionCatalogs { create("libs") { from(files("../gradle/libs.versions.toml")) } }
|
versionCatalogs { create("libs") { from(files("../gradle/libs.versions.toml")) } }
|
||||||
}
|
}
|
||||||
|
|
||||||
include("android-plugins")
|
|
||||||
|
|
||||||
include("kotlin-plugins")
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
*/
|
*/
|
||||||
@file:Suppress("UnstableApiUsage")
|
@file:Suppress("UnstableApiUsage")
|
||||||
|
|
||||||
package dev.msfjarvis.aps.gradle
|
package dev.msfjarvis.claw.gradle
|
||||||
|
|
||||||
import com.android.build.api.dsl.LibraryExtension
|
import com.android.build.api.dsl.LibraryExtension
|
||||||
import com.android.build.api.dsl.Lint
|
import com.android.build.api.dsl.Lint
|
|
@ -6,11 +6,11 @@
|
||||||
*/
|
*/
|
||||||
@file:Suppress("UnstableApiUsage")
|
@file:Suppress("UnstableApiUsage")
|
||||||
|
|
||||||
package dev.msfjarvis.aps.gradle
|
package dev.msfjarvis.claw.gradle
|
||||||
|
|
||||||
import com.android.build.gradle.AppPlugin
|
import com.android.build.gradle.AppPlugin
|
||||||
import com.android.build.gradle.internal.dsl.BaseAppModuleExtension
|
import com.android.build.gradle.internal.dsl.BaseAppModuleExtension
|
||||||
import dev.msfjarvis.aps.gradle.signing.configureBuildSigning
|
import dev.msfjarvis.claw.gradle.signing.configureBuildSigning
|
||||||
import org.gradle.api.Plugin
|
import org.gradle.api.Plugin
|
||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
||||||
import org.gradle.kotlin.dsl.apply
|
import org.gradle.kotlin.dsl.apply
|
|
@ -4,7 +4,7 @@
|
||||||
* license that can be found in the LICENSE file or at
|
* license that can be found in the LICENSE file or at
|
||||||
* https://opensource.org/licenses/MIT.
|
* https://opensource.org/licenses/MIT.
|
||||||
*/
|
*/
|
||||||
package dev.msfjarvis.aps.gradle
|
package dev.msfjarvis.claw.gradle
|
||||||
|
|
||||||
import com.github.benmanes.gradle.versions.VersionsPlugin
|
import com.github.benmanes.gradle.versions.VersionsPlugin
|
||||||
import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask
|
import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask
|
|
@ -4,7 +4,7 @@
|
||||||
* license that can be found in the LICENSE file or at
|
* license that can be found in the LICENSE file or at
|
||||||
* https://opensource.org/licenses/MIT.
|
* https://opensource.org/licenses/MIT.
|
||||||
*/
|
*/
|
||||||
package dev.msfjarvis.aps.gradle
|
package dev.msfjarvis.claw.gradle
|
||||||
|
|
||||||
import io.gitlab.arturbosch.detekt.DetektPlugin
|
import io.gitlab.arturbosch.detekt.DetektPlugin
|
||||||
import io.gitlab.arturbosch.detekt.extensions.DetektExtension
|
import io.gitlab.arturbosch.detekt.extensions.DetektExtension
|
|
@ -4,7 +4,7 @@
|
||||||
* license that can be found in the LICENSE file or at
|
* license that can be found in the LICENSE file or at
|
||||||
* https://opensource.org/licenses/MIT.
|
* https://opensource.org/licenses/MIT.
|
||||||
*/
|
*/
|
||||||
package dev.msfjarvis.aps.gradle
|
package dev.msfjarvis.claw.gradle
|
||||||
|
|
||||||
import org.gradle.api.Plugin
|
import org.gradle.api.Plugin
|
||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
|
@ -4,7 +4,7 @@
|
||||||
* license that can be found in the LICENSE file or at
|
* license that can be found in the LICENSE file or at
|
||||||
* https://opensource.org/licenses/MIT.
|
* https://opensource.org/licenses/MIT.
|
||||||
*/
|
*/
|
||||||
package dev.msfjarvis.aps.gradle
|
package dev.msfjarvis.claw.gradle
|
||||||
|
|
||||||
import org.gradle.api.JavaVersion
|
import org.gradle.api.JavaVersion
|
||||||
import org.gradle.api.Plugin
|
import org.gradle.api.Plugin
|
|
@ -4,7 +4,7 @@
|
||||||
* license that can be found in the LICENSE file or at
|
* license that can be found in the LICENSE file or at
|
||||||
* https://opensource.org/licenses/MIT.
|
* https://opensource.org/licenses/MIT.
|
||||||
*/
|
*/
|
||||||
package dev.msfjarvis.aps.gradle
|
package dev.msfjarvis.claw.gradle
|
||||||
|
|
||||||
import org.gradle.api.Plugin
|
import org.gradle.api.Plugin
|
||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
|
@ -4,7 +4,7 @@
|
||||||
* license that can be found in the LICENSE file or at
|
* license that can be found in the LICENSE file or at
|
||||||
* https://opensource.org/licenses/MIT.
|
* https://opensource.org/licenses/MIT.
|
||||||
*/
|
*/
|
||||||
package dev.msfjarvis.aps.gradle
|
package dev.msfjarvis.claw.gradle
|
||||||
|
|
||||||
import org.gradle.api.Plugin
|
import org.gradle.api.Plugin
|
||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
|
@ -4,7 +4,7 @@
|
||||||
* license that can be found in the LICENSE file or at
|
* license that can be found in the LICENSE file or at
|
||||||
* https://opensource.org/licenses/MIT.
|
* https://opensource.org/licenses/MIT.
|
||||||
*/
|
*/
|
||||||
package dev.msfjarvis.aps.gradle
|
package dev.msfjarvis.claw.gradle
|
||||||
|
|
||||||
import com.android.build.gradle.LibraryPlugin
|
import com.android.build.gradle.LibraryPlugin
|
||||||
import org.gradle.api.Plugin
|
import org.gradle.api.Plugin
|
|
@ -4,13 +4,13 @@
|
||||||
* license that can be found in the LICENSE file or at
|
* license that can be found in the LICENSE file or at
|
||||||
* https://opensource.org/licenses/MIT.
|
* https://opensource.org/licenses/MIT.
|
||||||
*/
|
*/
|
||||||
package dev.msfjarvis.aps.gradle
|
package dev.msfjarvis.claw.gradle
|
||||||
|
|
||||||
import com.android.build.api.artifact.SingleArtifact
|
import com.android.build.api.artifact.SingleArtifact
|
||||||
import com.android.build.api.variant.ApplicationAndroidComponentsExtension
|
import com.android.build.api.variant.ApplicationAndroidComponentsExtension
|
||||||
import com.android.build.api.variant.VariantOutputConfiguration
|
import com.android.build.api.variant.VariantOutputConfiguration
|
||||||
import dev.msfjarvis.aps.gradle.artifacts.CollectApksTask
|
import dev.msfjarvis.claw.gradle.artifacts.CollectApksTask
|
||||||
import dev.msfjarvis.aps.gradle.artifacts.CollectBundleTask
|
import dev.msfjarvis.claw.gradle.artifacts.CollectBundleTask
|
||||||
import java.util.Locale
|
import java.util.Locale
|
||||||
import org.gradle.api.Plugin
|
import org.gradle.api.Plugin
|
||||||
import org.gradle.api.Project
|
import org.gradle.api.Project
|
|
@ -4,7 +4,7 @@
|
||||||
* license that can be found in the LICENSE file or at
|
* license that can be found in the LICENSE file or at
|
||||||
* https://opensource.org/licenses/MIT.
|
* https://opensource.org/licenses/MIT.
|
||||||
*/
|
*/
|
||||||
package dev.msfjarvis.aps.gradle
|
package dev.msfjarvis.claw.gradle
|
||||||
|
|
||||||
import com.diffplug.gradle.spotless.SpotlessExtension
|
import com.diffplug.gradle.spotless.SpotlessExtension
|
||||||
import com.diffplug.gradle.spotless.SpotlessPlugin
|
import com.diffplug.gradle.spotless.SpotlessPlugin
|
|
@ -4,7 +4,7 @@
|
||||||
* license that can be found in the LICENSE file or at
|
* license that can be found in the LICENSE file or at
|
||||||
* https://opensource.org/licenses/MIT.
|
* https://opensource.org/licenses/MIT.
|
||||||
*/
|
*/
|
||||||
package dev.msfjarvis.aps.gradle.artifacts
|
package dev.msfjarvis.claw.gradle.artifacts
|
||||||
|
|
||||||
import com.android.build.api.variant.BuiltArtifactsLoader
|
import com.android.build.api.variant.BuiltArtifactsLoader
|
||||||
import java.io.File
|
import java.io.File
|
|
@ -4,7 +4,7 @@
|
||||||
* license that can be found in the LICENSE file or at
|
* license that can be found in the LICENSE file or at
|
||||||
* https://opensource.org/licenses/MIT.
|
* https://opensource.org/licenses/MIT.
|
||||||
*/
|
*/
|
||||||
package dev.msfjarvis.aps.gradle.artifacts
|
package dev.msfjarvis.claw.gradle.artifacts
|
||||||
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.nio.file.Files
|
import java.nio.file.Files
|
|
@ -4,7 +4,7 @@
|
||||||
* license that can be found in the LICENSE file or at
|
* license that can be found in the LICENSE file or at
|
||||||
* https://opensource.org/licenses/MIT.
|
* https://opensource.org/licenses/MIT.
|
||||||
*/
|
*/
|
||||||
package dev.msfjarvis.aps.gradle.signing
|
package dev.msfjarvis.claw.gradle.signing
|
||||||
|
|
||||||
import com.android.build.gradle.internal.dsl.BaseAppModuleExtension
|
import com.android.build.gradle.internal.dsl.BaseAppModuleExtension
|
||||||
import java.util.Properties
|
import java.util.Properties
|
|
@ -4,7 +4,7 @@
|
||||||
* license that can be found in the LICENSE file or at
|
* license that can be found in the LICENSE file or at
|
||||||
* https://opensource.org/licenses/MIT.
|
* https://opensource.org/licenses/MIT.
|
||||||
*/
|
*/
|
||||||
package dev.msfjarvis.aps.gradle.versioning
|
package dev.msfjarvis.claw.gradle.versioning
|
||||||
|
|
||||||
const val VERSIONING_PROP_FILE = "version.properties"
|
const val VERSIONING_PROP_FILE = "version.properties"
|
||||||
const val VERSIONING_PROP_VERSION_NAME = "versioning-plugin.versionName"
|
const val VERSIONING_PROP_VERSION_NAME = "versioning-plugin.versionName"
|
|
@ -4,7 +4,7 @@
|
||||||
* license that can be found in the LICENSE file or at
|
* license that can be found in the LICENSE file or at
|
||||||
* https://opensource.org/licenses/MIT.
|
* https://opensource.org/licenses/MIT.
|
||||||
*/
|
*/
|
||||||
package dev.msfjarvis.aps.gradle.versioning
|
package dev.msfjarvis.claw.gradle.versioning
|
||||||
|
|
||||||
import com.android.build.api.variant.ApplicationAndroidComponentsExtension
|
import com.android.build.api.variant.ApplicationAndroidComponentsExtension
|
||||||
import com.android.build.api.variant.VariantOutputConfiguration
|
import com.android.build.api.variant.VariantOutputConfiguration
|
|
@ -4,7 +4,7 @@
|
||||||
* license that can be found in the LICENSE file or at
|
* license that can be found in the LICENSE file or at
|
||||||
* https://opensource.org/licenses/MIT.
|
* https://opensource.org/licenses/MIT.
|
||||||
*/
|
*/
|
||||||
package dev.msfjarvis.aps.gradle.versioning
|
package dev.msfjarvis.claw.gradle.versioning
|
||||||
|
|
||||||
import com.vdurmont.semver4j.Semver
|
import com.vdurmont.semver4j.Semver
|
||||||
import org.gradle.api.DefaultTask
|
import org.gradle.api.DefaultTask
|
Loading…
Add table
Add a link
Reference in a new issue