I’m a go n00b, but since the source code is available, I figured I’d look. TL;DR: it probably uses the shell’s default globbing resolution to produce the file list.
The generate command iterates over the internal files, but I can’t find exactly how GoFiles is populated.
You can probably learn what it’s doing by running go generate -n
or go generate -x
, and I think you can also explicitly call go generate
with a file pattern list, which would give you this control.
Otherwise, I think you can include more than one magic comment in a single file, so if you have some dependant generators, these could be placed in the same file, sequentially, and you’d get the expected result.
Another alternative would be to try renaming the relevant files so that they sort the way you want them to run, lexicographically.
Considering the implications of relying on an external company as the registry, I don’t think custom domains are really “vanity” as much as reserving agency to move the code if it becomes necessary. I’m perfectly happy with GitHub, but would rather my modules didn’t break if they implement a policy change at some future date. I also don’t like the implication that “GitHub owns” my repo due to the import path stuff.
That being said, I wonder if this same thing could be achieved with a simple reverse proxy/CDN with a few rewrite rules? Ideally, the only cost to a typical maintainer would be the domain name, and the rest could be hosted on free infrastructure (cloudflare would seem like a reasonable choice).