Skip to content

Commit e17ffb8

Browse files
Piotr ZawadzkiPiotr Zawadzki
authored andcommitted
Migrated Gradle build scripts from Groovy to Kotlin + Gradle update to 5.3.1
1 parent 8e1adbb commit e17ffb8

11 files changed

Lines changed: 134 additions & 68 deletions

File tree

app/build.gradle

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

app/build.gradle.kts

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
plugins {
2+
id("com.android.application")
3+
kotlin("android")
4+
kotlin("android.extensions")
5+
id("androidx.navigation.safeargs.kotlin")
6+
}
7+
8+
android {
9+
compileSdkVersion(Versions.androidCompileSdkVersion)
10+
defaultConfig {
11+
applicationId = "com.github.zawadz88.navigationcomponentplayground"
12+
minSdkVersion(Versions.androidMinSdkVersion)
13+
targetSdkVersion(Versions.androidTargetSdkVersion)
14+
versionCode = 1
15+
versionName = "1.0"
16+
}
17+
buildTypes {
18+
getByName("release") {
19+
isMinifyEnabled = false
20+
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
21+
}
22+
}
23+
}
24+
25+
dependencies {
26+
implementation(Dependencies.Kotlin.stdlib)
27+
implementation(Dependencies.AndroidX.coreKtx)
28+
implementation(Dependencies.AndroidX.appcompat)
29+
implementation(Dependencies.AndroidX.constraintlayout)
30+
implementation(Dependencies.AndroidX.legacySupport)
31+
implementation(Dependencies.Google.material)
32+
implementation(Dependencies.AndroidArchitecture.navigation)
33+
implementation(Dependencies.AndroidArchitecture.navigationKtx)
34+
implementation(Dependencies.AndroidArchitecture.navigationUi)
35+
implementation(Dependencies.AndroidArchitecture.navigationUiKtx)
36+
implementation(Dependencies.Util.timber)
37+
}

build.gradle

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

build.gradle.kts

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
buildscript {
2+
repositories {
3+
google()
4+
jcenter()
5+
6+
}
7+
dependencies {
8+
classpath(GradlePlugins.android)
9+
classpath(GradlePlugins.kotlin)
10+
classpath(GradlePlugins.safeArgs)
11+
}
12+
}
13+
14+
allprojects {
15+
repositories {
16+
google()
17+
jcenter()
18+
}
19+
}
20+
21+
tasks {
22+
val clean by registering(Delete::class) {
23+
delete(rootProject.buildDir)
24+
}
25+
}

buildSrc/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/build

buildSrc/build.gradle.kts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
plugins {
2+
`kotlin-dsl`
3+
}
4+
5+
repositories {
6+
jcenter()
7+
}

buildSrc/settings.gradle.kts

Whitespace-only changes.
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
object Versions {
2+
// Kotlin
3+
const val kotlinVersion = "1.3.21" // please also update in versions.gradle
4+
5+
// Build info
6+
const val androidMinSdkVersion = 21
7+
const val androidTargetSdkVersion = 28
8+
const val androidCompileSdkVersion = 28
9+
const val androidBuildToolsVersion = "28.0.3"
10+
11+
// Plugins
12+
const val androidGradlePlugin = "3.3.2"
13+
const val safeArgs = "2.0.0"
14+
15+
// AndroidX
16+
const val appcompat = "1.0.2"
17+
const val coreKtx = "1.0.1"
18+
const val constraintlayout = "1.1.3"
19+
const val legacySupport = "1.0.0"
20+
const val navigation = "1.0.0"
21+
22+
// Google
23+
const val material = "1.1.0-alpha04"
24+
25+
// Utilities
26+
const val timber = "4.7.1"
27+
}
28+
29+
object GradlePlugins {
30+
val android = "com.android.tools.build:gradle:${Versions.androidGradlePlugin}"
31+
val kotlin = "org.jetbrains.kotlin:kotlin-gradle-plugin:${Versions.kotlinVersion}"
32+
val safeArgs = "androidx.navigation:navigation-safe-args-gradle-plugin:${Versions.safeArgs}"
33+
}
34+
35+
object Dependencies {
36+
37+
object Kotlin {
38+
const val stdlib = "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${Versions.kotlinVersion}"
39+
}
40+
41+
object AndroidX {
42+
const val appcompat = "androidx.appcompat:appcompat:${Versions.appcompat}"
43+
const val coreKtx = "androidx.core:core-ktx:${Versions.coreKtx}"
44+
const val constraintlayout = "androidx.constraintlayout:constraintlayout:${Versions.constraintlayout}"
45+
const val legacySupport = "androidx.legacy:legacy-support-v4:${Versions.legacySupport}"
46+
}
47+
48+
object AndroidArchitecture {
49+
const val navigation = "android.arch.navigation:navigation-fragment:${Versions.navigation}"
50+
const val navigationKtx = "android.arch.navigation:navigation-fragment-ktx:${Versions.navigation}"
51+
const val navigationUi = "android.arch.navigation:navigation-ui:${Versions.navigation}"
52+
const val navigationUiKtx = "android.arch.navigation:navigation-ui-ktx:${Versions.navigation}"
53+
}
54+
55+
object Google {
56+
const val material = "com.google.android.material:material:${Versions.material}"
57+
}
58+
59+
object Util {
60+
const val timber = "com.jakewharton.timber:timber:${Versions.timber}"
61+
}
62+
}

gradle/wrapper/gradle-wrapper.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
33
distributionPath=wrapper/dists
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists
6-
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
6+
distributionUrl=https\://services.gradle.org/distributions/gradle-5.3.1-all.zip

settings.gradle

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)