Skip to content

Commit bb3fdfc

Browse files
committed
Gradle 8.1.1 & adjustment of now-removed deprecated Report API
1 parent 54afd54 commit bb3fdfc

File tree

7 files changed

+40
-32
lines changed

7 files changed

+40
-32
lines changed

plugin/android-junit5/src/main/kotlin/de/mannodermaus/gradle/plugins/junit5/internal/extensions/ConfigurableReportExt.kt

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,6 @@ package de.mannodermaus.gradle.plugins.junit5.internal.extensions
22

33
import org.gradle.api.file.FileSystemLocationProperty
44
import org.gradle.api.reporting.ConfigurableReport
5-
import java.io.File
65

7-
// Account for deprecated destination property
8-
// and prefer outputLocation, if possible
9-
@Suppress("DEPRECATION")
10-
internal fun ConfigurableReport.setDestinationCompat(file: File) {
11-
when (val location = this.outputLocation) {
12-
is FileSystemLocationProperty<*> -> location.set(file)
13-
else -> this.destination = file
14-
}
15-
}
6+
internal val ConfigurableReport.outputLocationFile
7+
get() = outputLocation as? FileSystemLocationProperty<*>

plugin/android-junit5/src/main/kotlin/de/mannodermaus/gradle/plugins/junit5/tasks/AndroidJUnit5JacocoReport.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,15 @@ import de.mannodermaus.gradle.plugins.junit5.internal.extensions.getTaskName
88
import de.mannodermaus.gradle.plugins.junit5.internal.extensions.junit5Info
99
import de.mannodermaus.gradle.plugins.junit5.internal.extensions.junitPlatform
1010
import de.mannodermaus.gradle.plugins.junit5.internal.extensions.namedOrNull
11-
import de.mannodermaus.gradle.plugins.junit5.internal.extensions.setDestinationCompat
11+
import de.mannodermaus.gradle.plugins.junit5.internal.extensions.outputLocationFile
1212
import de.mannodermaus.gradle.plugins.junit5.internal.providers.DirectoryProvider
1313
import de.mannodermaus.gradle.plugins.junit5.internal.providers.mainClassDirectories
1414
import de.mannodermaus.gradle.plugins.junit5.internal.providers.mainSourceDirectories
1515
import org.gradle.api.Project
1616
import org.gradle.api.Task
1717
import org.gradle.api.file.FileCollection
18+
import org.gradle.api.file.FileSystemLocationProperty
19+
import org.gradle.api.reporting.ConfigurableReport
1820
import org.gradle.api.tasks.CacheableTask
1921
import org.gradle.api.tasks.TaskProvider
2022
import org.gradle.api.tasks.testing.Test
@@ -96,7 +98,7 @@ public abstract class AndroidJUnit5JacocoReport : JacocoReport() {
9698

9799
allReports.forEach { (from, to) ->
98100
to.required.set(from.enabled)
99-
from.destination?.let(to::setDestinationCompat)
101+
from.destination?.let { to.outputLocationFile?.set(it) }
100102
}
101103

102104
// Task-level Configuration

plugin/android-junit5/src/test/kotlin/de/mannodermaus/gradle/plugins/junit5/plugin/AgpJacocoBaseTests.kt

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@ package de.mannodermaus.gradle.plugins.junit5.plugin
22

33
import com.google.common.truth.Truth.assertThat
44
import de.mannodermaus.gradle.plugins.junit5.internal.extensions.junitPlatform
5+
import de.mannodermaus.gradle.plugins.junit5.internal.extensions.outputLocationFile
56
import de.mannodermaus.gradle.plugins.junit5.tasks.AndroidJUnit5JacocoReport
67
import de.mannodermaus.gradle.plugins.junit5.tasks.JACOCO_TASK_NAME
78
import de.mannodermaus.gradle.plugins.junit5.util.assertAll
89
import de.mannodermaus.gradle.plugins.junit5.util.evaluate
10+
import org.gradle.api.reporting.ConfigurableReport
911
import org.gradle.testing.jacoco.tasks.JacocoReport
1012
import org.junit.jupiter.api.DynamicTest
1113
import org.junit.jupiter.api.DynamicTest.dynamicTest
@@ -64,41 +66,46 @@ interface AgpJacocoBaseTests : AgpVariantAwareTests {
6466
val project = createProject().applyJacocoPlugin().build()
6567
project.junitPlatform.jacocoOptions {
6668
it.xml.destination(project.file("build/other-jacoco-folder/xml"))
67-
it.csv.destination(project.file("build/html-reports/jacoco"))
68-
it.html.destination(project.file("build/CSVISDABEST"))
69+
it.csv.destination(project.file("build/CSVISDABEST"))
70+
it.html.destination(project.file("build/html-reports/jacoco"))
6971
}
7072
project.evaluate()
7173

7274
project.tasks.withType(AndroidJUnit5JacocoReport::class.java)
7375
.map { it.reports }
7476
.forEach { report ->
7577
assertAll(
76-
{ assertThat(report.xml.destination.endsWith("build/other-jacoco-folder/xml")) },
77-
{ assertThat(report.csv.destination.endsWith("build/html-reports/jacoco")) },
78-
{ assertThat(report.html.destination.endsWith("build/CSVISDABEST")) }
78+
{ assertThat(report.xml.outputLocationFilePath).endsWith("build/other-jacoco-folder/xml") },
79+
{ assertThat(report.csv.outputLocationFilePath).endsWith("build/CSVISDABEST") },
80+
{ assertThat(report.html.outputLocationFilePath).endsWith("build/html-reports/jacoco") },
7981
)
8082
}
8183
}
8284

8385
@ValueSource(booleans = [true, false])
8486
@ParameterizedTest(name = "acknowledge status of report tasks when enabled={0}")
85-
fun `acknowledge status of report tasks`(enabled: Boolean) {
87+
fun `acknowledge status of report tasks`(required: Boolean) {
8688
val project = createProject().applyJacocoPlugin().build()
8789
project.junitPlatform.jacocoOptions {
88-
it.xml.enabled(enabled)
89-
it.csv.enabled(enabled)
90-
it.html.enabled(enabled)
90+
it.xml.enabled(required)
91+
it.csv.enabled(required)
92+
it.html.enabled(required)
9193
}
9294
project.evaluate()
9395

9496
project.tasks.withType(AndroidJUnit5JacocoReport::class.java)
9597
.map { it.reports }
9698
.forEach {
9799
assertAll(
98-
{ assertThat(it.xml.isEnabled == enabled) },
99-
{ assertThat(it.csv.isEnabled == enabled) },
100-
{ assertThat(it.html.isEnabled == enabled) }
100+
{ assertThat(it.xml.required.get() == required) },
101+
{ assertThat(it.csv.required.get() == required) },
102+
{ assertThat(it.html.required.get() == required) }
101103
)
102104
}
103105
}
106+
107+
/* Private */
108+
109+
private val ConfigurableReport.outputLocationFilePath get() =
110+
outputLocationFile?.asFile?.get()?.absolutePath
104111
}
1.29 KB
Binary file not shown.
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip
4+
networkTimeout=10000
45
zipStoreBase=GRADLE_USER_HOME
56
zipStorePath=wrapper/dists

plugin/gradlew

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
# Darwin, MinGW, and NonStop.
5656
#
5757
# (3) This script is generated from the Groovy template
58-
# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
58+
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
5959
# within the Gradle project.
6060
#
6161
# You can find Gradle at https://github.com/gradle/gradle/.
@@ -80,13 +80,10 @@ do
8080
esac
8181
done
8282

83-
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
84-
85-
APP_NAME="Gradle"
83+
# This is normally unused
84+
# shellcheck disable=SC2034
8685
APP_BASE_NAME=${0##*/}
87-
88-
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
89-
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
86+
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
9087

9188
# Use the maximum available, or set MAX_FD != -1 to use that value.
9289
MAX_FD=maximum
@@ -143,12 +140,16 @@ fi
143140
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
144141
case $MAX_FD in #(
145142
max*)
143+
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
144+
# shellcheck disable=SC3045
146145
MAX_FD=$( ulimit -H -n ) ||
147146
warn "Could not query maximum file descriptor limit"
148147
esac
149148
case $MAX_FD in #(
150149
'' | soft) :;; #(
151150
*)
151+
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
152+
# shellcheck disable=SC3045
152153
ulimit -n "$MAX_FD" ||
153154
warn "Could not set maximum file descriptor limit to $MAX_FD"
154155
esac
@@ -193,6 +194,10 @@ if "$cygwin" || "$msys" ; then
193194
done
194195
fi
195196

197+
198+
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
199+
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
200+
196201
# Collect all arguments for the java command;
197202
# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of
198203
# shell script including quotes and variable substitutions, so put them in

plugin/gradlew.bat

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ if "%OS%"=="Windows_NT" setlocal
2626

2727
set DIRNAME=%~dp0
2828
if "%DIRNAME%"=="" set DIRNAME=.
29+
@rem This is normally unused
2930
set APP_BASE_NAME=%~n0
3031
set APP_HOME=%DIRNAME%
3132

0 commit comments

Comments
 (0)