From 1249271eb384efa2377bcb34d48a250d024fe30c Mon Sep 17 00:00:00 2001 From: Gary Burd Date: Tue, 25 Nov 2014 16:40:37 -0800 Subject: [PATCH] Add support for the go-source meta tag. See https://github.com/golang/gddo/pull/212 for the corresponding change to godoc.org. --- main.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/main.go b/main.go index a5a642c..50c5760 100644 --- a/main.go +++ b/main.go @@ -58,6 +58,7 @@ var gogetTemplate = template.Must(template.New("").Parse(` +{{$root := .GitHubRoot}}{{$version := .FullVersion}} go get {{.GopkgPath}} @@ -115,6 +116,21 @@ func (repo *Repo) GopkgVersionRoot(version Version) string { } } +// FullVersion returns the latest version as a string or "master" if no match +// is found for the master version. +func (repo *Repo) FullVersion() string { + latestVersion := InvalidVersion + for _, v := range repo.AllVersions { + if v.Major == repo.MajorVersion.Major && latestVersion.Less(v) { + latestVersion = v + } + } + if latestVersion == InvalidVersion { + return "master" + } + return latestVersion.String() +} + var patternOld = regexp.MustCompile(`^/(?:([a-z0-9][-a-z0-9]+)/)?((?:v0|v[1-9][0-9]*)(?:\.0|\.[1-9][0-9]*){0,2})/([a-zA-Z][-a-zA-Z0-9]*)(?:\.git)?((?:/[a-zA-Z][-a-zA-Z0-9]*)*)$`) var patternNew = regexp.MustCompile(`^/(?:([a-zA-Z0-9][-a-zA-Z0-9]+)/)?([a-zA-Z][-.a-zA-Z0-9]*)\.((?:v0|v[1-9][0-9]*)(?:\.0|\.[1-9][0-9]*){0,2})(?:\.git)?((?:/[a-zA-Z0-9][-.a-zA-Z0-9]*)*)$`)