private def isSameJbr()

in ideaSupport/src/main/scala/org/jetbrains/sbtidea/download/jbr/JbrInstaller.scala [24:46]


  private def isSameJbr(art: JbrArtifact)(implicit ctx: IdeInstallationContext): Boolean = {
    val releaseFile = getJbrHome(ctx.baseDirectory) / "release"
    val props = new Properties()
    try {
      val jbrInfo = art.caller.jbrInfo
      Using.resource(releaseFile.inputStream)(props.load)
      props
        .getProperty("IMPLEMENTOR_VERSION")
        .lift2Option
        .exists(value => {
          val sameJbr =
            value.contains(jbrInfo.version.major.replace('_', '.')) && // release file has dot major version separators
              value.contains(jbrInfo.version.minor) &&
              value.contains(jbrInfo.kind.value.replace("jbr_", "")) // release file has no "jbr_" prefix
          if (!sameJbr) log.info(s"New JBR is different from installed: $jbrInfo != $value")
          sameJbr
        })
    } catch {
      case ex: Exception =>
        log.warn(s"Failed to check locally installed JBR version(assuming true): $ex")
        true
    }
  }