Skip to content
This repository was archived by the owner on Mar 15, 2025. It is now read-only.

Commit 0720c3f

Browse files
committed
fix handling multiple dot imports in aliaser
1 parent a9f4aa6 commit 0720c3f

7 files changed

Lines changed: 486 additions & 1 deletion

File tree

pkg/gimps/aliaser.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,10 @@ func (a *Aliaser) RewriteFile(file *ast.File, filePath string, imports map[strin
154154
values = map[string]string{}
155155
for _, metadata := range imports {
156156
effectiveName := metadata.Alias
157+
if effectiveName == "." {
158+
continue
159+
}
160+
157161
if effectiveName == "" {
158162
effectiveName, _ = a.deps.GetPackageName(filePath, buildTags, metadata.Package)
159163
}

pkg/gimps/testdata/aliases-conflict-alias/config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@ aliasRules:
55
- name: b-to-a
66
expr: 'log'
77
alias: 'a'
8-
expectedExecuteError: 'failed to rewrite import aliases: two or more packages (at least "a" and "b") would be aliased to "a"'
8+
expectedExecuteError: 'failed to rewrite import aliases: two or more packages (at least "fmt" and "log") would be aliased to "a"'
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
aliasRules:
2+
- name: test
3+
expr: 'k8s.io/api/([a-z0-9-]+)/(v[a-z0-9-]+)'
4+
alias: '$1$2'
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
module go.xrstf.de/gimps/test
2+
3+
go 1.16
4+
5+
require (
6+
github.com/onsi/ginkgo v1.11.0
7+
github.com/onsi/gomega v1.7.0
8+
k8s.io/api v0.21.0
9+
k8s.io/client-go v0.21.0
10+
)

pkg/gimps/testdata/aliases-dot-imports/go.sum

Lines changed: 428 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package main
2+
3+
import (
4+
"fmt"
5+
"log"
6+
7+
. "github.com/onsi/ginkgo"
8+
. "github.com/onsi/gomega"
9+
corev1 "k8s.io/api/core/v1"
10+
networkingv1beta1 "k8s.io/api/networking/v1beta1"
11+
)
12+
13+
func main() {
14+
Describe("test", func() {
15+
fmt.Println(corev1.ConfigMap{})
16+
fmt.Println(networkingv1beta1.HTTPIngressPath{})
17+
log.Println("foo")
18+
Expect(true).To(BeTrue())
19+
})
20+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package main
2+
3+
import (
4+
"fmt"
5+
. "github.com/onsi/ginkgo"
6+
. "github.com/onsi/gomega"
7+
"k8s.io/api/core/v1"
8+
"k8s.io/api/networking/v1beta1"
9+
"log"
10+
)
11+
12+
func main() {
13+
Describe("test", func() {
14+
fmt.Println(v1.ConfigMap{})
15+
fmt.Println(v1beta1.HTTPIngressPath{})
16+
log.Println("foo")
17+
Expect(true).To(BeTrue())
18+
})
19+
}

0 commit comments

Comments
 (0)