mirror of
https://github.com/ysoftdevs/odc-analyzer.git
synced 2026-04-01 14:53:18 +02:00
Added support for wildcarded project names
This commit is contained in:
@@ -38,12 +38,15 @@ private final case class ProjectFilter(project: ReportInfo) extends Filter{
|
|||||||
private final case class TeamFilter(team: Team) extends Filter{
|
private final case class TeamFilter(team: Team) extends Filter{
|
||||||
override def filters: Boolean = true
|
override def filters: Boolean = true
|
||||||
override def subReports(r: Result): Option[Result] = {
|
override def subReports(r: Result): Option[Result] = {
|
||||||
|
val Wildcard = """^(.*): \*$""".r
|
||||||
val reportInfoByFriendlyProjectName = r.projectsReportInfo.ungroupedReportsInfo.map(ri => friendlyProjectName(ri) -> ri).toSeq.groupBy(_._1).mapValues{
|
val reportInfoByFriendlyProjectNameMap = r.projectsReportInfo.ungroupedReportsInfo.map(ri => friendlyProjectName(ri) -> ri).toSeq.groupBy(_._1).mapValues{
|
||||||
case Seq((_, ri)) => ri
|
case Seq((_, ri)) => ri
|
||||||
case other => sys.error("some duplicate value: "+other)
|
case other => sys.error("some duplicate value: "+other)
|
||||||
}.map(identity)
|
}.map(identity)
|
||||||
val reportInfos = team.projectNames.map(reportInfoByFriendlyProjectName)
|
val ProjectName = """^(.*): (.*)$""".r
|
||||||
|
val rootProjectReports = reportInfoByFriendlyProjectNameMap.collect{case (ProjectName(rootProject, subproject), v) => (rootProject, v)}.groupBy(_._1).mapValues(_.map(_._2))
|
||||||
|
def reportInfoByFriendlyProjectName(fpn: String) = reportInfoByFriendlyProjectNameMap.get(fpn).map(Set(_)).getOrElse(rootProjectReports(fpn.takeWhile(_ != ':')))
|
||||||
|
val reportInfos = team.projectNames.flatMap(reportInfoByFriendlyProjectName)
|
||||||
def submap[T](m: Map[String, T]) = reportInfos.toSeq.flatMap(ri => m.get(ri.fullId).map(ri.fullId -> _) ).toMap
|
def submap[T](m: Map[String, T]) = reportInfos.toSeq.flatMap(ri => m.get(ri.fullId).map(ri.fullId -> _) ).toMap
|
||||||
Some(Result(
|
Some(Result(
|
||||||
bareFlatReports = submap(r.bareFlatReports),
|
bareFlatReports = submap(r.bareFlatReports),
|
||||||
|
|||||||
Reference in New Issue
Block a user