mirror of
https://github.com/ethauvin/kobalt.git
synced 2025-04-26 08:27:12 -07:00
Handle not finding gpg better.
This commit is contained in:
parent
790a7d3eb6
commit
ec36ca4fa9
1 changed files with 20 additions and 3 deletions
|
@ -1,8 +1,13 @@
|
||||||
package com.beust.kobalt.maven
|
package com.beust.kobalt.maven
|
||||||
|
|
||||||
|
import com.beust.kobalt.OperatingSystem
|
||||||
|
import com.beust.kobalt.misc.error
|
||||||
import com.beust.kobalt.misc.log
|
import com.beust.kobalt.misc.log
|
||||||
|
import com.beust.kobalt.misc.warn
|
||||||
import com.google.inject.Singleton
|
import com.google.inject.Singleton
|
||||||
|
import java.io.BufferedReader
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
import java.io.InputStreamReader
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
public class Gpg {
|
public class Gpg {
|
||||||
|
@ -12,7 +17,11 @@ public class Gpg {
|
||||||
val path = System.getenv("PATH")
|
val path = System.getenv("PATH")
|
||||||
if (path != null) {
|
if (path != null) {
|
||||||
path.split(File.pathSeparator).forEach { dir ->
|
path.split(File.pathSeparator).forEach { dir ->
|
||||||
COMMANDS.map { File(dir, it) }.firstOrNull { it.exists() }?.let {
|
COMMANDS.map {
|
||||||
|
File(dir, if (OperatingSystem.current().isWindows()) it + ".exe" else it)
|
||||||
|
}.firstOrNull {
|
||||||
|
it.exists()
|
||||||
|
}?.let {
|
||||||
return it.absolutePath
|
return it.absolutePath
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -40,18 +49,26 @@ public class Gpg {
|
||||||
|
|
||||||
val pb = ProcessBuilder(allArgs)
|
val pb = ProcessBuilder(allArgs)
|
||||||
pb.directory(directory)
|
pb.directory(directory)
|
||||||
pb.inheritIO()
|
|
||||||
log(2, "Signing file: " + allArgs.join(" "))
|
log(2, "Signing file: " + allArgs.join(" "))
|
||||||
val process = pb.start()
|
val process = pb.start()
|
||||||
|
|
||||||
|
val br = BufferedReader(InputStreamReader(process.errorStream))
|
||||||
val errorCode = process.waitFor()
|
val errorCode = process.waitFor()
|
||||||
if (errorCode != 0) {
|
if (errorCode != 0) {
|
||||||
|
var line = br.readLine()
|
||||||
|
while (line != null) {
|
||||||
|
error(line)
|
||||||
|
line = br.readLine()
|
||||||
|
}
|
||||||
throw KobaltException("Couldn't sign file $file")
|
throw KobaltException("Couldn't sign file $file")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return files.map { File(it.absolutePath + ".asc") }
|
return files.map { File(it.absolutePath + ".asc") }
|
||||||
} else {
|
} else {
|
||||||
throw KobaltException("Couldn't find the command, is it installed and in your PATH?")
|
warn("Couldn't find the gpg command, make sure it is on your PATH")
|
||||||
|
warn("Signing of artifacts with PGP (.asc) disabled")
|
||||||
|
return arrayListOf()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue