From 31ce55eb4dd566f4806729ded768a3788cc87211 Mon Sep 17 00:00:00 2001 From: John Guo Date: Thu, 17 Feb 2022 17:52:48 +0800 Subject: [PATCH] cli update --- cmd/gf/go.sum | 17 ++++++----------- cmd/gf/internal/cmd/cmd_docker.go | 12 +++++++++--- os/gcfg/gcfg_adapter_file.go | 2 +- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/cmd/gf/go.sum b/cmd/gf/go.sum index 5c6fc55a3..425e88106 100644 --- a/cmd/gf/go.sum +++ b/cmd/gf/go.sum @@ -17,11 +17,6 @@ github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMo github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.2.1 h1:DX7uPQ4WgAWfoh+NGGlbJQswnYIVvz0SRlLS3rPZQDA= -github.com/go-logr/logr v1.2.1/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/stdr v1.2.0 h1:j4LrlVXgrbIWO83mmQUnK0Hi+YnbD+vzrE1z/EphbFE= -github.com/go-logr/stdr v1.2.0/go.mod h1:YkVgnZu1ZjjL7xTxrfm/LLZBfkhTqSR1ydtm6jTKKwI= github.com/go-redis/redis/v8 v8.11.4 h1:kHoYkfZP6+pe04aFTnhDH6GDROa5yJdHJVNxV3F46Tg= github.com/go-redis/redis/v8 v8.11.4/go.mod h1:2Z2wHZXdQpCDXEGzqMockDpNyYvi2l4Pxt6RJr792+w= github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= @@ -82,12 +77,12 @@ github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5Cc github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -go.opentelemetry.io/otel v1.3.0 h1:APxLf0eiBwLl+SOXiJJCVYzA1OOJNyAoV8C5RNRyy7Y= -go.opentelemetry.io/otel v1.3.0/go.mod h1:PWIKzi6JCp7sM0k9yZ43VX+T345uNbAkDKwHVjb2PTs= -go.opentelemetry.io/otel/sdk v1.3.0 h1:3278edCoH89MEJ0Ky8WQXVmDQv3FX4ZJ3Pp+9fJreAI= -go.opentelemetry.io/otel/sdk v1.3.0/go.mod h1:rIo4suHNhQwBIPg9axF8V9CA72Wz2mKF1teNrup8yzs= -go.opentelemetry.io/otel/trace v1.3.0 h1:doy8Hzb1RJ+I3yFhtDmwNc7tIyw1tNMOIsyPzp1NOGY= -go.opentelemetry.io/otel/trace v1.3.0/go.mod h1:c/VDhno8888bvQYmbYLqe41/Ldmr/KKunbvWM4/fEjk= +go.opentelemetry.io/otel v1.0.0 h1:qTTn6x71GVBvoafHK/yaRUmFzI4LcONZD0/kXxl5PHI= +go.opentelemetry.io/otel v1.0.0/go.mod h1:AjRVh9A5/5DE7S+mZtTR6t8vpKKryam+0lREnfmS4cg= +go.opentelemetry.io/otel/sdk v1.0.0 h1:BNPMYUONPNbLneMttKSjQhOTlFLOD9U22HNG1KrIN2Y= +go.opentelemetry.io/otel/sdk v1.0.0/go.mod h1:PCrDHlSy5x1kjezSdL37PhbFUMjrsLRshJ2zCzeXwbM= +go.opentelemetry.io/otel/trace v1.0.0 h1:TSBr8GTEtKevYMG/2d21M989r5WJYVimhTHBKVEZuh4= +go.opentelemetry.io/otel/trace v1.0.0/go.mod h1:PXTWqayeFUlJV1YDNhsJYB184+IvAH814St6o6ajzIs= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= diff --git a/cmd/gf/internal/cmd/cmd_docker.go b/cmd/gf/internal/cmd/cmd_docker.go index db48fb98d..e4368ca4d 100644 --- a/cmd/gf/internal/cmd/cmd_docker.go +++ b/cmd/gf/internal/cmd/cmd_docker.go @@ -37,7 +37,8 @@ It runs "gf build" firstly to compile the project to binary file. It then runs "docker build" command automatically to generate the docker image. You should have docker installed, and there must be a Dockerfile in the root of the project. ` - cDockerMainBrief = `main golang file path for "gf build", it's "main.go" in default` + cDockerMainBrief = `main file path for "gf build", it's "main.go" in default. empty string for no binary build` + cDockerBuildBrief = `binary build options before docker image build, it's "-a amd64 -s linux" in default` cDockerFileBrief = `file path of the Dockerfile. it's "manifest/docker/Dockerfile" in default` cDockerShellBrief = `path of the shell file which is executed before docker build` cDockerPushBrief = `auto push the docker image to docker registry if "-t" option passed` @@ -54,6 +55,7 @@ func init() { `cDockerMainBrief`: cDockerMainBrief, `cDockerFileBrief`: cDockerFileBrief, `cDockerShellBrief`: cDockerShellBrief, + `cDockerBuildBrief`: cDockerBuildBrief, `cDockerPushBrief`: cDockerPushBrief, `cDockerTagBrief`: cDockerTagBrief, `cDockerExtraBrief`: cDockerExtraBrief, @@ -65,6 +67,7 @@ type cDockerInput struct { Main string `name:"MAIN" arg:"true" brief:"{cDockerMainBrief}" d:"main.go"` File string `name:"file" short:"f" brief:"{cDockerFileBrief}" d:"manifest/docker/Dockerfile"` Shell string `name:"shell" short:"s" brief:"{cDockerShellBrief}" d:"manifest/docker/docker.sh"` + Build string `name:"build" short:"b" brief:"{cDockerBuildBrief}" d:"-a amd64 -s linux"` Tag string `name:"tag" short:"t" brief:"{cDockerTagBrief}"` Push bool `name:"push" short:"p" brief:"{cDockerPushBrief}" orphan:"true"` Extra string `name:"extra" short:"e" brief:"{cDockerExtraBrief}"` @@ -78,9 +81,12 @@ func (c cDocker) Index(ctx context.Context, in cDockerInput) (out *cDockerOutput } // Binary build. - if err = gproc.ShellRun(fmt.Sprintf(`gf build %s -a amd64 -s linux`, in.Main)); err != nil { - return + if in.Main != "" { + if err = gproc.ShellRun(fmt.Sprintf(`gf build %s %s`, in.Main, in.Build)); err != nil { + return + } } + // Shell executing. if gfile.Exists(in.Shell) { if err = gproc.ShellRun(gfile.GetContents(in.Shell)); err != nil { diff --git a/os/gcfg/gcfg_adapter_file.go b/os/gcfg/gcfg_adapter_file.go index 80ea4c4c7..3c70bf588 100644 --- a/os/gcfg/gcfg_adapter_file.go +++ b/os/gcfg/gcfg_adapter_file.go @@ -47,7 +47,7 @@ var ( } // Prefix array for trying searching in local system. - localSystemTryFolders = []string{"", "config/", "manifest/config"} + localSystemTryFolders = []string{"", "hack/", "config/", "manifest/config"} ) // NewAdapterFile returns a new configuration management object.