Skip to content

Commit 4bc2c68

Browse files
jaredsburrowsvanniktech
authored andcommitted
Support popular JVM languages by default. (#75)
1 parent 6816927 commit 4bc2c68

File tree

2 files changed

+61
-27
lines changed

2 files changed

+61
-27
lines changed

src/main/groovy/com/vanniktech/android/junit/jacoco/GenerationPlugin.groovy

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,11 @@ class GenerationPlugin implements Plugin<Project> {
6868
)
6969

7070
final def coverageSourceDirs = [
71-
'src/main/java',
71+
'src/main/clojure',
72+
'src/main/groovy',
73+
'src/main/java',
74+
'src/main/kotlin',
75+
'src/main/scala'
7276
]
7377

7478
additionalSourceDirs = subProject.files(coverageSourceDirs)
@@ -134,12 +138,24 @@ class GenerationPlugin implements Plugin<Project> {
134138
)
135139

136140
final def coverageSourceDirs = [
141+
"src/main/clojure",
142+
"src/main/groovy",
137143
"src/main/java",
138-
"src/$buildTypeName/java"
144+
"src/main/kotlin",
145+
"src/main/scala",
146+
"src/$buildTypeName/clojure",
147+
"src/$buildTypeName/groovy",
148+
"src/$buildTypeName/java",
149+
"src/$buildTypeName/kotlin",
150+
"src/$buildTypeName/scala"
139151
]
140152

141153
if (productFlavorName) {
154+
coverageSourceDirs.add("src/$productFlavorName/clojure")
155+
coverageSourceDirs.add("src/$productFlavorName/groovy")
142156
coverageSourceDirs.add("src/$productFlavorName/java")
157+
coverageSourceDirs.add("src/$productFlavorName/kotlin")
158+
coverageSourceDirs.add("src/$productFlavorName/scala")
143159
}
144160

145161
additionalSourceDirs = subProject.files(coverageSourceDirs)

src/test/groovy/com/vanniktech/android/junit/jacoco/GenerationTest.groovy

Lines changed: 43 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ import org.junit.Test
99
import static com.vanniktech.android.junit.jacoco.ProjectHelper.ProjectType.*
1010

1111
public class GenerationTest {
12-
@Test
12+
def LANGUAGES = ["clojure", "groovy", "java", "kotlin", "scala"]
13+
14+
@Test
1315
public void addJacocoAndroidAppWithFlavors() {
1416
def androidAppProject = ProjectHelper.prepare(ANDROID_APPLICATION).withRedBlueFlavors().get()
1517

@@ -138,15 +140,19 @@ public class GenerationTest {
138140

139141
assert executionData.singleFile == project.file("${project.buildDir}/jacoco/test${flavor.capitalize()}${buildType.capitalize()}UnitTest.exec")
140142

141-
assert additionalSourceDirs.size() == 3
142-
assert additionalSourceDirs.contains(project.file('src/main/java'))
143-
assert additionalSourceDirs.contains(project.file("src/${buildType}/java"))
144-
assert additionalSourceDirs.contains(project.file("src/${flavor}/java"))
143+
assert additionalSourceDirs.size() == 15
144+
LANGUAGES.every {
145+
assert additionalSourceDirs.contains(project.file("src/main/$it"))
146+
assert additionalSourceDirs.contains(project.file("src/${buildType}/$it"))
147+
assert additionalSourceDirs.contains(project.file("src/${flavor}/$it"))
148+
}
145149

146-
assert sourceDirectories.size() == 3
147-
assert sourceDirectories.contains(project.file('src/main/java'))
148-
assert sourceDirectories.contains(project.file("src/${buildType}/java"))
149-
assert sourceDirectories.contains(project.file("src/${flavor}/java"))
150+
assert sourceDirectories.size() == 15
151+
LANGUAGES.every {
152+
assert sourceDirectories.contains(project.file("src/main/$it"))
153+
assert sourceDirectories.contains(project.file("src/${buildType}/$it"))
154+
assert sourceDirectories.contains(project.file("src/${flavor}/$it"))
155+
}
150156

151157
assert reports.xml.enabled
152158
assert reports.xml.destination.toString() == project.buildDir.absolutePath + "/reports/jacoco/${flavor}${buildType.capitalize()}/jacoco.xml"
@@ -175,13 +181,17 @@ public class GenerationTest {
175181

176182
assert executionData.singleFile == project.file("${project.buildDir}/jacoco/testDebugUnitTest.exec")
177183

178-
assert additionalSourceDirs.size() == 2
179-
assert additionalSourceDirs.contains(project.file('src/main/java'))
180-
assert additionalSourceDirs.contains(project.file('src/debug/java'))
184+
assert additionalSourceDirs.size() == 10
185+
LANGUAGES.every {
186+
assert additionalSourceDirs.contains(project.file("src/main/$it"))
187+
assert additionalSourceDirs.contains(project.file("src/debug/$it"))
188+
}
181189

182-
assert sourceDirectories.size() == 2
183-
assert sourceDirectories.contains(project.file('src/main/java'))
184-
assert sourceDirectories.contains(project.file('src/debug/java'))
190+
assert sourceDirectories.size() == 10
191+
LANGUAGES.every {
192+
assert sourceDirectories.contains(project.file("src/main/$it"))
193+
assert sourceDirectories.contains(project.file("src/debug/$it"))
194+
}
185195

186196
assert reports.xml.enabled
187197
assert reports.xml.destination.toString() == project.buildDir.absolutePath + '/reports/jacoco/debug/jacoco.xml'
@@ -204,13 +214,17 @@ public class GenerationTest {
204214

205215
assert executionData.singleFile == project.file("${project.buildDir}/jacoco/testReleaseUnitTest.exec")
206216

207-
assert additionalSourceDirs.size() == 2
208-
assert additionalSourceDirs.contains(project.file('src/main/java'))
209-
assert additionalSourceDirs.contains(project.file('src/release/java'))
217+
assert additionalSourceDirs.size() == 10
218+
LANGUAGES.every {
219+
assert additionalSourceDirs.contains(project.file("src/main/$it"))
220+
assert additionalSourceDirs.contains(project.file("src/release/$it"))
221+
}
210222

211-
assert sourceDirectories.size() == 2
212-
assert sourceDirectories.contains(project.file('src/main/java'))
213-
assert sourceDirectories.contains(project.file('src/release/java'))
223+
assert sourceDirectories.size() == 10
224+
LANGUAGES.every {
225+
assert sourceDirectories.contains(project.file("src/main/$it"))
226+
assert sourceDirectories.contains(project.file("src/release/$it"))
227+
}
214228

215229
assert reports.xml.enabled
216230
assert reports.xml.destination.toString() == project.buildDir.absolutePath + '/reports/jacoco/release/jacoco.xml'
@@ -239,11 +253,15 @@ public class GenerationTest {
239253

240254
assert executionData.singleFile == project.file("${project.buildDir}/jacoco/test.exec")
241255

242-
assert additionalSourceDirs.size() == 1
243-
assert additionalSourceDirs.contains(project.file('src/main/java'))
256+
assert additionalSourceDirs.size() == 5
257+
LANGUAGES.every {
258+
assert additionalSourceDirs.contains(project.file("src/main/$it"))
259+
}
244260

245-
assert sourceDirectories.size() == 1
246-
assert sourceDirectories.contains(project.file('src/main/java'))
261+
assert sourceDirectories.size() == 5
262+
LANGUAGES.every {
263+
assert sourceDirectories.contains(project.file("src/main/$it"))
264+
}
247265

248266
assert classDirectories.dir == project.file('build/classes/main/')
249267

0 commit comments

Comments
 (0)