Skip to content

Commit 4818643

Browse files
committed
Update plugin
1 parent 464adfc commit 4818643

File tree

9 files changed

+34
-15
lines changed

9 files changed

+34
-15
lines changed

.github/workflows/unit-test-report.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Firebase AI Daily Tests
1+
name: Generate Test Report
22

33
on:
44
schedule:
@@ -10,8 +10,8 @@ permissions:
1010
issues: write
1111

1212
jobs:
13-
dailies:
14-
name: "Unit Test Report"
13+
report:
14+
name: "Generate Test Report"
1515
runs-on: ubuntu-latest
1616

1717
steps:

build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ plugins {
2323
alias(libs.plugins.errorprone)
2424
alias(libs.plugins.crashlytics) apply false
2525
id("PublishingPlugin")
26+
id("test-report")
2627
id("firebase-ci")
2728
id("smoke-tests")
2829
alias(libs.plugins.google.services)

plugins/build.gradle.kts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,10 @@ gradlePlugin {
114114
id = "copy-google-services"
115115
implementationClass = "com.google.firebase.gradle.plugins.CopyGoogleServicesPlugin"
116116
}
117+
register("testReportPlugin") {
118+
id = "test-report"
119+
implementationClass = "com.google.firebase.gradle.plugins.report.UnitTestReportPlugin"
120+
}
117121
}
118122
}
119123

plugins/src/main/java/com/google/firebase/gradle/plugins/BaseFirebaseLibraryPlugin.kt

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ package com.google.firebase.gradle.plugins
1818

1919
import com.android.build.gradle.LibraryExtension
2020
import com.google.firebase.gradle.plugins.ci.Coverage
21-
import com.google.firebase.gradle.plugins.report.UnitTestReportTask
2221
import com.google.firebase.gradle.plugins.services.GMavenService
2322
import java.io.File
2423
import java.nio.file.Paths
@@ -142,13 +141,6 @@ abstract class BaseFirebaseLibraryPlugin : Plugin<Project> {
142141
}
143142
}
144143

145-
protected fun registerUnitTestReportTask(project: Project) =
146-
project.tasks.register<UnitTestReportTask>("generateTestReport") {
147-
outputFile.set(project.file("test-report.md"))
148-
commitCount.set(8 as Integer)
149-
apiToken.set(System.getenv("GH_TOKEN"))
150-
}
151-
152144
protected fun getApiInfo(
153145
project: Project,
154146
srcDirs: ConfigurableFileCollection,

plugins/src/main/java/com/google/firebase/gradle/plugins/FirebaseAndroidLibraryPlugin.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,6 @@ class FirebaseAndroidLibraryPlugin : BaseFirebaseLibraryPlugin() {
162162
}
163163

164164
setupMetalavaSemver(project, firebaseLibrary)
165-
registerUnitTestReportTask(project)
166165
}
167166

168167
private fun setupApiInformationAnalysis(project: Project, android: LibraryExtension) {

plugins/src/main/java/com/google/firebase/gradle/plugins/FirebaseJavaLibraryPlugin.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,6 @@ class FirebaseJavaLibraryPlugin : BaseFirebaseLibraryPlugin() {
105105
}
106106

107107
setupMetalavaSemver(project, firebaseLibrary)
108-
registerUnitTestReportTask(project)
109108
}
110109

111110
private fun setupApiInformationAnalysis(project: Project) {

plugins/src/main/java/com/google/firebase/gradle/plugins/report/UnitTestReport.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import com.google.gson.GsonBuilder
2020
import com.google.gson.JsonArray
2121
import com.google.gson.JsonElement
2222
import com.google.gson.JsonObject
23+
import java.io.File
2324
import java.io.FileWriter
2425
import java.io.IOException
2526
import java.net.URI
@@ -30,7 +31,6 @@ import java.time.Duration
3031
import java.util.regex.Matcher
3132
import java.util.regex.Pattern
3233
import org.gradle.internal.Pair
33-
import java.io.File
3434

3535
@SuppressWarnings("NewApi")
3636
class UnitTestReport(private val apiToken: String) {
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.google.firebase.gradle.plugins.report
2+
3+
import org.gradle.api.Plugin
4+
import org.gradle.api.Project
5+
import org.gradle.kotlin.dsl.register
6+
7+
class UnitTestReportPlugin : Plugin<Project> {
8+
override fun apply(project: Project) {
9+
project.tasks.register<UnitTestReportTask>("generateTestReport") {
10+
outputFile.set(project.file("test-report.md"))
11+
commitCount.set(8 as Integer)
12+
apiToken.set(System.getenv("GH_TOKEN"))
13+
}
14+
}
15+
}

plugins/src/main/java/com/google/firebase/gradle/plugins/report/UnitTestReportTask.kt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,16 @@ import org.gradle.api.tasks.Input
2222
import org.gradle.api.tasks.OutputFile
2323
import org.gradle.api.tasks.TaskAction
2424

25-
abstract class UnitTestReportTask: DefaultTask() {
25+
/**
26+
* Creates a markdown unit test report file based on recent runs of GitHub Actions. Task simply
27+
* aggregates live test data and does not rely on the current state of the repository.
28+
*
29+
* @property outputFile The file path to output the markdown test report to.
30+
* @property commitCount The number of remote commits to aggregate test results from.
31+
* @property apiToken The GitHub API token with adequate permissions to read test result data and
32+
* execute GraphQL queries.
33+
*/
34+
abstract class UnitTestReportTask : DefaultTask() {
2635
@get:OutputFile abstract val outputFile: RegularFileProperty
2736

2837
@get:Input abstract val commitCount: Property<Integer>

0 commit comments

Comments
 (0)