Skip to content

Commit a143771

Browse files
committed
migrated to kotlin DSL.
1 parent 6f36cf8 commit a143771

File tree

5 files changed

+80
-61
lines changed

5 files changed

+80
-61
lines changed

build.gradle

Lines changed: 0 additions & 60 deletions
This file was deleted.

build.gradle.kts

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
// root build.gradle.kts
2+
import java.util.Properties
3+
import java.io.FileInputStream
4+
5+
plugins {
6+
alias(libs.plugins.android.application) apply false
7+
alias(libs.plugins.android.library) apply false
8+
alias(libs.plugins.androidx.navigation.safeargs) apply false
9+
}
10+
11+
/* JitPack: use tag as versionName. */
12+
if (System.getenv("JITPACK") != null) {
13+
project.ext.set("version_name", System.getenv("VERSION"))
14+
}
15+
16+
/** Build Configurations */
17+
project.ext.set("archiveBuildTypes", arrayOf("debug", "release"))
18+
19+
/** Modules */
20+
allprojects {
21+
22+
// Keystore Settings, loaded from keystore.properties
23+
val keystoreConfig: File = rootProject.file("keystore.properties")
24+
if (keystoreConfig.exists()) {
25+
val keystore = Properties()
26+
val fis = FileInputStream(keystoreConfig)
27+
keystore.load(fis)
28+
project.ext.set("debugStoreFile", System.getProperty("user.home") + "/.android/debug.keystore")
29+
project.ext.set("debugKeystorePass", keystore["debugKeystorePass"])
30+
project.ext.set("debugKeyAlias", keystore["debugKeyAlias"])
31+
project.ext.set("debugKeyPass", keystore["debugKeyPass"])
32+
project.ext.set("releaseStoreFile", System.getProperty("user.home") + "/.android/release.keystore")
33+
project.ext.set("releaseKeystorePass", keystore["releaseKeystorePass"])
34+
project.ext.set("releaseKeyAlias", keystore["releaseKeyAlias"])
35+
project.ext.set("releaseKeyPass", keystore["releaseKeyPass"])
36+
fis.close()
37+
} else {
38+
println("file missing: $keystoreConfig")
39+
}
40+
41+
/** Runtime JAR files in the classpath should have the same version. */
42+
configurations.configureEach {
43+
val list: List<String> = listOf("kotlin-stdlib", "kotlin-stdlib-jdk8", "kotlin-stdlib-common")
44+
resolutionStrategy.eachDependency {
45+
if (requested.group == "org.jetbrains.kotlin") {
46+
if (list.contains(requested.name)) {
47+
useVersion(libs.versions.kotlin.get())
48+
}
49+
}
50+
}
51+
}
52+
53+
/** When projects were evaluated */
54+
gradle.projectsEvaluated {
55+
tasks.withType<JavaCompile>().configureEach {
56+
options.compilerArgs.addAll(
57+
listOf("-Xlint:unchecked", "-Xlint:deprecation")
58+
)
59+
}
60+
}
61+
}
62+
63+
// rootProject > clean
64+
tasks.withType<Delete>().configureEach {
65+
delete(rootProject.fileTree("build"))
66+
delete(project.fileTree("build"))
67+
}

gradle/libs.versions.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ androidx_navigation_fragment = { module = "androidx.navigation:navigation-fragme
6363
androidx_room_testing = { module = "androidx.room:room-testing", version.ref = "androidx_room" }
6464
androidx_room_compiler = { module = "androidx.room:room-compiler", version.ref = "androidx_room" }
6565
androidx_room_runtime = { module = "androidx.room:room-runtime", version.ref = "androidx_room" }
66+
androidx_room_paging = { module = "androidx.room:room-paging", version.ref = "androidx_room" }
6667
androidx_splashscreen = { module = "androidx.core:core-splashscreen", version.ref = "androidx_splashscreen" }
6768

6869
androidx_test_monitor = { module = "androidx.test:monitor", version.ref = "androidx_test_monitor" }

library/build.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,8 +83,10 @@ dependencies {
8383

8484
// Room Runtime
8585
annotationProcessor(libs.androidx.room.compiler)
86+
testAnnotationProcessor(libs.androidx.room.compiler)
8687
testImplementation(libs.androidx.room.testing)
8788
api(libs.androidx.room.runtime)
89+
api(libs.androidx.room.paging)
8890

8991
// Retrofit2
9092
implementation(libs.gson)
@@ -97,6 +99,8 @@ dependencies {
9799
androidTestImplementation(libs.androidx.test.junit)
98100
}
99101

102+
103+
100104
tasks.register('javadoc', Javadoc) {
101105

102106
title = "GitHub API Client ${android.defaultConfig.versionName}"

mobile/build.gradle

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ plugins {
55
alias(libs.plugins.androidx.room)
66
}
77

8+
pluginManager.withPlugin('ivy-publish') {
9+
// Do configuration
10+
}
11+
812
/** Load API access-token from file `token.properties` */
913
if (rootProject.file("token.properties").exists()) {
1014
def fis = new FileInputStream(rootProject.file("token.properties"))
@@ -150,14 +154,17 @@ dependencies {
150154

151155
// Room Runtime
152156
annotationProcessor(libs.androidx.room.compiler)
157+
androidTestAnnotationProcessor(libs.androidx.room.compiler)
158+
153159
testImplementation(libs.androidx.room.testing)
154160
implementation(libs.androidx.room.runtime)
161+
implementation(libs.androidx.room.paging)
155162

156163
// Retrofit2
157164
implementation(libs.gson)
158165
implementation(libs.retrofit)
159166
implementation(libs.retrofit.gson.converter) {
160-
exclude group: "com.google.code.gson", module: "gson"
167+
exclude(group: "com.google.code.gson", module: "gson")
161168
}
162169

163170
// https://mvnrepository.com/artifact/org.eclipse.jgit/org.eclipse.jgit

0 commit comments

Comments
 (0)