45 lines
931 B
Go
45 lines
931 B
Go
package structs
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
)
|
|
|
|
type PluginConfiguration struct {
|
|
CacheFingerprints bool
|
|
MaxParallelism int
|
|
SelectedLibraries string
|
|
|
|
AnalysisPercent int
|
|
AnalysisLengthLimit int
|
|
MinimumIntroDuration int
|
|
}
|
|
|
|
func (c PluginConfiguration) AnalysisSettings() string {
|
|
// If no libraries have been selected, display a star.
|
|
// Otherwise, quote each library before displaying the slice.
|
|
var libs []string
|
|
if c.SelectedLibraries == "" {
|
|
libs = []string{"*"}
|
|
} else {
|
|
for _, tmp := range strings.Split(c.SelectedLibraries, ",") {
|
|
tmp = `"` + strings.TrimSpace(tmp) + `"`
|
|
libs = append(libs, tmp)
|
|
}
|
|
}
|
|
|
|
return fmt.Sprintf(
|
|
"cfp=%t thr=%d lbs=%v",
|
|
c.CacheFingerprints,
|
|
c.MaxParallelism,
|
|
libs)
|
|
}
|
|
|
|
func (c PluginConfiguration) IntroductionRequirements() string {
|
|
return fmt.Sprintf(
|
|
"per=%d%% max=%dm min=%ds",
|
|
c.AnalysisPercent,
|
|
c.AnalysisLengthLimit,
|
|
c.MinimumIntroDuration)
|
|
}
|