Add override for mzn-fzn flags
This commit is contained in:
parent
dfae91a383
commit
452b19faf2
@ -58,7 +58,11 @@ func RunInstance(solver *settings.Solver, instance *settings.Instance) {
|
||||
if instance.Data != "" {
|
||||
args = append(args, "--data", instance.Data)
|
||||
}
|
||||
args = append(args, strings.Split(viper.GetString("flags"), " ")...)
|
||||
if solver.OverrideFlags != "" {
|
||||
args = append(args, strings.Split(solver.OverrideFlags, " ")...)
|
||||
} else {
|
||||
args = append(args, strings.Split(viper.GetString("flags"), " ")...)
|
||||
}
|
||||
proc := exec.Command(viper.GetString("mznfzn"), args...)
|
||||
|
||||
if out, err := proc.CombinedOutput(); err != nil {
|
||||
|
@ -4,10 +4,11 @@ import "github.com/spf13/viper"
|
||||
|
||||
// Solver contains all information regarding a FlatZinc solver and its output
|
||||
type Solver struct {
|
||||
Name string // Solver name
|
||||
Binary string // Binary location
|
||||
Globals string // Globals directory
|
||||
Flags string // FZN solver flags
|
||||
Name string // Solver name
|
||||
Binary string // Binary location
|
||||
Globals string // Globals directory
|
||||
Flags string // FZN solver flags
|
||||
OverrideFlags string // Override to global mzn-fzn flags
|
||||
|
||||
Extractors *ExtractionCluster
|
||||
}
|
||||
@ -20,9 +21,10 @@ func SolversFromViper() []Solver {
|
||||
options := viper.GetStringMapString("solvers." + key)
|
||||
|
||||
solver := Solver{
|
||||
Name: key,
|
||||
Flags: options["flags"],
|
||||
Globals: options["globals"],
|
||||
Name: key,
|
||||
Flags: options["flags"],
|
||||
Globals: options["globals"],
|
||||
OverrideFlags: options["override_flags"],
|
||||
}
|
||||
if bin, exists := options["binary"]; exists {
|
||||
solver.Binary = bin
|
||||
|
Reference in New Issue
Block a user