Merge branch 'stable-3.3' into stable-3.4
* stable-3.3:
Upgrade Gerrit API to 3.3.3
Upgrade Gerrit API to 3.3.2
Set Gerrit API to 3.3.1-SNAPSHOT
Change-Id: I5276ac870378f4f54d787419780ee61ce57a0d73
diff --git a/build.sbt b/build.sbt
index 7115209..b6fb497 100644
--- a/build.sbt
+++ b/build.sbt
@@ -1,6 +1,6 @@
enablePlugins(GitVersioning)
-val gerritApiVersion = "3.3.3"
+val gerritApiVersion = "3.4.0-rc0"
val pluginName = "analytics"
@@ -14,13 +14,13 @@
resolvers += Resolver.mavenLocal,
version := gerritApiVersion,
- scalaVersion := "2.11.8",
+ scalaVersion := "2.11.12",
libraryDependencies ++= Seq(
"io.fabric8" % "gitective-core" % "0.9.54"
exclude ("org.eclipse.jgit", "org.eclipse.jgit"),
- "com.google.inject" % "guice" % "4.2.3" % Provided,
+ "com.google.inject" % "guice" % "5.0.1" % Provided,
"com.google.gerrit" % "gerrit-plugin-api" % gerritApiVersion % Provided withSources(),
"com.google.code.gson" % "gson" % "2.8.5" % Provided,
"joda-time" % "joda-time" % "2.9.9",
@@ -29,7 +29,7 @@
"com.google.gerrit" % "gerrit-acceptance-framework" % gerritApiVersion % Test,
"org.bouncycastle" % "bcpg-jdk15on" % "1.61" % Test,
"org.scalatest" %% "scalatest" % "3.0.1" % Test,
- "net.codingwell" %% "scala-guice" % "4.2.6" % Test),
+ "net.codingwell" %% "scala-guice" % "5.0.0" % Test),
assemblyJarName in assembly := s"$pluginName.jar",
diff --git a/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/CommitStatisticsSpec.scala b/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/CommitStatisticsSpec.scala
index 8c5eb60..cb000e6 100644
--- a/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/CommitStatisticsSpec.scala
+++ b/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/CommitStatisticsSpec.scala
@@ -14,7 +14,8 @@
package com.googlesource.gerrit.plugins.analytics.test
-import com.google.gerrit.acceptance.UseLocalDisk
+import com.google.gerrit.acceptance.{GitUtil, UseLocalDisk}
+import com.google.gerrit.entities.Project
import com.googlesource.gerrit.plugins.analytics.CommitInfo
import com.googlesource.gerrit.plugins.analytics.common.{CommitsStatistics, Statistics}
import org.scalatest.{FlatSpec, Inside, Matchers}
@@ -107,8 +108,12 @@
}
}
- it should "split merge commits and non-merge commits" in new TestEnvironment {
- val clonedRepo = testFileRepository.gitClone
+ it should "split merge commits and non-merge commits" in {
+ val newProjectKey: Project.NameKey = daemonTest.newProject(testSpecificRepositoryName, true)
+ val repository = daemonTest.getRepository(newProjectKey)
+ val clonedRepo = GitUtil.newTestRepository(repository).gitClone
+ val stats = new Statistics(newProjectKey, commitsStatisticsNoCache)
+
val firstNonMerge = clonedRepo.commitFile("file1.txt", "line1\nline2\n")
val merge = clonedRepo.mergeCommitFile("file1.txt", "line1\nline2\nline3")
val nonMerge = clonedRepo.commitFiles(
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 332c733..2feb82d 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
@@ -17,17 +17,15 @@
import java.io.File
import java.util.{Date, UUID}
-import com.google.gerrit.acceptance.{AbstractDaemonTest, GitUtil}
+import com.google.gerrit.acceptance.{AbstractDaemonTest, GitUtil, _}
import com.google.gerrit.entities.Project
-import com.google.gerrit.extensions.annotations.PluginName
import com.google.gerrit.extensions.client.SubmitType
-import com.google.gerrit.acceptance._
import com.google.gerrit.extensions.restapi.RestApiModule
-import com.google.gerrit.server.project.{ProjectConfig, ProjectState}
import com.google.gerrit.server.project.ProjectResource.PROJECT_KIND
+import com.google.gerrit.server.project.ProjectState
import com.google.inject.AbstractModule
-import com.googlesource.gerrit.plugins.analytics.{AnalyticsConfig, ContributorsResource}
import com.googlesource.gerrit.plugins.analytics.common.CommitsStatisticsCache
+import com.googlesource.gerrit.plugins.analytics.{AnalyticsConfig, ContributorsResource}
import org.eclipse.jgit.api.MergeCommand.FastForwardMode
import org.eclipse.jgit.api.{Git, MergeResult}
import org.eclipse.jgit.internal.storage.file.FileRepository
@@ -80,7 +78,7 @@
testFileRepository = GitUtil.newTestRepository(fileRepository)
}
- private def testSpecificRepositoryName = "git-test-case-" + UUID.randomUUID().toString
+ protected def testSpecificRepositoryName = "git-test-case-" + UUID.randomUUID().toString
implicit class PimpedGitRepository(repo: TestFileRepository) {
@@ -151,9 +149,9 @@
AbstractDaemonTest.temporaryFolder.create()
tempDataDir.create()
- def newProject(nameSuffix: String) = {
+ def newProject(nameSuffix: String, emptyCommit: Boolean = false) = {
resourcePrefix = ""
- super.createProjectOverAPI(nameSuffix, allProjects, false, SubmitType.MERGE_IF_NECESSARY)
+ super.createProjectOverAPI(nameSuffix, allProjects, emptyCommit, SubmitType.MERGE_IF_NECESSARY)
}
def reloadProject(projectName: Project.NameKey): Option[ProjectState] = {
diff --git a/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/UserActivitySummarySpec.scala b/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/UserActivitySummarySpec.scala
index 3ecaa36..a5a5e10 100644
--- a/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/UserActivitySummarySpec.scala
+++ b/src/test/scala/com/googlesource/gerrit/plugins/analytics/test/UserActivitySummarySpec.scala
@@ -1,6 +1,7 @@
package com.googlesource.gerrit.plugins.analytics.test
-import com.google.gerrit.acceptance.UseLocalDisk
+import com.google.gerrit.acceptance.{GitUtil, UseLocalDisk}
+import com.google.gerrit.entities.Project
import com.googlesource.gerrit.plugins.analytics.UserActivitySummary
import com.googlesource.gerrit.plugins.analytics.common.AggregationStrategy.EMAIL
import com.googlesource.gerrit.plugins.analytics.common.{Statistics, TestUtils}
@@ -14,7 +15,9 @@
val personEmail = "aCommitter@aCompany.com"
// we want merge and non-merge commits to be authored by same person, so that they can be aggregated together
- val cloneRepo = testFileRepository.gitClone
+ val newProjectKey: Project.NameKey = daemonTest.newProject(testSpecificRepositoryName, true)
+ val repository = daemonTest.getRepository(newProjectKey)
+ val cloneRepo = GitUtil.newTestRepository(repository).gitClone
getRepoOwnedByPerson(personEmail, repo = cloneRepo)
val personIdent = newPersonIdent("aPerson", personEmail)
@@ -22,8 +25,8 @@
cloneRepo.mergeCommitFile("anotherFile.txt", "some other content", author = personIdent, committer = personIdent)
cloneRepo.push
- val aggregatedCommits = aggregateBy(EMAIL)
- val summary = UserActivitySummary.apply(new Statistics(fileRepositoryName, commitsStatisticsNoCache))(aggregatedCommits.head)
+ val aggregatedCommits = aggregateBy(EMAIL)(repository)
+ val summary = UserActivitySummary.apply(new Statistics(newProjectKey, commitsStatisticsNoCache))(aggregatedCommits.head)
val nonMergeSummary = summary.head
val mergeSummary = summary.drop(1).head