initial relic support as jarsigner alternative
This commit is contained in:
parent
241b42fc56
commit
330754ef4f
1 changed files with 19 additions and 2 deletions
21
main.go
21
main.go
|
@ -80,6 +80,7 @@ type Config struct {
|
|||
KeyStoreAlias string `toml:"keystore_alias"`
|
||||
BinarySources []string `toml:"binarySources"`
|
||||
GithubToken string `toml:"github_token"`
|
||||
RelicConfig string `toml:"relic_config"`
|
||||
}
|
||||
|
||||
type User struct {
|
||||
|
@ -545,6 +546,13 @@ func signJarWithJarsigner(jarFile string, keystore string, password string, alia
|
|||
return err, string(output) // Возвращаем ошибку и вывод как строку
|
||||
}
|
||||
|
||||
func signJarWithRelic(jarFile string, keystore string, password string, alias string,relicConfig string) (error, string) {
|
||||
cmd := exec.Command("relic", "sign","--digest","SHA1","--key-alias",alias,"--file",jarFile,"--output",jarFile,"--key",keystore,"--config",relicConfig)
|
||||
//cmd.Env = append(cmd.Env, "KEYSTORE_PASSWORD="+password)
|
||||
output, err := cmd.CombinedOutput() // Сначала получаем вывод и ошибку
|
||||
return err, string(output) // Возвращаем ошибку и вывод как строку
|
||||
}
|
||||
|
||||
func createAppFromReleases(releases []Release, repo string, index int,indexCache Index,config Config) (App, []Package,error) {
|
||||
// Получаем информацию о репозитории
|
||||
repository, err := getRepositoryInfo(repo,config)
|
||||
|
@ -599,7 +607,7 @@ func main() {
|
|||
var config Config
|
||||
|
||||
configPath := flag.String("config", "config.toml", "Path to the configuration file")
|
||||
|
||||
useRelic := flag.Bool("relic",false,"Use relic instead that jarsigner")
|
||||
// Parse the command-line flags
|
||||
flag.Parse()
|
||||
file, err := os.Open(*configPath)
|
||||
|
@ -689,11 +697,20 @@ for _, source := range config.BinarySources {
|
|||
p12File := config.KeyStorePath // Укажите путь к вашему P12 файлу
|
||||
password := config.KeyStorePassword // Укажите пароль для P12 файла
|
||||
alias := config.KeyStoreAlias // Укажите алиас для ключа
|
||||
|
||||
if *useRelic == true {
|
||||
err, output := signJarWithRelic("index-v1.jar", p12File, password, alias,config.RelicConfig)
|
||||
if err != nil {
|
||||
fmt.Println("Error signing JAR:", err, output)
|
||||
return
|
||||
}
|
||||
fmt.Println("JAR file signed successfully.")
|
||||
}else{
|
||||
err, output := signJarWithJarsigner("index-v1.jar", p12File, password, alias)
|
||||
if err != nil {
|
||||
fmt.Println("Error signing JAR:", err, output)
|
||||
return
|
||||
}
|
||||
fmt.Println("JAR file signed successfully.")
|
||||
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue