From 9803bfc3a9378752589d3de572d4e2579aa587e1 Mon Sep 17 00:00:00 2001 From: V2Ray Date: Sun, 18 Oct 2015 13:14:34 +0200 Subject: [PATCH] Smart config file --- release/server/main.go | 19 +++++++++++++++---- tools/build/go.go | 7 +++++-- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/release/server/main.go b/release/server/main.go index ccc8519a..2aab8780 100644 --- a/release/server/main.go +++ b/release/server/main.go @@ -3,6 +3,8 @@ package main import ( "flag" "fmt" + "os" + "path/filepath" "github.com/v2ray/v2ray-core" "github.com/v2ray/v2ray-core/app/point" @@ -18,11 +20,20 @@ import ( ) var ( - configFile = flag.String("config", "config.json", "Config file for this Point server.") + configFile string logLevel = flag.String("loglevel", "warning", "Level of log info to be printed to console, available value: debug, info, warning, error") version = flag.Bool("version", false, "Show current version of V2Ray.") ) +func init() { + defaultConfigFile := "" + workingDir, err := filepath.Abs(filepath.Dir(os.Args[0])) + if err == nil { + defaultConfigFile = filepath.Join(workingDir, "config.json") + } + flag.StringVar(&configFile, "config", defaultConfigFile, "Config file for this Point server.") +} + func main() { flag.Parse() @@ -46,13 +57,13 @@ func main() { return } - if configFile == nil || len(*configFile) == 0 { + if len(configFile) == 0 { log.Error("Config file is not set.") return } - config, err := jsonconf.LoadConfig(*configFile) + config, err := jsonconf.LoadConfig(configFile) if err != nil { - log.Error("Failed to read config file (%s): %v", *configFile, err) + log.Error("Failed to read config file (%s): %v", configFile, err) return } diff --git a/tools/build/go.go b/tools/build/go.go index 017d2ba9..c9f1c1e8 100644 --- a/tools/build/go.go +++ b/tools/build/go.go @@ -9,7 +9,7 @@ import ( func buildV2Ray(targetFile string, version string, goOS GoOS, goArch GoArch) error { ldFlags := "-s" - if version != "" { + if version != "custom" { year, month, day := time.Now().UTC().Date() today := fmt.Sprintf("%04d%02d%02d", year, int(month), day) ldFlags = ldFlags + " -X github.com/v2ray/v2ray-core.version=" + version + " -X github.com/v2ray/v2ray-core.build=" + today @@ -17,6 +17,9 @@ func buildV2Ray(targetFile string, version string, goOS GoOS, goArch GoArch) err cmd := exec.Command("go", "build", "-o", targetFile, "-compiler", "gc", "-ldflags", ldFlags, "github.com/v2ray/v2ray-core/release/server") cmd.Env = append(cmd.Env, "GOOS="+string(goOS), "GOARCH="+string(goArch)) cmd.Env = append(cmd.Env, os.Environ()...) - _, err := cmd.Output() + output, err := cmd.CombinedOutput() + if len(output) > 0 { + fmt.Println(string(output)) + } return err }