1
1
plugins {
2
- id ' com. android.application'
3
- id ' org.jetbrains .kotlin.android'
4
- id ' com.google.gms. google- services'
5
- id( " com.google .firebase.crashlytics" )
2
+ alias(libs . plugins . android. application)
3
+ alias(libs . plugins . kotlin. android)
4
+ alias(libs . plugins . google. services)
5
+ alias(libs . plugins . firebase. crashlytics)
6
6
id ' jacoco'
7
7
id ' kotlin-parcelize'
8
8
}
9
9
10
- apply plugin : " kotlin-android"
11
-
12
10
android {
13
11
namespace ' com.pennapps.labs.pennmobile'
14
12
buildFeatures {
@@ -52,88 +50,65 @@ android {
52
50
dependencies {
53
51
implementation fileTree(include : [' *.jar' ], dir : ' libs' )
54
52
55
- androidTestImplementation ' androidx.test. espresso:espresso-core:3.5.1 '
56
- androidTestImplementation ' androidx.test.ext: junit:1.1.5 '
57
- androidTestImplementation ' com.kaspersky.android-components: kaspresso:1.5.3 '
58
- androidTestImplementation ' org .testng:testng:7.8.0 '
53
+ androidTestImplementation libs . androidx. espresso. core
54
+ androidTestImplementation libs . androidx. junit
55
+ androidTestImplementation libs . kaspresso
56
+ androidTestImplementation libs . testng
59
57
60
- annotationProcessor ' com.github.bumptech.glide: compiler:4.11.0 '
58
+ annotationProcessor libs . compiler
61
59
62
- debugImplementation ' com.squareup. leakcanary:leakcanary-android:3.0-alpha-1 '
60
+ debugImplementation libs . leakcanary. android
63
61
64
- implementation " io.reactivex.rxjava2: rxandroid:2.0.2 "
65
- implementation ' androidx.annotation:annotation:1.7.0 '
66
- implementation (" androidx.lifecycle:lifecycle-extensions:2.2.0@aar " ) {
62
+ implementation libs . rxandroid
63
+ implementation libs . androidx. annotation
64
+ implementation (libs . androidx. lifecycle. extensions ) {
67
65
transitive = true
68
66
}
69
- implementation ' androidx.browser:browser:1.5.0 '
70
- implementation ' androidx.cardview:cardview:1.0.0 '
71
- implementation ' androidx.constraintlayout:constraintlayout:2.1.4 '
72
- implementation ' androidx.coordinatorlayout:coordinatorlayout:1.2.0 '
73
- implementation ' androidx.exifinterface:exifinterface:1.3.6 '
74
- implementation ' androidx.legacy:legacy- support-v4:1.0.0 '
75
- implementation ' androidx.lifecycle:lifecycle- runtime-ktx:2.4.0 '
76
- implementation ' androidx.multidex:multidex:2.0.1 '
77
- implementation ' androidx.palette:palette-ktx:1.0.0 '
78
- implementation ' androidx.percentlayout:percentlayout:1.0.0 '
79
- implementation ' androidx.preference:preference-ktx:1.1.1 '
80
- implementation ' androidx.recyclerview:recyclerview:1.3.2 '
81
- implementation ' com.airbnb.android: lottie:5.2.0 '
82
- implementation ' com.daimajia.swipelayout: library:1.2.0 '
83
- implementation ' com.github.Dimezis:BlurView:version-2.0.5 '
84
- implementation ' com.github.PhilJay:MPAndroidChart:v3.1.0 '
85
- implementation ' com.github.ahorn: android- rss:master-SNAPSHOT '
86
- implementation ' com.github.bumptech. glide:glide:4.11.0 '
87
- implementation(' com.github.meiron03:CustomAlertViewDialogue:a1fc69d54d ' ){
67
+ implementation libs . androidx. browser
68
+ implementation libs . androidx. cardview
69
+ implementation libs . androidx. constraintlayout
70
+ implementation libs . androidx. coordinatorlayout
71
+ implementation libs . androidx. exifinterface
72
+ implementation libs . androidx. legacy. support. v4
73
+ implementation libs . androidx. lifecycle. runtime. ktx
74
+ implementation libs . androidx. multidex
75
+ implementation libs . androidx. palette. ktx
76
+ implementation libs . androidx. percentlayout
77
+ implementation libs . androidx. preference. ktx
78
+ implementation libs . androidx. recyclerview
79
+ implementation libs . lottie
80
+ implementation libs . library
81
+ implementation libs . blurview
82
+ implementation libs . mpandroidchart
83
+ implementation libs . android. rss
84
+ implementation libs . glide
85
+ implementation(libs . customalertviewdialogue ){
88
86
exclude group : ' com.github.Dimezis.BlurView' , module : ' blurview'
89
87
}
90
- implementation ' com.google.android.gms:play-services-location:21.0.1'
91
- implementation ' com.google.android.gms:play-services-maps:18.2.0'
92
- implementation ' com.google.android.material:material:1.6.1'
93
- implementation ' com.google.firebase:firebase-analytics'
94
- implementation ' com.google.firebase:firebase-crashlytics-ktx:18.6.0'
95
- implementation ' com.google.maps:google-maps-services:2.2.0'
96
- implementation ' com.squareup.okhttp3:logging-interceptor:5.0.0-alpha.11'
97
- implementation ' com.squareup.okhttp:okhttp:2.7.5'
98
- implementation ' com.squareup.picasso:picasso:2.71828'
99
- implementation ' com.squareup.retrofit2:adapter-rxjava2:2.4.0'
100
- implementation ' com.squareup.retrofit2:converter-gson:2.9.0'
101
- implementation ' com.squareup.retrofit2:converter-moshi:2.9.0'
102
- implementation ' com.squareup.retrofit2:converter-scalars:2.9.0'
103
- implementation ' com.squareup.retrofit2:retrofit:2.9.0'
104
- implementation ' com.squareup.retrofit:retrofit:1.9.0'
105
- implementation ' io.reactivex:rxandroid:1.2.1'
106
- implementation ' joda-time:joda-time:2.12.5'
107
- implementation ' org.apache.commons:commons-lang3:3.13.0'
108
- implementation ' org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3'
109
- implementation ' org.jsoup:jsoup:1.16.2'
110
- implementation(" com.google.firebase:firebase-crashlytics" )
111
-
112
- def composeBom = platform(" androidx.compose:compose-bom:2024.09.03" )
113
- implementation composeBom
114
- testImplementation composeBom
115
- androidTestImplementation composeBom
116
-
117
- implementation ' androidx.compose.material3:material3-android'
118
- implementation ' androidx.compose.runtime:runtime'
119
- implementation ' androidx.compose.runtime:runtime-rxjava2'
120
- implementation ' androidx.compose.runtime:runtime-livedata'
121
- implementation ' androidx.lifecycle:lifecycle-viewmodel-compose:2.8.6'
122
- implementation ' androidx.compose.ui:ui-tooling-preview'
123
- debugImplementation ' androidx.compose.ui:ui-tooling'
124
- androidTestImplementation ' androidx.compose.ui:ui-test-junit4'
125
- debugImplementation ' androidx.compose.ui:ui-test-manifest'
126
- implementation ' androidx.compose.material:material-icons-core'
127
- implementation ' androidx.compose.material:material-icons-extended'
128
- implementation ' androidx.activity:activity-compose:1.8.0'
129
-
130
- implementation " androidx.glance:glance-appwidget:1.1.0"
131
- implementation " androidx.glance:glance-material3:1.1.0"
132
- implementation " androidx.glance:glance-material:1.1.0"
133
-
134
- implementation(platform(" com.google.firebase:firebase-bom:31.5.0" ))
135
-
136
- testImplementation ' junit:junit:4.13.2'
88
+ implementation libs. logging. interceptor
89
+ implementation libs. okhttp
90
+ implementation libs. picasso
91
+ implementation libs. adapter. rxjava2
92
+ implementation libs. squareup. retrofit
93
+ implementation libs. reactivex. rxandroid
94
+ implementation libs. joda. time
95
+ implementation libs. commons. lang3
96
+ implementation libs. kotlinx. coroutines. core
97
+ implementation libs. jsoup
98
+ implementation platform(libs. androidx. compose. bom)
99
+ testImplementation platform(libs. androidx. compose. bom)
100
+ androidTestImplementation platform(libs. androidx. compose. bom)
101
+ implementation platform(libs. firebase. bom)
102
+
103
+ implementation libs. bundles. compose
104
+ implementation libs. bundles. material
105
+ implementation libs. bundles. firebase
106
+ implementation libs. bundles. runtime
107
+ implementation libs. bundles. retrofit2
108
+ implementation libs. bundles. ui
109
+ implementation libs. bundles. google
110
+
111
+ testImplementation libs. junit
137
112
}
138
113
139
114
String getPlatformClientID () {
@@ -159,7 +134,7 @@ jacoco {
159
134
}
160
135
161
136
// https://stackoverflow.com/questions/68065743/cannot-run-gradle-test-tasks-because-of-java-lang-noclassdeffounderror-jdk-inte
162
- tasks. withType(Test ) {
137
+ tasks. withType(Test ). configureEach {
163
138
jacoco. includeNoLocationClasses = true
164
139
jacoco. excludes = [' jdk.internal.*' ]
165
140
}
@@ -169,15 +144,15 @@ def fileFilter = ['**/R.class', '**/R$*.class', '**/BuildConfig.*',
169
144
' **/Manifest*.*' , ' **/*Test*.*' , ' android/**/*.*' ]
170
145
171
146
// Location of generated output classes
172
- def debugTree = fileTree(dir : " $project . buildDir /tmp/kotlin-classes/debug" ,
147
+ def debugTree = fileTree(dir : " $project . layout . buildDirectory /tmp/kotlin-classes/debug" ,
173
148
excludes : fileFilter)
174
149
175
150
// Source code directory
176
151
def mainSrc = " $project . projectDir /src/main/java"
177
152
178
153
// Task declaration
179
154
180
- task jacocoTestReport ( type : JacocoReport ) {
155
+ tasks . register( ' jacocoTestReport ' , JacocoReport ) {
181
156
// Runs only after the dependencies are executed
182
157
dependsOn = [' testDebugUnitTest' , ' createDebugCoverageReport' ]
183
158
// Export formats
@@ -190,7 +165,7 @@ task jacocoTestReport(type: JacocoReport) {
190
165
classDirectories. setFrom(files([debugTree]))
191
166
192
167
// Inform Gradle where the files generated by test cases - are located
193
- executionData. from = fileTree(dir : project. buildDir , includes : [
168
+ executionData. from = fileTree(dir : project. layout . buildDirectory , includes : [
194
169
' jacoco/testDebugUnitTest.exec'
195
170
// 'outputs/code_coverage/debugAndroidTest/connected/*.ec'
196
171
])
0 commit comments