Merge branch 'stable-3.7' into stable-3.8 * stable-3.7: Use orNull instead of explicit null default Fix IterableOnce foreach deprecation warning Fix array splat deprecation warning Fix .toStream deprecation warning Fix deprecated `l` for Longs Remove use of deprecated JavaConverters class Fix TraversableOnce deprecation warnings Fix procedure syntax deprecation warnings Fix reflective structural type access warning Fix unable to check type warnings Fix override without parameter list warning Update Scala to 2.13.10 Bump scalatest to 3.2.16 Fix feature warnings Bump sbt to 1.8.3 Add gitignore entries Set Gerrit API to v3.7.0-rc3 Set Gerrit to v3.6.0-rc0 Change-Id: I3d5b19db244e9a15e4372b257c6ea2764271d150
diff --git a/build.sbt b/build.sbt index 6f5750d..5203e12 100644 --- a/build.sbt +++ b/build.sbt
@@ -1,6 +1,6 @@ enablePlugins(GitVersioning) -val gerritApiVersion = "3.7.0-rc3" +val gerritApiVersion = "3.8.0-rc4" val pluginName = "analytics"
diff --git a/src/main/scala/com/googlesource/gerrit/plugins/analytics/common/CommitsStatisticsLoader.scala b/src/main/scala/com/googlesource/gerrit/plugins/analytics/common/CommitsStatisticsLoader.scala index e4dbe11..e95eef6 100644 --- a/src/main/scala/com/googlesource/gerrit/plugins/analytics/common/CommitsStatisticsLoader.scala +++ b/src/main/scala/com/googlesource/gerrit/plugins/analytics/common/CommitsStatisticsLoader.scala
@@ -47,10 +47,9 @@ val nameKey = Project.nameKey(cacheKey.projectName) val commentInfoList: Seq[CommentLinkInfo] = if(config.isExtractIssues) projectCache.get(nameKey).toScala.toList.flatMap(_.getCommentLinks.asScala) else Seq.empty - val replacers = commentInfoList.map(info => - Replacer( - info.`match`.r, - Option(info.link).getOrElse(info.html))) + val replacers = commentInfoList.flatMap(info => + Option(info.link).map(link => Replacer(info.`match`.r, link)) + ) Using.Manager { use => val repo = use(gitRepositoryManager.openRepository(nameKey))
diff --git a/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/CommitStatisticsCommentLinkSpec.scala b/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/CommitStatisticsCommentLinkSpec.scala index 28c5ebe..53593e1 100644 --- a/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/CommitStatisticsCommentLinkSpec.scala +++ b/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/CommitStatisticsCommentLinkSpec.scala
@@ -15,7 +15,6 @@ package com.googlesource.gerrit.plugins.analytics.test import com.google.gerrit.acceptance.UseLocalDisk -import com.google.gerrit.extensions.api.projects.CommentLinkInfo import com.google.gerrit.server.git.GitRepositoryManager import com.googlesource.gerrit.plugins.analytics.IssueInfo import com.googlesource.gerrit.plugins.analytics.common.{CommitsStatistics, Statistics} @@ -29,14 +28,6 @@ @UseLocalDisk class CommitStatisticsCommentLinkSpec extends AnyFlatSpecLike with GerritTestDaemon with TestCommitStatisticsNoCache with Matchers with Inside { - def createCommentLinkInfo(pattern: String, link: Option[String] = None, html: Option[String] = None) = { - val info = new CommentLinkInfo - info.`match` = pattern - info.link = link.orNull - info.html = html.orNull - info - } - class TestEnvironment(val repo: Repository = fileRepository) { lazy val stats = new Statistics(fileRepositoryName, commitsStatisticsNoCache) testFileRepository.commitFile("project.config",
diff --git a/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/GerritTestDaemon.scala b/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/GerritTestDaemon.scala index abb155e..4d0df87 100644 --- a/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/GerritTestDaemon.scala +++ b/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/GerritTestDaemon.scala
@@ -140,6 +140,7 @@ } } +@UseLocalDisk @TestPlugin( name = "analytics", sysModule = "com.googlesource.gerrit.plugins.analytics.test.GerritTestDaemon$TestModule" @@ -160,7 +161,10 @@ } def getRepository(projectName: Project.NameKey): FileRepository = - repoManager.openRepository(projectName).asInstanceOf[FileRepository] + repoManager.openRepository(projectName) match { + case repository: FileRepository => repository + case repository => throw new IllegalStateException(s"Expected 'FileRepository', got ${repository.getClass.getName}") + } def adminAuthor = admin.newIdent