private def isRunningOnTeamcity: Boolean = System.getenv()

in project/CurrentEnvironment.scala [80:97]


  private def isRunningOnTeamcity: Boolean = System.getenv("TEAMCITY_VERSION") != null

  
  /**
   * Sbt runner on teamcity uses a different ivy cache directory.
   * Unfortunately, it's hardcoded and is not published via TC parameters, so we can't read it here
   *
   * @see jetbrains.buildServer.sbt.SbtRunnerBuildService#getVMProperties
   * @see jetbrains.buildServer.sbt.IvyCacheProvider#IvyCacheProvider
   */
  private def detectIvyHomeOnTeamcity: Either[String, File] = {
    val TeamcityAgentHomeDirProperty = "agent.home.dir"
    for {
      tcHome <- Option(System.getProperty(TeamcityAgentHomeDirProperty)).toRight(s"Undefined property: $TeamcityAgentHomeDirProperty")
      ivyHomeDirFile = new File(tcHome, "system/sbt_ivy")
      ivyHomeDir <- Option(ivyHomeDirFile).filter(_.exists()).toRight(s"Ivy cache directory doesn't exist: $ivyHomeDirFile")
    } yield ivyHomeDir
  }