File tree Expand file tree Collapse file tree 13 files changed +112
-71
lines changed
src/main/java/com/pouyaheydari/appupdater/convention Expand file tree Collapse file tree 13 files changed +112
-71
lines changed Original file line number Diff line number Diff line change 11import com.vanniktech.maven.publish.AndroidSingleVariantLibrary
22
33plugins {
4- alias(libs.plugins.androidLibrary)
5- alias(libs.plugins.jetbrainsKotlinAndroid)
6- alias(libs.plugins.maven.publish)
4+ alias(libs.plugins.project.androidLibrary)
75}
86android {
9- compileSdk = libs.versions.compileSdkVersion.get().toInt()
10- defaultConfig {
11- minSdk = libs.versions.minSdkVersion.get().toInt()
12- testInstrumentationRunner = " androidx.test.runner.AndroidJUnitRunner"
13- }
14- compileOptions {
15- sourceCompatibility = JavaVersion .VERSION_17
16- targetCompatibility = JavaVersion .VERSION_17
17- }
18-
19- kotlin {
20- jvmToolchain(17 )
21- }
22-
237 buildFeatures {
248 viewBinding = true
259 }
@@ -52,7 +36,7 @@ dependencies {
5236 testImplementation(libs.junit4)
5337 testImplementation(libs.mockito.kotlin)
5438 testImplementation(libs.turbine)
55- testImplementation (libs.kotlinx.coroutines.test)
39+ testImplementation(libs.kotlinx.coroutines.test)
5640 androidTestImplementation(libs.androidx.test.junit)
5741 androidTestImplementation(libs.androidx.test.rules)
5842 androidTestImplementation(libs.androidx.test.ui.espresso.core)
Original file line number Diff line number Diff line change 1+ /build
Original file line number Diff line number Diff line change 1+ plugins {
2+ `kotlin- dsl`
3+ }
4+
5+ group = " com.pouyaheydari.appupdater.convention"
6+
7+ java {
8+ sourceCompatibility = JavaVersion .VERSION_17
9+ targetCompatibility = JavaVersion .VERSION_17
10+ }
11+
12+ dependencies {
13+ compileOnly(libs.android.gradlePlugin)
14+ compileOnly(libs.kotlin.gradlePlugin)
15+ }
16+
17+ gradlePlugin {
18+ plugins {
19+ create(" androidLibraryPlugin" ) {
20+ id = " com.pouyaheydari.androidLibraryPlugin"
21+ implementationClass = " com.pouyaheydari.appupdater.convention.plugins.AndroidLibraryPlugin"
22+ }
23+ }
24+ }
Original file line number Diff line number Diff line change 1+ package com.pouyaheydari.appupdater.convention.helpers
2+
3+ import org.gradle.api.JavaVersion
4+
5+ fun javaVersion (): JavaVersion = JavaVersion .VERSION_17
Original file line number Diff line number Diff line change 1+ package com.pouyaheydari.appupdater.convention.helpers
2+
3+ import org.gradle.api.Project
4+ import org.gradle.api.artifacts.VersionCatalog
5+ import org.gradle.api.artifacts.VersionCatalogsExtension
6+ import org.gradle.kotlin.dsl.getByType
7+
8+ fun Project.compileSdk (): Int = baseLibs.findVersion(" compileSdkVersion" ).get().requiredVersion.toInt()
9+
10+ fun Project.minSdk (): Int = baseLibs.findVersion(" minSdkVersion" ).get().requiredVersion.toInt()
11+
12+ val Project .baseLibs
13+ get(): VersionCatalog = extensions.getByType<VersionCatalogsExtension >().named(" libs" )
Original file line number Diff line number Diff line change 1+ package com.pouyaheydari.appupdater.convention.plugins
2+
3+ import com.android.build.gradle.LibraryExtension
4+ import com.pouyaheydari.appupdater.convention.helpers.baseLibs
5+ import com.pouyaheydari.appupdater.convention.helpers.compileSdk
6+ import com.pouyaheydari.appupdater.convention.helpers.javaVersion
7+ import com.pouyaheydari.appupdater.convention.helpers.minSdk
8+ import org.gradle.api.Plugin
9+ import org.gradle.api.Project
10+ import org.gradle.jvm.toolchain.JavaLanguageVersion
11+ import org.gradle.kotlin.dsl.configure
12+ import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidProjectExtension
13+
14+ class AndroidLibraryPlugin : Plugin <Project > {
15+ override fun apply (target : Project ) {
16+ with (target) {
17+ with (pluginManager) {
18+ apply (baseLibs.findPlugin(" androidLibrary" ).get().get().pluginId)
19+ apply (baseLibs.findPlugin(" jetbrainsKotlinAndroid" ).get().get().pluginId)
20+ apply (baseLibs.findPlugin(" maven.publish" ).get().get().pluginId)
21+ }
22+
23+ extensions.configure<LibraryExtension > {
24+ compileSdk = compileSdk()
25+ defaultConfig {
26+ minSdk = minSdk()
27+ testInstrumentationRunner = " androidx.test.runner.AndroidJUnitRunner"
28+ }
29+ compileOptions {
30+ sourceCompatibility = javaVersion()
31+ targetCompatibility = javaVersion()
32+ }
33+ }
34+ extensions.configure<KotlinAndroidProjectExtension > {
35+ jvmToolchain {
36+ languageVersion.set(JavaLanguageVersion .of(17 ))
37+ }
38+ }
39+ }
40+ }
41+ }
Original file line number Diff line number Diff line change 1+ dependencyResolutionManagement {
2+
3+ repositories {
4+ google()
5+ mavenCentral()
6+ }
7+
8+ versionCatalogs {
9+ create(" libs" ) {
10+ from(files(" ../gradle/libs.versions.toml" ))
11+ }
12+ }
13+ }
14+
15+ rootProject.name = " build-logic"
16+ include(" :convention" )
Original file line number Diff line number Diff line change 11plugins {
22 alias(libs.plugins.androidApplication) apply false
3- alias(libs.plugins.androidLibrary) apply false
43 alias(libs.plugins.jetbrainsKotlinAndroid) apply false
54 alias(libs.plugins.kotlin.jvm) apply false
65 alias(libs.plugins.compose.compiler) apply false
Original file line number Diff line number Diff line change 11plugins {
2- alias(libs.plugins.androidLibrary)
3- alias(libs.plugins.jetbrainsKotlinAndroid)
2+ alias(libs.plugins.project.androidLibrary)
43 alias(libs.plugins.compose.compiler)
5- alias(libs.plugins.maven.publish)
64}
75
86android {
9- compileSdk = libs.versions.compileSdkVersion.get().toInt()
107 defaultConfig {
11- minSdk = libs.versions.minSdkVersion.get().toInt()
12- testInstrumentationRunner = " androidx.test.runner.AndroidJUnitRunner"
138 vectorDrawables {
149 useSupportLibrary = true
1510 }
1611 }
1712
1813 namespace = " com.pouyaheydari.appupdater.compose"
19-
2014 testOptions.unitTests.isIncludeAndroidResources = true
2115
22- compileOptions {
23- sourceCompatibility = JavaVersion .VERSION_17
24- targetCompatibility = JavaVersion .VERSION_17
25- }
26- kotlin {
27- jvmToolchain(17 )
28- }
2916 buildFeatures {
3017 compose = true
3118 }
Original file line number Diff line number Diff line change 11plugins {
2- alias(libs.plugins.androidLibrary)
3- alias(libs.plugins.jetbrainsKotlinAndroid)
4- alias(libs.plugins.maven.publish)
2+ alias(libs.plugins.project.androidLibrary)
53}
64
75android {
8- compileSdk = libs.versions.compileSdkVersion.get().toInt()
9- defaultConfig {
10- minSdk = libs.versions.minSdkVersion.get().toInt()
11- testInstrumentationRunner = " androidx.test.runner.AndroidJUnitRunner"
12- }
13-
14- compileOptions {
15- sourceCompatibility = JavaVersion .VERSION_17
16- targetCompatibility = JavaVersion .VERSION_17
17- }
18- kotlin {
19- jvmToolchain(17 )
20- }
216 namespace = " com.pouyaheydari.appupdater.directdownload"
227}
238
@@ -33,7 +18,6 @@ dependencies {
3318 testImplementation(libs.mockito.kotlin)
3419 testImplementation(libs.kotlinx.coroutines.test)
3520 testImplementation(libs.roboelectric)
36-
3721 androidTestImplementation(libs.androidx.test.junit)
3822 androidTestImplementation(libs.androidx.test.rules)
3923 androidTestImplementation(libs.androidx.test.ui.espresso.core)
You can’t perform that action at this time.
0 commit comments