private def mergeAllowGroupId()

in modules/core/src/main/scala/org/scalasteward/core/repoconfig/UpdatesConfig.scala [184:208]


  private def mergeAllowGroupId(
      x: List[UpdatePattern],
      y: List[UpdatePattern]
  ): List[UpdatePattern] =
    (x.exists(_.isWholeGroupIdAllowed), y.exists(_.isWholeGroupIdAllowed)) match {
      case (true, _) => y
      case (_, true) => x
      case _         =>
        //  case with concrete artifacts / versions
        val builder = new collection.mutable.ListBuffer[UpdatePattern]()
        val xByArtifacts = x.groupBy(_.artifactId)
        val yByArtifacts = y.groupBy(_.artifactId)

        x.foreach { updatePattern =>
          if (satisfyUpdatePattern(updatePattern, yByArtifacts))
            builder += updatePattern
        }
        y.foreach { updatePattern =>
          if (satisfyUpdatePattern(updatePattern, xByArtifacts))
            builder += updatePattern
        }

        if (builder.isEmpty) nonExistingUpdatePattern
        else builder.toList
    }