@@ -5,11 +5,13 @@ import "regexp"
5
5
type vanityParser func (string , string ) * Tuple
6
6
7
7
var vanity = map [string ]vanityParser {
8
- "go.mozilla.org" : goMozillaOrgParser ,
9
- "go.uber.org" : goUberOrgParser ,
10
- "golang.org" : golangOrgParser ,
11
- "gopkg.in" : gopkgInParser ,
12
- "k8s.io" : k8sIoParser ,
8
+ "code.cloudfoundry.org" : codeCloudfoundryOrgParser ,
9
+ "go.etcd.io" : goEtcdIoParser ,
10
+ "go.mozilla.org" : goMozillaOrgParser ,
11
+ "go.uber.org" : goUberOrgParser ,
12
+ "golang.org" : golangOrgParser ,
13
+ "gopkg.in" : gopkgInParser ,
14
+ "k8s.io" : k8sIoParser ,
13
15
}
14
16
15
17
func tryVanity (pkg , packagePrefix string ) (* Tuple , error ) {
@@ -21,6 +23,34 @@ func tryVanity(pkg, packagePrefix string) (*Tuple, error) {
21
23
return nil , nil
22
24
}
23
25
26
+ // code.cloudfoundry.org/gofileutils -> github.com/cloudfoundry/gofileutils
27
+ var codeCloudfoundryOrgRe = regexp .MustCompile (`\Acode\.cloudfoundry\.org/([0-9A-Za-z][-0-9A-Za-z]+)\z` )
28
+
29
+ func codeCloudfoundryOrgParser (pkg , packagePrefix string ) * Tuple {
30
+ if ! codeCloudfoundryOrgRe .MatchString (pkg ) {
31
+ return nil
32
+ }
33
+ sm := codeCloudfoundryOrgRe .FindAllStringSubmatch (pkg , - 1 )
34
+ if len (sm ) == 0 {
35
+ return nil
36
+ }
37
+ return newTuple (GH {}, pkg , "cloudfoundry" , sm [0 ][1 ], packagePrefix )
38
+ }
39
+
40
+ // go.etcd.io/etcd -> github.com/etcd-io/etcd
41
+ var goEtcdIoRe = regexp .MustCompile (`\Ago\.etcd\.io/([0-9A-Za-z][-0-9A-Za-z]+)\z` )
42
+
43
+ func goEtcdIoParser (pkg , packagePrefix string ) * Tuple {
44
+ if ! goEtcdIoRe .MatchString (pkg ) {
45
+ return nil
46
+ }
47
+ sm := goEtcdIoRe .FindAllStringSubmatch (pkg , - 1 )
48
+ if len (sm ) == 0 {
49
+ return nil
50
+ }
51
+ return newTuple (GH {}, pkg , "etcd-io" , sm [0 ][1 ], packagePrefix )
52
+ }
53
+
24
54
// go.mozilla.org/gopgagent -> github.com/mozilla-services/gopgagent
25
55
var goMozillaOrgRe = regexp .MustCompile (`\Ago\.mozilla\.org/([0-9A-Za-z][-0-9A-Za-z]+)\z` )
26
56
0 commit comments