Go modules are great. URL-based imports, generally, are great. One of the things that makes them so great is that putting them on your own domain provides a good way of verifying ownership without going through a third party or a complicated review process. Plus, it looks cool.
So, how exactly does one accomplish such a thing? Well, it's buried in the documentation, but it's really pretty simple. For each import path (e.g. mysite.com/mypackage
), just put a page on your website with a go-import
meta tag:
<meta name="go-import" content="mysite.com/mypackage git https://ultragreatgithost.com/me/mypackage">
(git
can be replaced with bzr
, fossil
, hg
, or svn
for different VCSs — see the docs page linked above.)
This website, for instance, builds these pages from a hash in build.rb
:
def go_modules = {
"farthergate.com/stack" => "https://git.farthergate.com/aleks/stack",
# ...
}
See farthergate.com/stack for the generated page. Look in the web inspector for the meta
tag!