Skip to content
Merged
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
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,6 @@
.cxx
/.idea/*
/scripts/publish/_credentials.properties
/scripts/publish/_newCreds.properties
*.gpg
/buildSrc/build
51 changes: 0 additions & 51 deletions build.gradle

This file was deleted.

55 changes: 55 additions & 0 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
import org.gradle.api.tasks.Copy
import org.gradle.api.tasks.Delete
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
alias(libs.plugins.ksp) apply false
alias(libs.plugins.detekt) apply false
alias(libs.plugins.ktlint) apply false
}

allprojects {
repositories {
google()
mavenCentral()
// for testing Pluto staged repository
maven("https://s01.oss.sonatype.org/content/groups/staging/")
}
}

subprojects {
// if (project.name != "pluto-no-op") {
pluginManager.withPlugin("kotlin-android") {
apply (from = "$rootDir/scripts/static-analysis/code-analysis.gradle")
}
// }
}

val installGitHook by tasks.registering(Copy::class) {
from(File(rootProject.rootDir, "pre-commit"))
into(File(rootProject.rootDir, ".git/hooks"))
fileMode = "0777".toInt(8)
}

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

tasks.withType<Detekt>().configureEach {
exclude(".*/resources/.*,.*/build/.*")
}

val prCheck by tasks.registering {
dependsOn(":sample:assembleDebug")
dependsOn(":pluto:validateChanges")
}

apply (from = "$rootDir/scripts/project-dependancy-graph.gradle")
apply (from = "$rootDir/maven-versions.gradle.kts")
7 changes: 7 additions & 0 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
plugins {
`kotlin-dsl`
}

repositories {
mavenCentral()
}
40 changes: 40 additions & 0 deletions buildSrc/src/main/kotlin/Versioning.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
import java.io.File
import java.util.Properties

object Versioning {
fun loadVersioningData(): Map<String, Any> {
val version = mutableMapOf<String, Any>()

val versionProps = Properties().apply {
load(File("${System.getProperty("user.dir")}/version.properties").inputStream())
}

val versionMajor = versionProps["major"]?.toString()?.toInt() ?: 0
val versionMinor = versionProps["minor"]?.toString()?.toInt() ?: 0
val versionPatch = versionProps["patch"]?.toString()?.toInt() ?: 0
val versionBuild = versionProps["build"]?.toString()?.toInt() ?: 0
val versionChannel = versionProps["channel"]?.toString() ?: "release"

version["code"] = (versionMajor * 1_000_000) + (versionMinor * 10_000) + (versionPatch * 100) + versionBuild
version["name"] = "$versionMajor.$versionMinor.$versionPatch-rc$versionBuild"

var publishVersion = "$versionMajor.$versionMinor.$versionPatch"
if (versionChannel != "release") {
publishVersion = "$publishVersion-$versionChannel$versionBuild"
}
version["publish"] = publishVersion

val gitSha = "git rev-parse --short=10 HEAD".runCommand()?.trim() ?: ""
version["gitSha"] = gitSha

return version
}

private fun String.runCommand(): String? {
return try {
ProcessBuilder("/bin/sh", "-c", this).start().inputStream.bufferedReader().readText()
} catch (e: Exception) {
null
}
}
}
3 changes: 0 additions & 3 deletions maven-versions.gradle

This file was deleted.

1 change: 1 addition & 0 deletions maven-versions.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
extra["plutoVersion"] = "2.0.5"
31 changes: 0 additions & 31 deletions pluto-plugins/base/lib/build.gradle

This file was deleted.

71 changes: 71 additions & 0 deletions pluto-plugins/base/lib/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.android)
}

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

extra["PUBLISH_GROUP_ID"] = "com.plutolib"
extra["PUBLISH_ARTIFACT_ID"] = "plugin"
extra["PUBLISH_VERSION"] = verPublish

android {
namespace = "com.pluto.plugin"
resourcePrefix = "pluto___"
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()
}
}

dependencies {
implementation(libs.androidx.core)
implementation(libs.androidx.appcompat)

api(libs.androidx.constraintlayout)
api(libs.androidx.navigation.fragment)
api(libs.androidx.recyclerview)

api(libs.google.material)

api(libs.androidx.cardview)

api(libs.androidx.lifecycle.common)
api(libs.androidx.lifecycle.runtime)
}
26 changes: 0 additions & 26 deletions pluto-plugins/bundle/lib-no-op/build.gradle

This file was deleted.

62 changes: 62 additions & 0 deletions pluto-plugins/bundle/lib-no-op/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
plugins {
alias(libs.plugins.android.library)
alias(libs.plugins.kotlin.android)
}

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

extra["PUBLISH_GROUP_ID"] = "com.plutolib.plugins"
extra["PUBLISH_ARTIFACT_ID"] = "bundle-core-no-op"
extra["PUBLISH_VERSION"] = verPublish

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()
}
}

dependencies {
api(project(":pluto-plugins:plugins:exceptions:lib-no-op"))
api(project(":pluto-plugins:plugins:network:core:lib-no-op"))
api(project(":pluto-plugins:plugins:network:interceptor-ktor:lib-no-op"))
api(project(":pluto-plugins:plugins:network:interceptor-okhttp:lib-no-op"))
api(project(":pluto-plugins:plugins:shared-preferences:lib-no-op"))
api(project(":pluto-plugins:plugins:logger:lib-no-op"))
api(project(":pluto-plugins:plugins:datastore:lib-no-op"))
api(project(":pluto-plugins:plugins:rooms-database:lib-no-op"))
api(project(":pluto-plugins:plugins:layout-inspector:lib-no-op"))
}
26 changes: 0 additions & 26 deletions pluto-plugins/bundle/lib/build.gradle

This file was deleted.

Loading