Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ import io.gitlab.arturbosch.detekt.Detekt
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
alias(libs.plugins.dokka)
alias(libs.plugins.android.library) apply false
alias(libs.plugins.android.application) apply false
alias(libs.plugins.kotlin.android) apply false
alias(libs.plugins.kotlin.parcelize) apply false
// id("com.android.library")
id("com.android.application")
id("org.jetbrains.kotlin.android")
id("org.jetbrains.kotlin.plugin.parcelize")
alias(libs.plugins.ksp) apply false
alias(libs.plugins.detekt) apply false
alias(libs.plugins.ktlint) apply false
Expand Down Expand Up @@ -37,10 +37,10 @@ val installGitHook by tasks.registering(Copy::class) {
fileMode = "0777".toInt(8)
}

val clean by tasks.registering(Delete::class) {
dependsOn(installGitHook)
delete(rootProject.buildDir)
}
//val clean by tasks.registering(Delete::class) {
// dependsOn(installGitHook)
// delete(rootProject.buildDir)
//}

tasks.withType<Detekt>().configureEach {
exclude(".*/resources/.*,.*/build/.*")
Expand Down
13 changes: 13 additions & 0 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,7 +1,20 @@
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
`kotlin-dsl`
}

repositories {
google()
mavenCentral()
}

dependencies{
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.20")
implementation("com.android.tools.build:gradle:8.6.0")
}

val compileKotlin:KotlinCompile by tasks
compileKotlin.kotlinOptions {
jvmTarget = "1.8"
}
60 changes: 60 additions & 0 deletions buildSrc/src/main/kotlin/PlutoGradlePlugin.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
import org.gradle.api.Plugin
import org.gradle.api.Project
import com.android.build.gradle.LibraryExtension
import org.gradle.api.JavaVersion

class PlutoGradlePlugin : Plugin<Project> {
override fun apply(project: Project) {
applyPlugins(project)
setProjectConfig(project)
}

private fun applyPlugins(target: Project) {
target.apply {
plugin("android-library")
plugin("kotlin-android")
}
}

private fun setProjectConfig(target: Project) {
val version = Versioning.loadVersioningData()
val verCode = version["code"] as Int
val verPublish = version["publish"] as String
val verGitSHA = version["gitSha"] as String
target.android().apply {
compileSdk = ProjectConfig.compileSdk
buildToolsVersion = ProjectConfig.buildTools
buildFeatures {
buildConfig = true
viewBinding = true
}
defaultConfig {
minSdk = ProjectConfig.minSdk
buildConfigField("String", "VERSION_NAME", "\"$verPublish\"")
buildConfigField("long", "VERSION_CODE", "$verCode")
buildConfigField("String", "GIT_SHA", "\"$verGitSHA\"")
}

buildTypes {
getByName("release") {
// isDebuggable = true
isMinifyEnabled = false
isShrinkResources = false
}
}

compileOptions {
sourceCompatibility = JavaVersion.toVersion(ProjectConfig.java)
targetCompatibility = JavaVersion.toVersion(ProjectConfig.java)
}
lint {
abortOnError = false
targetSdk = ProjectConfig.targetSdk
}
}
}

private fun Project.android(): LibraryExtension {
return extensions.getByType(LibraryExtension::class.java)
}
}
27 changes: 27 additions & 0 deletions buildSrc/src/main/kotlin/ProjectConfig.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
object ProjectConfig {
const val testCore = "1.6.1"
const val coreTesting = "2.2.0"
const val java = "1.8"
const val minSdk = 21
const val mockitoCore = "5.10.0"
const val robolectric = "4.11.1"
const val runner = "1.6.2"
const val targetSdk = 32
const val compileSdk = 34
const val buildTools = "34.0.0"
const val agp = "8.6.0"
const val androidXCore = "1.6.0"
const val androidXLifecycle = "2.8.7"
const val detekt = "1.19.0"
const val kotlin = "1.9.22"
const val ktlintPlugin = "11.1.0"
const val ktor = "2.3.2"
const val ksp = "1.9.22-1.0.16"
const val moshi = "1.15.1"
const val navigation = "2.8.6"
const val okhttp = "4.12.0"
const val retrofit = "2.9.0"
const val room = "2.5.1"
const val mavenPublish = "0.28.0"
}

4 changes: 2 additions & 2 deletions pluto-plugins/base/lib/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import com.vanniktech.maven.publish.SonatypeHost

plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.android)
id("com.android.library")
id("org.jetbrains.kotlin.android")
alias(libs.plugins.maven.publish)
}

Expand Down
39 changes: 3 additions & 36 deletions pluto-plugins/bundle/lib-no-op/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,51 +1,18 @@
import com.vanniktech.maven.publish.SonatypeHost

plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.android)
id("com.android.library")
id("org.jetbrains.kotlin.android")
alias(libs.plugins.maven.publish)
}

val version = Versioning.loadVersioningData()
val verCode = version["code"] as Int
val verPublish = version["publish"] as String
val verGitSHA = version["gitSha"] as String

