diff --git a/data/scripts/generate_config.sh b/data/scripts/generate_config.sh deleted file mode 100755 index 18a6e9755..000000000 --- a/data/scripts/generate_config.sh +++ /dev/null @@ -1,3 +0,0 @@ -#! /usr/bin/env sh - -go test github.com/cgrates/cgrates/config -tags=generate | echo "Generating configuration file ..." diff --git a/config/config_defaults_test.go b/data/scripts/generate_config/generate.go similarity index 67% rename from config/config_defaults_test.go rename to data/scripts/generate_config/generate.go index e72b5b0e2..edfe67451 100644 --- a/config/config_defaults_test.go +++ b/data/scripts/generate_config/generate.go @@ -1,5 +1,3 @@ -// +build generate - /* Real-time Online/Offline Charging System (OCS) for Telecom & ISP environments Copyright (C) ITsysCOM GmbH @@ -17,14 +15,17 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see */ -package config +package main import ( + "flag" "fmt" + "log" "os" "path" "strings" - "testing" + + "github.com/cgrates/cgrates/config" ) func writeDefaultCofig(fileName string) error { @@ -33,7 +34,7 @@ func writeDefaultCofig(fileName string) error { return err } defer f.Close() - rows := strings.Split(CGRATES_CFG_JSON, "\n")[1:] // remove first empty row + rows := strings.Split(config.CGRATES_CFG_JSON, "\n")[1:] // remove first empty row for i, row := range rows { if i == 0 || i == len(rows)-1 { // do not comment first and last row fmt.Fprintln(f, row) @@ -49,8 +50,16 @@ func writeDefaultCofig(fileName string) error { } // used only to generate the commented configuration file -func TestWriteDefaultCofig(t *testing.T) { - if err := writeDefaultCofig(path.Join("/usr", "share", "cgrates", "conf", "cgrates", "cgrates.json")); err != nil { - t.Fatal(err) +func main() { + generateFlags := flag.NewFlagSet("generate", flag.ContinueOnError) + cfgPath := generateFlags.String("config_path", path.Join("/usr", "share", "cgrates", "conf", "cgrates", "cgrates.json"), "The file path for generated configuration.") + if err := generateFlags.Parse(os.Args[1:]); err != nil { + log.Fatal(err) } + + fmt.Println("Generating configuration file ...") + if err := writeDefaultCofig(*cfgPath); err != nil { + log.Fatal(err) + } + fmt.Printf("Done writing file at path: %s\n", *cfgPath) } diff --git a/data/scripts/generate_config/generate_config.sh b/data/scripts/generate_config/generate_config.sh new file mode 100755 index 000000000..ac96e3260 --- /dev/null +++ b/data/scripts/generate_config/generate_config.sh @@ -0,0 +1,3 @@ +#! /usr/bin/env sh + +go run generate.go $@