I think that works
This commit is contained in:
227
scripts/src/plugin-config.go
Normal file
227
scripts/src/plugin-config.go
Normal file
@ -0,0 +1,227 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type PluginConfig struct {
|
||||
PluginName *string //0
|
||||
KeyName *string //1
|
||||
Signer *string //2
|
||||
Version *string //3
|
||||
License *string //4
|
||||
Date *string //5
|
||||
Author *string //6
|
||||
Website *string //7
|
||||
UpdateURL *string //8
|
||||
Description *string //9
|
||||
DescriptionLang []*string //10
|
||||
ConsoleLinkName *string //11
|
||||
ConsoleLinkNameLang []*string //12
|
||||
ConsoleLinkURL *string //13
|
||||
ConsoleIcon *string //14
|
||||
ConsoleIconCode *string //15
|
||||
MinVersion *string //16
|
||||
MaxVerion *string //17
|
||||
MinJava *string //18
|
||||
MinJetty *string //19
|
||||
MaxJetty *string //20
|
||||
NoStop *bool //21
|
||||
NoStart *bool //22
|
||||
Restart *bool //23
|
||||
OnlyUpdate *bool //24
|
||||
OnlyInstall *bool //25
|
||||
ConsoleLinkTip *string //26
|
||||
ConsoleLinkTipLang []*string //27
|
||||
|
||||
}
|
||||
|
||||
func (pc *PluginConfig) Print() string {
|
||||
r := pc.PrintPluginName() //0
|
||||
r += pc.PrintKeyName() //1
|
||||
r += pc.PrintSigner() //2
|
||||
r += pc.PrintVersion() //3
|
||||
r += pc.PrintLicense() //4
|
||||
r += pc.PrintDate() //5
|
||||
r += pc.PrintAuthor() //6
|
||||
r += pc.PrintWebsite() //7
|
||||
r += pc.PrintUpdateURL() //8
|
||||
r += pc.PrintDescription() //9
|
||||
//10
|
||||
r += pc.PrintConsoleLinkName() //11
|
||||
//12
|
||||
r += pc.PrintConsoleLinkURL() //13
|
||||
r += pc.PrintConsoleIcon() //14
|
||||
r += pc.PrintConsoleIconCode() //15
|
||||
r += pc.PrintMinVersion() //16
|
||||
r += pc.PrintMaxVerion() //17
|
||||
r += pc.PrintMinJava() //18
|
||||
r += pc.PrintMinJetty() //19
|
||||
r += pc.PrintMaxJetty() //20
|
||||
r += pc.PrintNoStop() //21
|
||||
r += pc.PrintNoStart() //22
|
||||
r += pc.PrintRestart() //23
|
||||
r += pc.PrintOnlyUpdate() //24
|
||||
r += pc.PrintOnlyInstall() //25
|
||||
r += pc.PrintConsoleLinkTip() //26
|
||||
//27
|
||||
|
||||
return r
|
||||
}
|
||||
|
||||
func (pc *PluginConfig) PrintPluginName() string {
|
||||
if pc.PluginName == nil || *pc.PluginName == "" {
|
||||
log.Fatal("-name is a required field.")
|
||||
}
|
||||
return fmt.Sprintf("name=%s\n", *pc.PluginName)
|
||||
}
|
||||
func (pc *PluginConfig) PrintKeyName() string {
|
||||
if pc.KeyName == nil {
|
||||
return fmt.Sprintf("key=%s\n", "")
|
||||
}
|
||||
return fmt.Sprintf("key=%s\n", *pc.KeyName)
|
||||
}
|
||||
func (pc *PluginConfig) PrintSigner() string {
|
||||
if pc.Signer == nil || *pc.Signer == "" {
|
||||
log.Fatal("-signer is a required field.")
|
||||
}
|
||||
return fmt.Sprintf("signer=%s\n", *pc.Signer)
|
||||
}
|
||||
func (pc *PluginConfig) PrintAuthor() string {
|
||||
if pc.Author == nil || *pc.Author == "" {
|
||||
if pc.Signer == nil || *pc.Signer == "" {
|
||||
log.Fatal("-signer is a required field.")
|
||||
}
|
||||
return fmt.Sprintf("author=%s\n", *pc.Signer)
|
||||
}
|
||||
return fmt.Sprintf("author=%s\n", *pc.Author)
|
||||
}
|
||||
func (pc *PluginConfig) PrintVersion() string {
|
||||
if pc.Version == nil || *pc.Version == "" {
|
||||
log.Fatal("-version is a required field.")
|
||||
}
|
||||
return fmt.Sprintf("version=%s\n", *pc.Version)
|
||||
}
|
||||
func (pc *PluginConfig) PrintDate() string {
|
||||
if pc.Date == nil || *pc.Date == "" {
|
||||
return ""
|
||||
}
|
||||
return fmt.Sprintf("date=%s\n", *pc.Date)
|
||||
}
|
||||
|
||||
func (pc *PluginConfig) PrintNoStop() string {
|
||||
if pc.NoStop == nil {
|
||||
return fmt.Sprintf("disableStop=%t\n", false)
|
||||
}
|
||||
return fmt.Sprintf("disableStop=%t\n", *pc.NoStop)
|
||||
}
|
||||
func (pc *PluginConfig) PrintNoStart() string {
|
||||
if pc.NoStart == nil {
|
||||
return fmt.Sprintf("dont-start-at-install=%t\n", false)
|
||||
}
|
||||
return fmt.Sprintf("dont-start-at-install=%t\n", *pc.NoStart)
|
||||
}
|
||||
func (pc *PluginConfig) PrintRestart() string {
|
||||
if pc.Restart == nil {
|
||||
return fmt.Sprintf("router-restart-required=%t\n", false)
|
||||
}
|
||||
return fmt.Sprintf("router-restart-required=%t\n", *pc.Restart)
|
||||
}
|
||||
func (pc *PluginConfig) PrintOnlyUpdate() string {
|
||||
if pc.OnlyUpdate == nil {
|
||||
return fmt.Sprintf("update-only=%t\n", false)
|
||||
}
|
||||
return fmt.Sprintf("update-only=%t\n", *pc.OnlyUpdate)
|
||||
}
|
||||
func (pc *PluginConfig) PrintOnlyInstall() string {
|
||||
if pc.OnlyInstall == nil {
|
||||
return fmt.Sprintf("install-only=%t\n", false)
|
||||
}
|
||||
return fmt.Sprintf("install-only=%t\n", *pc.OnlyInstall)
|
||||
}
|
||||
|
||||
func (pc *PluginConfig) PrintLicense() string {
|
||||
if pc.License == nil || *pc.License == "" {
|
||||
return fmt.Sprintf("license=%s\n", "unknown")
|
||||
}
|
||||
return fmt.Sprintf("license=%s\n", *pc.License)
|
||||
}
|
||||
|
||||
func (pc *PluginConfig) PrintWebsite() string {
|
||||
if pc.Website == nil || *pc.Website == "" {
|
||||
return fmt.Sprintf("website=%s%s%s\n", "http://", *pc.PluginName, ".i2p")
|
||||
}
|
||||
return fmt.Sprintf("website=%s\n", *pc.Website)
|
||||
}
|
||||
func (pc *PluginConfig) PrintUpdateURL() string {
|
||||
if pc.UpdateURL == nil || *pc.UpdateURL == "" {
|
||||
return fmt.Sprintf("updateURL=%s%s%s%s%s\n", "http://", *pc.PluginName, ".i2p/", *pc.PluginName, ".su3")
|
||||
}
|
||||
if strings.HasSuffix(*pc.UpdateURL, "xpi2p") {
|
||||
return fmt.Sprintf("updateURL=%s\n", *pc.UpdateURL)
|
||||
}
|
||||
if strings.HasSuffix(*pc.UpdateURL, "su3") {
|
||||
return fmt.Sprintf("updateURL=%s\n", *pc.UpdateURL)
|
||||
}
|
||||
return fmt.Sprintf("updateURL=%s\n", *pc.UpdateURL)
|
||||
}
|
||||
func (pc *PluginConfig) PrintDescription() string {
|
||||
if pc.Description == nil || *pc.Description == "" {
|
||||
return fmt.Sprintf("description=%s\n", "Plugin config generated by i2p.plugin.native")
|
||||
}
|
||||
return fmt.Sprintf("description=%s\n", *pc.Description)
|
||||
}
|
||||
|
||||
//func (pc *PluginConfig) PrintDescriptionLang() []string { return []string{""} }
|
||||
func (pc *PluginConfig) PrintConsoleLinkName() string {
|
||||
if pc.ConsoleLinkName == nil || *pc.ConsoleLinkName == "" {
|
||||
return ""
|
||||
}
|
||||
return fmt.Sprintf("consoleLinkName=%s\n", *pc.ConsoleLinkName)
|
||||
}
|
||||
|
||||
func (pc *PluginConfig) PrintConsoleLinkTip() string {
|
||||
if pc.ConsoleLinkTip == nil || *pc.ConsoleLinkTip == "" {
|
||||
return ""
|
||||
}
|
||||
return fmt.Sprintf("consoleLinkTooltip=%s\n", *pc.ConsoleLinkTip)
|
||||
}
|
||||
|
||||
func (pc *PluginConfig) PrintConsoleLinkURL() string {
|
||||
if pc.ConsoleLinkURL == nil || *pc.ConsoleLinkURL == "" {
|
||||
return ""
|
||||
}
|
||||
return fmt.Sprintf("consoleLinkURL=%s\n", *pc.ConsoleLinkURL)
|
||||
}
|
||||
|
||||
//func (pc *PluginConfig) PrintConsoleLinkNameLang() []*string { return []string{""} }
|
||||
func (pc *PluginConfig) PrintConsoleIcon() string {
|
||||
if pc.ConsoleIcon == nil || *pc.ConsoleIcon == "" {
|
||||
return ""
|
||||
}
|
||||
return fmt.Sprintf("console-icon=%s\n", *pc.ConsoleIcon)
|
||||
}
|
||||
func (pc *PluginConfig) PrintConsoleIconCode() string {
|
||||
if pc.ConsoleLinkName == nil || *pc.ConsoleLinkName == "" {
|
||||
return ""
|
||||
}
|
||||
return fmt.Sprintf("icon-code=%s\n", *pc.ConsoleLinkName)
|
||||
}
|
||||
|
||||
func (pc *PluginConfig) PrintMinVersion() string {
|
||||
return ""
|
||||
}
|
||||
func (pc *PluginConfig) PrintMaxVerion() string {
|
||||
return ""
|
||||
}
|
||||
func (pc *PluginConfig) PrintMinJava() string {
|
||||
return ""
|
||||
}
|
||||
func (pc *PluginConfig) PrintMinJetty() string {
|
||||
return ""
|
||||
}
|
||||
func (pc *PluginConfig) PrintMaxJetty() string {
|
||||
return ""
|
||||
}
|
Reference in New Issue
Block a user