apply<PlutoGradlePlugin>()
android {
namespace = "com.pluto.plugins.bundle.core"
compileSdk = libs.versions.compileSdk.get().toInt()
buildToolsVersion = libs.versions.buildTools.get()

buildFeatures {
buildConfig = true
viewBinding = true
}

defaultConfig {
minSdk = libs.versions.minSdk.get().toInt()
}

buildTypes {
getByName("release") {
// isDebuggable = true
isMinifyEnabled = false
isShrinkResources = false
}
}

compileOptions {
sourceCompatibility = JavaVersion.toVersion(libs.versions.java.get())
targetCompatibility = JavaVersion.toVersion(libs.versions.java.get())
}

kotlinOptions {
jvmTarget = libs.versions.java.get()
}

lint {
abortOnError = false
targetSdk = libs.versions.targetSdk.get().toInt()
}
}

extra["PUBLISH_GROUP_ID"] = "com.androidpluto.plugins"
Expand Down
4 changes: 2 additions & 2 deletions pluto-plugins/bundle/lib/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import com.vanniktech.maven.publish.SonatypeHost

plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.android)
id("com.android.library")
id("org.jetbrains.kotlin.android")
alias(libs.plugins.maven.publish)
}

Expand Down
41 changes: 4 additions & 37 deletions pluto-plugins/plugins/datastore/lib-no-op/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,51 +1,18 @@
import com.vanniktech.maven.publish.SonatypeHost

plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.android)
id("com.android.library")
id("org.jetbrains.kotlin.android")
alias(libs.plugins.maven.publish)
}

val version = Versioning.loadVersioningData()
val verCode = version["code"] as Int
val verPublish = version["publish"] as String
val verGitSHA = version["gitSha"] as String


apply<PlutoGradlePlugin>()
android {
namespace = "com.pluto.plugins.datastore.pref"

compileSdk = libs.versions.compileSdk.get().toInt()
buildToolsVersion = libs.versions.buildTools.get()

buildFeatures {
viewBinding = true
}

defaultConfig {
minSdk = libs.versions.minSdk.get().toInt()
}

buildTypes {
getByName("release") {
// isDebuggable = true
isMinifyEnabled = false
isShrinkResources = false
}
}

compileOptions {
sourceCompatibility = JavaVersion.toVersion(libs.versions.java.get())
targetCompatibility = JavaVersion.toVersion(libs.versions.java.get())
}

kotlinOptions {
jvmTarget = libs.versions.java.get()
}

lint {
abortOnError = false
targetSdk = libs.versions.targetSdk.get().toInt()
}
}

extra["PUBLISH_GROUP_ID"] = "com.androidpluto.plugins"
Expand Down
46 changes: 4 additions & 42 deletions pluto-plugins/plugins/datastore/lib/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,58 +1,20 @@
import com.vanniktech.maven.publish.SonatypeHost

plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.android)
id("com.android.library")
id("org.jetbrains.kotlin.android")
alias(libs.plugins.maven.publish)
alias(libs.plugins.ksp)
}

val version = Versioning.loadVersioningData()
val verCode = version["code"] as Int
val verPublish = version["publish"] as String
val verGitSHA = version["gitSha"] as String


apply<PlutoGradlePlugin>()
android {
namespace = "com.pluto.plugins.datastore.pref"
resourcePrefix = "pluto_dts___"

compileSdk = libs.versions.compileSdk.get().toInt()
buildToolsVersion = libs.versions.buildTools.get()

buildFeatures {
buildConfig = true
viewBinding = true
}

defaultConfig {
minSdk = libs.versions.minSdk.get().toInt()

buildConfigField("String", "VERSION_NAME", "\"$verPublish\"")
buildConfigField("long", "VERSION_CODE", "$verCode")
buildConfigField("String", "GIT_SHA", "\"$verGitSHA\"")
}

buildTypes {
getByName("release") {
// isDebuggable = true
isMinifyEnabled = false
isShrinkResources = false
}
}

compileOptions {
sourceCompatibility = JavaVersion.toVersion(libs.versions.java.get())
targetCompatibility = JavaVersion.toVersion(libs.versions.java.get())
}

kotlinOptions {
jvmTarget = libs.versions.java.get()
}

lint {
abortOnError = false
targetSdk = libs.versions.targetSdk.get().toInt()
}
}

extra["PUBLISH_GROUP_ID"] = "com.androidpluto.plugins"
Expand Down
40 changes: 3 additions & 37 deletions pluto-plugins/plugins/exceptions/lib-no-op/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,51 +1,17 @@
import com.vanniktech.maven.publish.SonatypeHost

plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.android)
id("com.android.library")
id("org.jetbrains.kotlin.android")
alias(libs.plugins.maven.publish)
}

val version = Versioning.loadVersioningData()
val verCode = version["code"] as Int
val verPublish = version["publish"] as String
val verGitSHA = version["gitSha"] as String

apply<PlutoGradlePlugin>()
android {
namespace = "com.pluto.plugins.exceptions"

compileSdk = libs.versions.compileSdk.get().toInt()
buildToolsVersion = libs.versions.buildTools.get()

buildFeatures {
viewBinding = true
}

defaultConfig {
minSdk = libs.versions.minSdk.get().toInt()
}

buildTypes {
getByName("release") {
// isDebuggable = true
isMinifyEnabled = false
isShrinkResources = false
}
}

compileOptions {
sourceCompatibility = JavaVersion.toVersion(libs.versions.java.get())
targetCompatibility = JavaVersion.toVersion(libs.versions.java.get())
}

kotlinOptions {
jvmTarget = libs.versions.java.get()
}

lint {
abortOnError = false
targetSdk = libs.versions.targetSdk.get().toInt()
}
}

extra["PUBLISH_GROUP_ID"] = "com.androidpluto.plugins"
Expand Down
Loading
Loading