fun release()

in buildSrc/src/main/kotlin/com/uber/nanoscope/release/Nanoscope.kt [14:29]


fun release(distZip: File, incrementType: IncrementType) {
    ensureGitHubToken()
    val homebrewRepo = HomebrewRepo.init()
    homebrewRepo.ensureClean()

    val version = homebrewRepo.readVersion().increment(incrementType)

    val release = GitHubPublisher(distZip, version).publish()
    val sha256 = DatatypeConverter.printHexBinary(
        MessageDigest.getInstance("SHA-256").digest(release.bytes)).toLowerCase()
    val downloadUrl = release.downloadUrl

    homebrewRepo.update(version, downloadUrl, sha256)
    homebrewRepo.commit("Update version to $version.")
    homebrewRepo.push()
}