Skip to content

Commit 4e7ec4b

Browse files
committed
Group and order imports
Kubebuilder files are grouped by std/non-k8s/k8s while scaffolded files are grouped by std/external/internal Signed-off-by: Adrian Orive <[email protected]>
1 parent cf6cec4 commit 4e7ec4b

File tree

65 files changed

+111
-107
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+111
-107
lines changed

cmd/go_version_test.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ limitations under the License.
1616

1717
package main
1818

19-
import "testing"
19+
import (
20+
"testing"
21+
)
2022

2123
func TestCheckGoVersion(t *testing.T) {
2224

cmd/vendor_update.go

+1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import (
2020
"log"
2121

2222
"github.com/spf13/cobra"
23+
2324
"sigs.k8s.io/kubebuilder/pkg/model"
2425
"sigs.k8s.io/kubebuilder/pkg/scaffold"
2526
"sigs.k8s.io/kubebuilder/pkg/scaffold/input"

docs/book/src/cronjob-tutorial/testdata/emptycontroller.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ package controllers
2323

2424
import (
2525
"context"
26-
"k8s.io/apimachinery/pkg/runtime"
2726

2827
"github.com/go-logr/logr"
28+
"k8s.io/apimachinery/pkg/runtime"
2929
ctrl "sigs.k8s.io/controller-runtime"
3030
"sigs.k8s.io/controller-runtime/pkg/client"
3131

docs/book/src/cronjob-tutorial/testdata/emptymain.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@ import (
2929
"flag"
3030
"fmt"
3131
"os"
32-
"sigs.k8s.io/controller-runtime/pkg/cache"
3332

3433
"k8s.io/apimachinery/pkg/runtime"
3534
_ "k8s.io/client-go/plugin/pkg/client/auth/gcp"
3635
ctrl "sigs.k8s.io/controller-runtime"
36+
"sigs.k8s.io/controller-runtime/pkg/cache"
3737
"sigs.k8s.io/controller-runtime/pkg/log/zap"
3838
// +kubebuilder:scaffold:imports
3939
)

docs/book/src/cronjob-tutorial/testdata/project/api/v1/cronjob_webhook.go

-2
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,11 @@ package v1
1818

1919
import (
2020
"github.com/robfig/cron"
21-
2221
apierrors "k8s.io/apimachinery/pkg/api/errors"
2322
"k8s.io/apimachinery/pkg/runtime"
2423
"k8s.io/apimachinery/pkg/runtime/schema"
2524
validationutils "k8s.io/apimachinery/pkg/util/validation"
2625
"k8s.io/apimachinery/pkg/util/validation/field"
27-
2826
ctrl "sigs.k8s.io/controller-runtime"
2927
logf "sigs.k8s.io/controller-runtime/pkg/runtime/log"
3028
"sigs.k8s.io/controller-runtime/pkg/webhook"

docs/book/src/cronjob-tutorial/testdata/project/main.go

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import (
2525
_ "k8s.io/client-go/plugin/pkg/client/auth/gcp"
2626
ctrl "sigs.k8s.io/controller-runtime"
2727
"sigs.k8s.io/controller-runtime/pkg/log/zap"
28+
2829
batchv1 "tutorial.kubebuilder.io/project/api/v1"
2930
"tutorial.kubebuilder.io/project/controllers"
3031
// +kubebuilder:scaffold:imports

docs/book/src/migration/testdata/gopath/project-v1/cmd/manager/main.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ import (
2020
"flag"
2121
"os"
2222

23-
"project/pkg/apis"
24-
"project/pkg/controller"
25-
"project/pkg/webhook"
26-
2723
_ "k8s.io/client-go/plugin/pkg/client/auth/gcp"
2824
"sigs.k8s.io/controller-runtime/pkg/client/config"
2925
"sigs.k8s.io/controller-runtime/pkg/manager"
3026
logf "sigs.k8s.io/controller-runtime/pkg/runtime/log"
3127
"sigs.k8s.io/controller-runtime/pkg/runtime/signals"
28+
29+
"project/pkg/apis"
30+
"project/pkg/controller"
31+
"project/pkg/webhook"
3232
)
3333

3434
func main() {

docs/book/src/migration/testdata/gopath/project-v1/pkg/controller/cronjob/cronjob_controller.go

+2-3
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,6 @@ import (
2323
"time"
2424

2525
"github.com/robfig/cron"
26-
27-
batchv1 "project/pkg/apis/batch/v1"
28-
2926
kbatch "k8s.io/api/batch/v1"
3027
corev1 "k8s.io/api/core/v1"
3128
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
@@ -37,6 +34,8 @@ import (
3734
"sigs.k8s.io/controller-runtime/pkg/manager"
3835
"sigs.k8s.io/controller-runtime/pkg/reconcile"
3936
logf "sigs.k8s.io/controller-runtime/pkg/runtime/log"
37+
38+
batchv1 "project/pkg/apis/batch/v1"
4039
)
4140

4241
var log = logf.Log.WithName("controller")

docs/book/src/migration/testdata/gopath/project-v1/pkg/controller/cronjob/cronjob_controller_suite_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ import (
2323
"sync"
2424
"testing"
2525

26-
"project/pkg/apis"
27-
2826
"github.com/onsi/gomega"
2927
"k8s.io/client-go/kubernetes/scheme"
3028
"k8s.io/client-go/rest"
3129
"sigs.k8s.io/controller-runtime/pkg/envtest"
3230
"sigs.k8s.io/controller-runtime/pkg/manager"
3331
"sigs.k8s.io/controller-runtime/pkg/reconcile"
32+
33+
"project/pkg/apis"
3434
)
3535

3636
var cfg *rest.Config

docs/book/src/migration/testdata/gopath/project-v1/pkg/webhook/default_server/cronjob/mutating/create_update_webhook.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ limitations under the License.
1717
package mutating
1818

1919
import (
20-
batchv1 "project/pkg/apis/batch/v1"
21-
2220
admissionregistrationv1beta1 "k8s.io/api/admissionregistration/v1beta1"
2321
"sigs.k8s.io/controller-runtime/pkg/webhook/admission/builder"
22+
23+
batchv1 "project/pkg/apis/batch/v1"
2424
)
2525

2626
func init() {

docs/book/src/migration/testdata/gopath/project-v1/pkg/webhook/default_server/cronjob/mutating/cronjob_create_update_handler.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ import (
2020
"context"
2121
"net/http"
2222

23-
batchv1 "project/pkg/apis/batch/v1"
24-
2523
"sigs.k8s.io/controller-runtime/pkg/runtime/inject"
2624
"sigs.k8s.io/controller-runtime/pkg/webhook/admission"
2725
"sigs.k8s.io/controller-runtime/pkg/webhook/admission/types"
26+
27+
batchv1 "project/pkg/apis/batch/v1"
2828
)
2929

3030
func init() {

docs/book/src/migration/testdata/gopath/project-v1/pkg/webhook/default_server/cronjob/validating/create_webhook.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ limitations under the License.
1717
package validating
1818

1919
import (
20-
batchv1 "project/pkg/apis/batch/v1"
21-
2220
admissionregistrationv1beta1 "k8s.io/api/admissionregistration/v1beta1"
2321
"sigs.k8s.io/controller-runtime/pkg/webhook/admission/builder"
22+
23+
batchv1 "project/pkg/apis/batch/v1"
2424
)
2525

2626
func init() {

docs/book/src/migration/testdata/gopath/project-v1/pkg/webhook/default_server/cronjob/validating/cronjob_create_handler.go

+2-3
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,15 @@ import (
2121
"net/http"
2222

2323
"github.com/robfig/cron"
24-
25-
batchv1 "project/pkg/apis/batch/v1"
26-
2724
apierrors "k8s.io/apimachinery/pkg/api/errors"
2825
"k8s.io/apimachinery/pkg/runtime/schema"
2926
validationutils "k8s.io/apimachinery/pkg/util/validation"
3027
"k8s.io/apimachinery/pkg/util/validation/field"
3128
"sigs.k8s.io/controller-runtime/pkg/runtime/inject"
3229
"sigs.k8s.io/controller-runtime/pkg/webhook/admission"
3330
"sigs.k8s.io/controller-runtime/pkg/webhook/admission/types"
31+
32+
batchv1 "project/pkg/apis/batch/v1"
3433
)
3534

3635
func init() {

docs/book/src/migration/testdata/gopath/project-v1/pkg/webhook/default_server/cronjob/validating/cronjob_update_handler.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@ import (
2020
"context"
2121
"net/http"
2222

23-
batchv1 "project/pkg/apis/batch/v1"
24-
2523
"sigs.k8s.io/controller-runtime/pkg/runtime/inject"
2624
"sigs.k8s.io/controller-runtime/pkg/webhook/admission"
2725
"sigs.k8s.io/controller-runtime/pkg/webhook/admission/types"
26+
27+
batchv1 "project/pkg/apis/batch/v1"
2828
)
2929

3030
func init() {

docs/book/src/migration/testdata/gopath/project-v1/pkg/webhook/default_server/cronjob/validating/update_webhook.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ limitations under the License.
1717
package validating
1818

1919
import (
20-
batchv1 "project/pkg/apis/batch/v1"
21-
2220
admissionregistrationv1beta1 "k8s.io/api/admissionregistration/v1beta1"
2321
"sigs.k8s.io/controller-runtime/pkg/webhook/admission/builder"
22+
23+
batchv1 "project/pkg/apis/batch/v1"
2424
)
2525

2626
func init() {

docs/book/src/multiversion-tutorial/testdata/project/api/v1/cronjob_webhook.go

-2
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,11 @@ package v1
1818

1919
import (
2020
"github.com/robfig/cron"
21-
2221
apierrors "k8s.io/apimachinery/pkg/api/errors"
2322
"k8s.io/apimachinery/pkg/runtime"
2423
"k8s.io/apimachinery/pkg/runtime/schema"
2524
validationutils "k8s.io/apimachinery/pkg/util/validation"
2625
"k8s.io/apimachinery/pkg/util/validation/field"
27-
2826
ctrl "sigs.k8s.io/controller-runtime"
2927
logf "sigs.k8s.io/controller-runtime/pkg/runtime/log"
3028
"sigs.k8s.io/controller-runtime/pkg/webhook"

docs/book/src/multiversion-tutorial/testdata/project/main.go

+1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import (
2626
_ "k8s.io/client-go/plugin/pkg/client/auth/gcp"
2727
ctrl "sigs.k8s.io/controller-runtime"
2828
"sigs.k8s.io/controller-runtime/pkg/log/zap"
29+
2930
batchv1 "tutorial.kubebuilder.io/project/api/v1"
3031
batchv2 "tutorial.kubebuilder.io/project/api/v2"
3132
"tutorial.kubebuilder.io/project/controllers"

pkg/scaffold/project/project_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import (
1111

1212
. "github.com/onsi/ginkgo"
1313
. "github.com/onsi/gomega"
14+
1415
"sigs.k8s.io/kubebuilder/pkg/model"
1516
"sigs.k8s.io/kubebuilder/pkg/scaffold"
1617
"sigs.k8s.io/kubebuilder/pkg/scaffold/input"

pkg/scaffold/scaffold.go

+13-1
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,20 @@ import (
2828
"text/template"
2929

3030
"golang.org/x/tools/imports"
31+
3132
"sigs.k8s.io/kubebuilder/pkg/model"
3233
"sigs.k8s.io/kubebuilder/pkg/scaffold/input"
3334
"sigs.k8s.io/kubebuilder/pkg/scaffold/project"
3435
"sigs.k8s.io/yaml"
3536
)
3637

38+
var options = imports.Options{
39+
Comments: true,
40+
TabIndent: true,
41+
TabWidth: 8,
42+
FormatOnly: true,
43+
}
44+
3745
// Scaffold writes Templates to scaffold new files
3846
type Scaffold struct {
3947
// BoilerplatePath is the path to the boilerplate file
@@ -181,6 +189,10 @@ func (s *Scaffold) Execute(u *model.Universe, options input.Options, files ...in
181189
if err := s.defaultOptions(&options); err != nil {
182190
return err
183191
}
192+
193+
// Set the repo as the local prefix so that it knows how to group imports
194+
imports.LocalPrefix = s.Project.Repo
195+
184196
for _, f := range files {
185197
m, err := s.buildFileModel(f)
186198
if err != nil {
@@ -289,7 +301,7 @@ func (s *Scaffold) doTemplate(i input.Input, e input.File) ([]byte, error) {
289301

290302
// gofmt the imports
291303
if filepath.Ext(i.Path) == ".go" {
292-
b, err = imports.Process(i.Path, b, nil)
304+
b, err = imports.Process(i.Path, b, &options)
293305
if err != nil {
294306
fmt.Printf("%s\n", out.Bytes())
295307
return nil, err

pkg/scaffold/v1/controller/controller.go

+2-4
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import (
2424
"strings"
2525

2626
"github.com/gobuffalo/flect"
27+
2728
"sigs.k8s.io/kubebuilder/pkg/scaffold/input"
2829
"sigs.k8s.io/kubebuilder/pkg/scaffold/resource"
2930
)
@@ -103,14 +104,11 @@ package {{ lower .Resource.Kind }}
103104
104105
import (
105106
{{ if .Resource.CreateExampleReconcileBody }} "context"
106-
"log"
107107
"reflect"
108-
109108
appsv1 "k8s.io/api/apps/v1"
110109
corev1 "k8s.io/api/core/v1"
111110
"k8s.io/apimachinery/pkg/api/errors"
112111
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
113-
"k8s.io/apimachinery/pkg/runtime/schema"
114112
"k8s.io/apimachinery/pkg/runtime"
115113
"k8s.io/apimachinery/pkg/types"
116114
"sigs.k8s.io/controller-runtime/pkg/client"
@@ -126,9 +124,9 @@ import (
126124
127125
var log = logf.Log.WithName("{{ lower .Resource.Kind }}-controller")
128126
{{ else }} "context"
129-
130127
appsv1 "k8s.io/api/apps/v1"
131128
"k8s.io/apimachinery/pkg/api/errors"
129+
"k8s.io/apimachinery/pkg/runtime"
132130
"sigs.k8s.io/controller-runtime/pkg/client"
133131
"sigs.k8s.io/controller-runtime/pkg/controller"
134132
"sigs.k8s.io/controller-runtime/pkg/handler"

pkg/scaffold/v1/controller/controllersuitetest.go

-1
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ import (
5252
"path/filepath"
5353
"sync"
5454
"testing"
55-
5655
"github.com/onsi/gomega"
5756
"k8s.io/client-go/kubernetes/scheme"
5857
"k8s.io/client-go/rest"

pkg/scaffold/v1/controller/controllertest.go

-1
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ package {{ lower .Resource.Kind }}
7373
import (
7474
"testing"
7575
"time"
76-
7776
"github.com/onsi/gomega"
7877
"golang.org/x/net/context"
7978
{{ if .Resource.CreateExampleReconcileBody -}}

pkg/scaffold/v1/crd/typestest.go

-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@ package {{ .Resource.Version }}
5757
5858
import (
5959
"testing"
60-
6160
"github.com/onsi/gomega"
6261
"golang.org/x/net/context"
6362
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

pkg/scaffold/v1/crd/version_suitetest.go

-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ import (
5858
"os"
5959
"path/filepath"
6060
"testing"
61-
6261
"k8s.io/client-go/kubernetes/scheme"
6362
"k8s.io/client-go/rest"
6463
"sigs.k8s.io/controller-runtime/pkg/client"

pkg/scaffold/v1/manager/cmd.go

-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ package main
4545
import (
4646
"flag"
4747
"os"
48-
4948
_ "k8s.io/client-go/plugin/pkg/client/auth/gcp"
5049
"sigs.k8s.io/controller-runtime/pkg/client/config"
5150
"sigs.k8s.io/controller-runtime/pkg/manager"

pkg/scaffold/v1/manager/manager_test.go

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66

77
. "github.com/onsi/ginkgo"
88
. "github.com/onsi/gomega"
9+
910
"sigs.k8s.io/kubebuilder/pkg/model"
1011
"sigs.k8s.io/kubebuilder/pkg/scaffold/input"
1112
"sigs.k8s.io/kubebuilder/pkg/scaffold/scaffoldtest"

pkg/scaffold/v1/webhook/add_admissionbuilder_handler.go

-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ package {{ .Server }}server
5555
5656
import (
5757
"fmt"
58-
5958
"{{ .Repo }}/pkg/webhook/{{ .Server }}_server/{{ lower .Resource.Kind }}/{{ .Type }}"
6059
)
6160

pkg/scaffold/v1/webhook/admissionbuilder.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,9 @@ const admissionWebhookBuilderTemplate = `{{ .Boilerplate }}
7777
package {{ .Type }}
7878
7979
import (
80-
{{ .Resource.Group}}{{ .Resource.Version }} "{{ .ResourcePackage }}/{{ .Resource.Group}}/{{ .Resource.Version }}"
8180
admissionregistrationv1beta1 "k8s.io/api/admissionregistration/v1beta1"
8281
"sigs.k8s.io/controller-runtime/pkg/webhook/admission/builder"
82+
{{ .Resource.Group}}{{ .Resource.Version }} "{{ .ResourcePackage }}/{{ .Resource.Group}}/{{ .Resource.Version }}"
8383
)
8484
8585
func init() {

pkg/scaffold/v1/webhook/admissionhandler.go

+1-3
Original file line numberDiff line numberDiff line change
@@ -78,12 +78,10 @@ package {{ .Type }}
7878
import (
7979
"context"
8080
"net/http"
81-
82-
{{ .Resource.Group}}{{ .Resource.Version }} "{{ .ResourcePackage }}/{{ .Resource.Group}}/{{ .Resource.Version }}"
83-
"sigs.k8s.io/controller-runtime/pkg/client"
8481
"sigs.k8s.io/controller-runtime/pkg/runtime/inject"
8582
"sigs.k8s.io/controller-runtime/pkg/webhook/admission"
8683
"sigs.k8s.io/controller-runtime/pkg/webhook/admission/types"
84+
{{ .Resource.Group}}{{ .Resource.Version }} "{{ .ResourcePackage }}/{{ .Resource.Group}}/{{ .Resource.Version }}"
8785
)
8886
8987
func init() {

0 commit comments

Comments
 (0)