File tree 6 files changed +53
-21
lines changed
6 files changed +53
-21
lines changed Original file line number Diff line number Diff line change @@ -46,15 +46,15 @@ help: ## Display this help
46
46
# #@ Build
47
47
48
48
LD_FLAGS =-ldflags " \
49
- -X main .kubeBuilderVersion=$(shell git describe --tags --dirty --broken) \
50
- -X main .goos=$(shell go env GOOS) \
51
- -X main .goarch=$(shell go env GOARCH) \
52
- -X main .gitCommit=$(shell git rev-parse HEAD) \
53
- -X main .buildDate=$(shell date -u +'% Y-% m-% dT% H:% M:% SZ') \
49
+ -X sigs.k8s.io/kubebuilder/v4/cmd .kubeBuilderVersion=$(shell git describe --tags --dirty --broken) \
50
+ -X sigs.k8s.io/kubebuilder/v4/cmd .goos=$(shell go env GOOS) \
51
+ -X sigs.k8s.io/kubebuilder/v4/cmd .goarch=$(shell go env GOARCH) \
52
+ -X sigs.k8s.io/kubebuilder/v4/cmd .gitCommit=$(shell git rev-parse HEAD) \
53
+ -X sigs.k8s.io/kubebuilder/v4/cmd .buildDate=$(shell date -u +'% Y-% m-% dT% H:% M:% SZ') \
54
54
"
55
55
.PHONY : build
56
56
build : # # Build the project locally
57
- go build $(LD_FLAGS ) -o bin/kubebuilder ./cmd
57
+ go build $(LD_FLAGS ) -o bin/kubebuilder
58
58
59
59
.PHONY : install
60
60
install : build # # Build and install the binary with the current source code. Use it to test your changes locally.
Original file line number Diff line number Diff line change @@ -29,16 +29,15 @@ before:
29
29
# Build a binary for each target in targets.
30
30
builds :
31
31
- id : kubebuilder
32
- main : ./cmd
33
32
binary : kubebuilder
34
33
mod_timestamp : " {{ .CommitTimestamp }}"
35
34
ldflags :
36
- - -X main .kubeBuilderVersion={{ .Version }}
37
- - -X main .goos={{ .Os }}
38
- - -X main .goarch={{ .Arch }}
39
- - -X main .gitCommit={{ .Commit }}
40
- - -X main .buildDate={{ .Date }}
41
- - -X main .kubernetesVendorVersion={{ .Env.KUBERNETES_VERSION }}
35
+ - -X sigs.k8s.io/kubebuilder/v4/cmd .kubeBuilderVersion={{ .Version }}
36
+ - -X sigs.k8s.io/kubebuilder/v4/cmd .goos={{ .Os }}
37
+ - -X sigs.k8s.io/kubebuilder/v4/cmd .goarch={{ .Arch }}
38
+ - -X sigs.k8s.io/kubebuilder/v4/cmd .gitCommit={{ .Commit }}
39
+ - -X sigs.k8s.io/kubebuilder/v4/cmd .buildDate={{ .Date }}
40
+ - -X sigs.k8s.io/kubebuilder/v4/cmd .kubernetesVendorVersion={{ .Env.KUBERNETES_VERSION }}
42
41
targets :
43
42
- linux_amd64
44
43
- linux_arm64
Original file line number Diff line number Diff line change @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
14
14
limitations under the License.
15
15
*/
16
16
17
- package main
17
+ package cmd
18
18
19
19
import (
20
20
"github.com/sirupsen/logrus"
@@ -36,7 +36,8 @@ func init() {
36
36
logrus .SetFormatter (& logrus.TextFormatter {DisableTimestamp : true })
37
37
}
38
38
39
- func main () {
39
+ // Run bootstraps & runs the CLI
40
+ func Run () {
40
41
// Bundle plugin which built the golang projects scaffold with base.go/v4 and kustomize/v2 plugins
41
42
gov4Bundle , _ := plugin .NewBundleWithOptions (plugin .WithName (golang .DefaultNameQualifier ),
42
43
plugin .WithVersion (plugin.Version {Number : 4 }),
Original file line number Diff line number Diff line change @@ -14,19 +14,22 @@ See the License for the specific language governing permissions and
14
14
limitations under the License.
15
15
*/
16
16
17
- package main
17
+ package cmd
18
18
19
19
import (
20
20
"fmt"
21
+ "runtime/debug"
21
22
)
22
23
24
+ const unknown = "unknown"
25
+
23
26
// var needs to be used instead of const as ldflags is used to fill this
24
27
// information in the release process
25
28
var (
26
- kubeBuilderVersion = " unknown"
27
- kubernetesVendorVersion = " unknown"
28
- goos = " unknown"
29
- goarch = " unknown"
29
+ kubeBuilderVersion = unknown
30
+ kubernetesVendorVersion = unknown
31
+ goos = unknown
32
+ goarch = unknown
30
33
gitCommit = "$Format:%H$" // sha1 from git, output of $(git rev-parse HEAD)
31
34
32
35
buildDate = "1970-01-01T00:00:00Z" // build date in ISO8601 format, output of $(date -u +'%Y-%m-%dT%H:%M:%SZ')
@@ -44,6 +47,12 @@ type version struct {
44
47
45
48
// versionString returns the CLI version
46
49
func versionString () string {
50
+ if kubeBuilderVersion == unknown {
51
+ if info , ok := debug .ReadBuildInfo (); ok && info .Main .Version != "" {
52
+ kubeBuilderVersion = info .Main .Version
53
+ }
54
+ }
55
+
47
56
return fmt .Sprintf ("Version: %#v" , version {
48
57
kubeBuilderVersion ,
49
58
kubernetesVendorVersion ,
Original file line number Diff line number Diff line change
1
+ /*
2
+ Copyright 2020 The Kubernetes Authors.
3
+
4
+ Licensed under the Apache License, Version 2.0 (the "License");
5
+ you may not use this file except in compliance with the License.
6
+ You may obtain a copy of the License at
7
+
8
+ http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software
11
+ distributed under the License is distributed on an "AS IS" BASIS,
12
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ See the License for the specific language governing permissions and
14
+ limitations under the License.
15
+ */
16
+
17
+ package main
18
+
19
+ import "sigs.k8s.io/kubebuilder/v4/cmd"
20
+
21
+ func main () {
22
+ cmd .Run ()
23
+ }
Original file line number Diff line number Diff line change @@ -109,7 +109,7 @@ SKIP_FETCH_TOOLS=${SKIP_FETCH_TOOLS:-""}
109
109
function build_kb {
110
110
header_text " Building kubebuilder"
111
111
112
- go build -o " ${kb_root_dir} /bin/kubebuilder" ./cmd
112
+ go build -o " ${kb_root_dir} /bin/kubebuilder"
113
113
kb=" ${kb_root_dir} /bin/kubebuilder"
114
114
}
115
115
You can’t perform that action at this time.
0 commit comments