Skip to content

Commit 5f41894

Browse files
committed
Migrate build scripts to use version catalogs and kts
1 parent 030faee commit 5f41894

9 files changed

+177
-120
lines changed

app/build.gradle

-84
This file was deleted.

app/build.gradle.kts

+100
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
2+
import org.jetbrains.kotlin.konan.properties.Properties
3+
import java.io.FileInputStream
4+
5+
plugins {
6+
alias(libs.plugins.android)
7+
alias(libs.plugins.kotlinAndroid)
8+
alias(libs.plugins.ksp)
9+
}
10+
11+
val keystorePropertiesFile: File = rootProject.file("keystore.properties")
12+
val keystoreProperties = Properties()
13+
if (keystorePropertiesFile.exists()) {
14+
keystoreProperties.load(FileInputStream(keystorePropertiesFile))
15+
}
16+
17+
android {
18+
compileSdk = project.libs.versions.app.build.compileSDKVersion.get().toInt()
19+
20+
defaultConfig {
21+
applicationId = libs.versions.app.version.appId.get()
22+
minSdk = project.libs.versions.app.build.minimumSDK.get().toInt()
23+
targetSdk = project.libs.versions.app.build.targetSDK.get().toInt()
24+
versionCode = project.libs.versions.app.version.versionCode.get().toInt()
25+
versionName = project.libs.versions.app.version.versionName.get()
26+
multiDexEnabled = true
27+
setProperty("archivesBaseName", "calendar")
28+
vectorDrawables.useSupportLibrary = true
29+
}
30+
31+
signingConfigs {
32+
if (keystorePropertiesFile.exists()) {
33+
register("release") {
34+
keyAlias = keystoreProperties.getProperty("keyAlias")
35+
keyPassword = keystoreProperties.getProperty("keyPassword")
36+
storeFile = file(keystoreProperties.getProperty("storeFile"))
37+
storePassword = keystoreProperties.getProperty("storePassword")
38+
}
39+
}
40+
}
41+
42+
buildFeatures {
43+
viewBinding = true
44+
buildConfig = true
45+
}
46+
47+
buildTypes {
48+
debug {
49+
applicationIdSuffix = ".debug"
50+
}
51+
release {
52+
isMinifyEnabled = true
53+
proguardFiles(
54+
getDefaultProguardFile("proguard-android-optimize.txt"),
55+
"proguard-rules.pro"
56+
)
57+
if (keystorePropertiesFile.exists()) {
58+
signingConfig = signingConfigs.getByName("release")
59+
}
60+
}
61+
}
62+
63+
flavorDimensions.add("variants")
64+
productFlavors {
65+
register("core")
66+
register("fdroid")
67+
register("prepaid")
68+
}
69+
70+
sourceSets {
71+
getByName("main").java.srcDirs("src/main/kotlin")
72+
}
73+
74+
compileOptions {
75+
val currentJavaVersionFromLibs = JavaVersion.valueOf(libs.versions.app.build.javaVersion.get().toString())
76+
sourceCompatibility = currentJavaVersionFromLibs
77+
targetCompatibility = currentJavaVersionFromLibs
78+
}
79+
80+
tasks.withType<KotlinCompile> {
81+
kotlinOptions.jvmTarget = project.libs.versions.app.build.kotlinJVMTarget.get()
82+
}
83+
84+
namespace = libs.versions.app.version.appId.get()
85+
86+
lint {
87+
checkReleaseBuilds = false
88+
abortOnError = false
89+
}
90+
}
91+
92+
dependencies {
93+
implementation(libs.simple.mobile.tools.commons)
94+
implementation(libs.androidx.multidex)
95+
implementation(libs.androidx.constraintlayout)
96+
implementation(libs.androidx.swiperefreshlayout)
97+
implementation(libs.androidx.print)
98+
implementation(libs.bundles.room)
99+
ksp(libs.androidx.room.compiler)
100+
}

app/src/main/AndroidManifest.xml

-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
33
xmlns:tools="http://schemas.android.com/tools"
4-
package="com.simplemobiletools.calendar.pro"
54
android:installLocation="auto">
65

76
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

build.gradle

-32
This file was deleted.

build.gradle.kts

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
plugins {
2+
alias(libs.plugins.android).apply(false)
3+
alias(libs.plugins.kotlinAndroid).apply(false)
4+
alias(libs.plugins.ksp).apply(false)
5+
}
6+
7+
tasks.register<Delete>("clean") {
8+
delete {
9+
rootProject.buildDir
10+
}
11+
}

gradle/libs.versions.toml

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
[versions]
2+
#jetbrains
3+
kotlin = "1.9.0"
4+
#KSP
5+
ksp = "1.9.0-1.0.12"
6+
#Androidx
7+
multidex = "2.0.1"
8+
print = "1.0.0"
9+
constraintlayout = "2.1.4"
10+
swiperefreshlayout = "1.1.0"
11+
#Room
12+
room = "2.5.2"
13+
#Simple tools
14+
simple-commons = "7c1e5b5777"
15+
#Gradle
16+
gradlePlugins-agp = "8.1.1"
17+
#build
18+
app-build-compileSDKVersion = "34"
19+
app-build-targetSDK = "33"
20+
app-build-minimumSDK = "23"
21+
app-build-javaVersion = "VERSION_17"
22+
app-build-kotlinJVMTarget = "17"
23+
#versioning
24+
app-version-appId = "com.simplemobiletools.calendar.pro"
25+
app-version-versionCode = "238"
26+
app-version-versionName = "6.22.2"
27+
[libraries]
28+
#Android X
29+
androidx-constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "constraintlayout" }
30+
androidx-multidex = { module = "androidx.multidex:multidex", version.ref = "multidex" }
31+
androidx-print = { module = "androidx.print:print", version.ref = "print" }
32+
androidx-swiperefreshlayout = { module = "androidx.swiperefreshlayout:swiperefreshlayout", version.ref = "swiperefreshlayout" }
33+
#Room
34+
androidx-room-runtime = { module = "androidx.room:room-runtime", version.ref = "room" }
35+
androidx-room-ktx = { module = "androidx.room:room-ktx", version.ref = "room" }
36+
androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref = "room" }
37+
#Simple Mobile Tools
38+
simple-mobile-tools-commons = { module = "com.github.SimpleMobileTools:Simple-Commons", version.ref = "simple-commons" }
39+
[bundles]
40+
room = [
41+
"androidx-room-ktx",
42+
"androidx-room-runtime",
43+
]
44+
[plugins]
45+
android = { id = "com.android.application", version.ref = "gradlePlugins-agp" }
46+
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
47+
kotlinAndroid = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
48+
+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
#Mon Nov 02 19:09:05 CET 2020
1+
#Wed Aug 30 15:51:27 IST 2023
22
distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
4+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-bin.zip
45
zipStoreBase=GRADLE_USER_HOME
56
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-bin.zip

settings.gradle

-1
This file was deleted.

settings.gradle.kts

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
pluginManagement {
2+
repositories {
3+
gradlePluginPortal()
4+
google()
5+
mavenCentral()
6+
}
7+
}
8+
dependencyResolutionManagement {
9+
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
10+
repositories {
11+
google()
12+
mavenCentral()
13+
maven { setUrl("https://jitpack.io") }
14+
}
15+
}
16+
include(":app")

0 commit comments

Comments
 (0)