diff --git a/cmd/preferredimports/preferredimports.go b/cmd/preferredimports/preferredimports.go index 0213bd7e72e..5397ab6e17e 100644 --- a/cmd/preferredimports/preferredimports.go +++ b/cmd/preferredimports/preferredimports.go @@ -43,7 +43,7 @@ var ( regex = flag.String("include-path", "(test/e2e/|test/e2e_node)", "only files with paths matching this regex is touched") isTerminal = term.IsTerminal(int(os.Stdout.Fd())) logPrefix = "" - aliases map[string]string + aliases = map[*regexp.Regexp]string{} ) type analyzer struct { @@ -95,7 +95,17 @@ func (a *analyzer) collect(dir string) { if imp.Name != nil { importName = imp.Name.Name } - if alias, ok := aliases[importPath]; ok { + for re, template := range aliases { + match := re.FindStringSubmatchIndex(importPath) + if match == nil { + // No match. + continue + } + if match[0] > 0 || match[1] < len(importPath) { + // Not a full match. + continue + } + alias := string(re.ExpandString(nil, template, importPath, match)) if alias != importName { if !*confirm { fmt.Fprintf(os.Stderr, "%sERROR wrong alias for import \"%s\" should be %s in file %s\n", logPrefix, importPath, alias, pathToFile) @@ -108,6 +118,7 @@ func (a *analyzer) collect(dir string) { imp.Name = ast.NewIdent(alias) } } + break } } @@ -238,10 +249,18 @@ func main() { if err != nil { log.Fatalf("Error reading import aliases: %v", err) } - err = json.Unmarshal(bytes, &aliases) + var stringAliases map[string]string + err = json.Unmarshal(bytes, &stringAliases) if err != nil { log.Fatalf("Error loading aliases: %v", err) } + for pattern, name := range stringAliases { + re, err := regexp.Compile(pattern) + if err != nil { + log.Fatalf("Error parsing import path pattern %q as regular expression: %v", pattern, err) + } + aliases[re] = name + } } if isTerminal { logPrefix = "\r" // clear status bar when printing diff --git a/hack/.import-aliases b/hack/.import-aliases index ea5bbde09b0..8dfdba37eb7 100644 --- a/hack/.import-aliases +++ b/hack/.import-aliases @@ -55,34 +55,5 @@ "k8s.io/kubernetes/pkg/proxy/apis/config/v1alpha1": "proxyconfigv1alpha1", "k8s.io/kubernetes/pkg/scheduler/apis/config/v1beta1": "schedulerconfigv1beta1", "k8s.io/kubernetes/pkg/scheduler/apis/config/v1beta2": "schedulerconfigv1beta2", - "k8s.io/kubernetes/test/e2e/framework/auth": "e2eauth", - "k8s.io/kubernetes/test/e2e/framework/autoscaling": "e2eautoscaling", - "k8s.io/kubernetes/test/e2e/framework/config": "e2econfig", - "k8s.io/kubernetes/test/e2e/framework/deployment": "e2edeployment", - "k8s.io/kubernetes/test/e2e/framework/endpoints": "e2eendpoints", - "k8s.io/kubernetes/test/e2e/framework/events": "e2eevents", - "k8s.io/kubernetes/test/e2e/framework/ginkgowrapper": "e2eginkgowrapper", - "k8s.io/kubernetes/test/e2e/framework/gpu": "e2egpu", - "k8s.io/kubernetes/test/e2e/framework/ingress": "e2eingress", - "k8s.io/kubernetes/test/e2e/framework/job": "e2ejob", - "k8s.io/kubernetes/test/e2e/framework/kubectl": "e2ekubectl", - "k8s.io/kubernetes/test/e2e/framework/kubelet": "e2ekubelet", - "k8s.io/kubernetes/test/e2e/framework/log": "e2elog", - "k8s.io/kubernetes/test/e2e/framework/metrics": "e2emetrics", - "k8s.io/kubernetes/test/e2e/framework/network": "e2enetwork", - "k8s.io/kubernetes/test/e2e/framework/node": "e2enode", - "k8s.io/kubernetes/test/e2e/framework/perf": "e2eperf", - "k8s.io/kubernetes/test/e2e/framework/pod": "e2epod", - "k8s.io/kubernetes/test/e2e/framework/pv": "e2epv", - "k8s.io/kubernetes/test/e2e/framework/rc": "e2erc", - "k8s.io/kubernetes/test/e2e/framework/replicaset": "e2ereplicaset", - "k8s.io/kubernetes/test/e2e/framework/resource": "e2eresource", - "k8s.io/kubernetes/test/e2e/framework/security": "e2esecurity", - "k8s.io/kubernetes/test/e2e/framework/service": "e2eservice", - "k8s.io/kubernetes/test/e2e/framework/skipper": "e2eskipper", - "k8s.io/kubernetes/test/e2e/framework/ssh": "e2essh", - "k8s.io/kubernetes/test/e2e/framework/statefulset": "e2estatefulset", - "k8s.io/kubernetes/test/e2e/framework/testfiles": "e2etestfiles", - "k8s.io/kubernetes/test/e2e/framework/timer": "e2etimer", - "k8s.io/kubernetes/test/e2e/framework/volume": "e2evolume" + "k8s.io/kubernetes/test/e2e/framework/([^/]*)": "e2e$1" } diff --git a/test/e2e/windows/device_plugin.go b/test/e2e/windows/device_plugin.go index 974afd537fc..bc6805168e3 100644 --- a/test/e2e/windows/device_plugin.go +++ b/test/e2e/windows/device_plugin.go @@ -25,7 +25,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" clientset "k8s.io/client-go/kubernetes" "k8s.io/kubernetes/test/e2e/framework" - "k8s.io/kubernetes/test/e2e/framework/daemonset" + e2edaemonset "k8s.io/kubernetes/test/e2e/framework/daemonset" e2epod "k8s.io/kubernetes/test/e2e/framework/pod" e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" imageutils "k8s.io/kubernetes/test/utils/image" @@ -75,7 +75,7 @@ var _ = SIGDescribe("[Feature:GPUDevicePlugin] Device Plugin", func() { MountPath: mountPath, }, } - ds := daemonset.NewDaemonSet(dsName, image, labels, volumes, mounts, nil) + ds := e2edaemonset.NewDaemonSet(dsName, image, labels, volumes, mounts, nil) ds.Spec.Template.Spec.PriorityClassName = "system-node-critical" ds.Spec.Template.Spec.Tolerations = []v1.Toleration{ {