private def createSignedDiskImage()

in src/main/scala/org/intellij/scala/bundle/MacHost.scala [67:99]


  private def createSignedDiskImage(appName: String, ideaBuildNumber: String)(host: String, fingerprint: String, login: String, password: String, identity: String): Unit = {
    System.getProperties.setProperty("org.slf4j.simpleLogger.defaultLogLevel", "error")

    implicit val client: SSHClient = new SSHClient()
    client.addHostKeyVerifier(fingerprint)

    println("Connecting...")
    client.connect(host)
    client.authPassword(login, password)

    exec(s"rm -rf $Base")
    exec(s"mkdir $Base")

    upload(binary(s"target/$appName-osx.tar.gz"), s"$Base/$appName-osx.tar.gz")
    exec(s"tar -xzf $Base/$appName-osx.tar.gz -C $Base")
    upload(text("src/main/resources/mac/signbin.sh"), s"$Base/signbin.sh", 755)
    exec(s"$Base/signbin.sh $appName.app $login $password '$identity'")

    exec(s"mkdir $Base/IC-$ideaBuildNumber.exploded")
    exec(s"mv $Base/$appName.app $Base/IC-$ideaBuildNumber.exploded")
    upload(binary("src/main/resources/mac/dmg_background.tiff"), s"$Base/IC-$ideaBuildNumber.png")
    upload(text("src/main/resources/mac/makedmg.pl"), s"$Base/makedmg.pl", 755)
    upload(text("src/main/resources/mac/makedmg.sh"), s"$Base/makedmg.sh", 755)
    exec(s"$Base/makedmg.sh $appName-osx IC-$ideaBuildNumber")

    download(s"$Base/$appName-osx.dmg", s"target/$appName-osx.dmg")

    exec(s"rm -rf $Base")

    client.disconnect()

    println("Done.")
  }