This allows the build commands in Makefile and tools/buildall.sh to be
simplified.
Official reproducible builds are now handled as a build variant, and the command
in Makefile no longer tries to produce reproducible builds.
Instructions in PACKAGING.md have been completely rewritten.
This was extracted from https://github.com/elves/elvish/pull/1326. It
augments that change by honoring $E:PATHEXT and some other
minor improvements. This matches the behavior of the Go stdlib
os/exec.LookPath() function that is used to decide if what has been typed
(in a non-completion context) represents an external command.
- Use explict ./ for consistency when invoking the script
- Rename script to "prune-cover.sh"
- Build ignore pattern in temporary file, and use grep -f to read it
- Use grep -F for correctness (path can contain dots)
- Add comment in .codecov.yml
Running `make cover` includes code in its report that is explicitly
excluded from the https://codecov.io/gh/elves/elvish/ report. This change
causes both reports to include/exclude the same source files.
This makes the output of "make test" cleaner, and only show the command that
was actually run (instead of a shell if statement).
Also use the race detector on more supported platforms.
The mechanism is now documented in PACKAGING.md.
Also refactor tools/buildall.sh to make it easy to make reproducible builds, and
fix tools/cirrus-deploy.sh.
Now that the module path is "src.elv.sh", doing a "go get" will install the
Elvish binary as "src.elv.sh"; this is not what we want, so move the main
package into a package called "elvish".
Also update "go get" and "go build" commands accordingly.