diff --git a/build-logic/build.gradle.kts b/build-logic/build.gradle.kts index 9da79024..6c4c4334 100644 --- a/build-logic/build.gradle.kts +++ b/build-logic/build.gradle.kts @@ -13,6 +13,9 @@ repositories { } dependencies { + // this allow us to access libs.anylibrary using type-safe accessors + implementation(files(libs.javaClass.superclass.protectionDomain.codeSource.location)) + implementation(libs.android.gradle.plugin) implementation(libs.kotlin.gradle.plugin) implementation(libs.detekt.gradle.plugin) diff --git a/build-logic/src/main/java/com.streamplayer.application.gradle.kts b/build-logic/src/main/java/com.streamplayer.application.gradle.kts index edc57f06..2e948946 100644 --- a/build-logic/src/main/java/com.streamplayer.application.gradle.kts +++ b/build-logic/src/main/java/com.streamplayer.application.gradle.kts @@ -1,13 +1,12 @@ @file:Suppress("UnstableApiUsage") -import extensions.dokkaPlugin -import extensions.getLibrary import extensions.iosTarget import extensions.setupAndroidDefaultConfig import extensions.setupCompileOptions import extensions.setupPackingOptions +import org.gradle.accessors.dm.LibrariesForLibs -val libs: VersionCatalog = extensions.getByType().named("libs") +val libs = the() plugins { id("com.android.application") @@ -16,7 +15,6 @@ plugins { id("com.streamplayer.dokka") id("com.streamplayer.detekt") } -val catalog: VersionCatalog = extensions.getByType().named("libs") kotlin { jvmToolchain(21) @@ -48,7 +46,7 @@ android { } dependencies { - dokkaPlugin(libs.getLibrary("dokka")) + add("dokkaPlugin", libs.dokka) } tasks.register("coverageReport") { diff --git a/build-logic/src/main/java/com.streamplayer.dokka.gradle.kts b/build-logic/src/main/java/com.streamplayer.dokka.gradle.kts index c3621e10..558a087b 100644 --- a/build-logic/src/main/java/com.streamplayer.dokka.gradle.kts +++ b/build-logic/src/main/java/com.streamplayer.dokka.gradle.kts @@ -1,5 +1,10 @@ @file:Suppress("UnstableApiUsage") +import org.gradle.accessors.dm.LibrariesForLibs + + +val libs = the() + allprojects { - apply(plugin = "org.jetbrains.dokka") + apply(plugin = libs.plugins.dokka.get().pluginId) } diff --git a/build-logic/src/main/java/com.streamplayer.kmp-library.gradle.kts b/build-logic/src/main/java/com.streamplayer.kmp-library.gradle.kts index 93e8406c..149a784b 100644 --- a/build-logic/src/main/java/com.streamplayer.kmp-library.gradle.kts +++ b/build-logic/src/main/java/com.streamplayer.kmp-library.gradle.kts @@ -1,17 +1,15 @@ @file:Suppress("UnstableApiUsage") -import extensions.dokkaPlugin -import extensions.getLibrary import extensions.iosTarget import extensions.setupAndroidDefaultConfig import extensions.setupCompileOptions import extensions.setupNameSpace import extensions.setupPackingOptions -import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi -import org.jetbrains.kotlin.gradle.dsl.JvmTarget +import org.gradle.accessors.dm.LibrariesForLibs +import org.gradle.kotlin.dsl.the +val libs = the() -val libs: VersionCatalog = extensions.getByType().named("libs") plugins { id("org.jetbrains.kotlin.multiplatform") id("com.android.library") @@ -61,5 +59,5 @@ android { } dependencies { - dokkaPlugin(libs.getLibrary("dokka")) + add("dokkaPlugin", libs.dokka) } diff --git a/build-logic/src/main/java/com.streamplayer.koin-annotations-setup.gradle.kts b/build-logic/src/main/java/com.streamplayer.koin-annotations-setup.gradle.kts index dfddc2e5..14d94977 100644 --- a/build-logic/src/main/java/com.streamplayer.koin-annotations-setup.gradle.kts +++ b/build-logic/src/main/java/com.streamplayer.koin-annotations-setup.gradle.kts @@ -1,12 +1,8 @@ -import extensions.koinAnnotationsDependency -import extensions.koinCompiler -import extensions.koinCoreDependency -import org.gradle.api.artifacts.VersionCatalog -import org.gradle.api.artifacts.VersionCatalogsExtension -import org.gradle.kotlin.dsl.getByType +import org.gradle.accessors.dm.LibrariesForLibs import org.jetbrains.kotlin.gradle.tasks.KotlinCompile -val libs: VersionCatalog = extensions.getByType().named("libs") +val libs = the() + plugins { id("org.jetbrains.kotlin.multiplatform") id("com.google.devtools.ksp") @@ -15,8 +11,8 @@ plugins { kotlin { sourceSets { commonMain.dependencies { - implementation(libs.koinCoreDependency()) - api(libs.koinAnnotationsDependency()) + implementation(libs.koin.core) + api(libs.koin.annotations) } } @@ -28,7 +24,7 @@ kotlin { // KSP Tasks dependencies { - add("kspCommonMainMetadata", libs.koinCompiler()) + add("kspCommonMainMetadata", libs.koin.ksp.compiler) } diff --git a/build-logic/src/main/java/extensions/DependecyHandlerExtensions.kt b/build-logic/src/main/java/extensions/DependecyHandlerExtensions.kt deleted file mode 100644 index 816de6bf..00000000 --- a/build-logic/src/main/java/extensions/DependecyHandlerExtensions.kt +++ /dev/null @@ -1,8 +0,0 @@ -package extensions - -import org.gradle.api.artifacts.Dependency -import org.gradle.api.artifacts.dsl.DependencyHandler - -@Suppress("FunctionNaming") -fun DependencyHandler.`dokkaPlugin`(dependencyNotation: Any): Dependency? = - add("dokkaPlugin", dependencyNotation) diff --git a/build-logic/src/main/java/extensions/VersionCatalog.kt b/build-logic/src/main/java/extensions/VersionCatalog.kt deleted file mode 100644 index 8437cea6..00000000 --- a/build-logic/src/main/java/extensions/VersionCatalog.kt +++ /dev/null @@ -1,16 +0,0 @@ -package extensions - -import org.gradle.api.artifacts.VersionCatalog - -internal fun VersionCatalog.getLibrary(library: String) = findLibrary(library).get() -internal fun VersionCatalog.getVersion(library: String) = findVersion(library).get() -internal fun VersionCatalog.getBundle(bundle: String) = findBundle(bundle).get() - -internal fun VersionCatalog.koinCoreDependency() = findLibrary("koin_core").get() - -internal fun VersionCatalog.koinAnnotationsDependency() = findLibrary("koin_annotations").get() - -internal fun VersionCatalog.koinComposeDependency() = findLibrary("koin_compose").get() - -internal fun VersionCatalog.koinCompiler() = findLibrary("koin-ksp-compiler").get() -