cljgo 0.8.5
Changelog
- cfb9ddf: feat(cljg.process): :exit-code — the half of #173 that shipping :alive? left open (@muthuishere)
- a186f25: fix(build):
build.cljbelongs to tools.build, not to cljgo — ADR 0117, #176 (@muthuishere) - 146a07c: fix(build): name the build file when it defines no build fn — G5025, #178 (@muthuishere)
- 56da5a3: fix(corelib): defPrivate was a lie — it aliased the public definer, and had to (@muthuishere)
- 873a344: fix(version): a
go install …@vX.Y.Zbinary is a release — ADR 0116 (@muthuishere) - 450c961: release: prepare v0.8.5 (@muthuishere)
- 828c212: test(bri): assert subprocess output arrives complete and promptly (@muthuishere)
Install
go install github.com/muthuishere/cljgo/cmd/cljgo@v0.8.5Or download a binary above and put it on your PATH.
cljgo repl, cljgo run and Go interop work from the binary alone, with
no Go toolchain installed. cljgo build additionally needs the Go
toolchain — it emits Go and calls go build. It does NOT need a checkout
of this repo: a release binary pins the published module in the generated
go.mod and never writes a replace (ADR 0028), so binary + Go toolchain
is the whole story.
CLJGO_SRC is now only for pointing a build at a LOCAL cljgo tree on
purpose — developing cljgo itself, or testing an unreleased change.
Correction, added after publishing. The paragraph above originally said
cljgo buildneeds a checkout of this repo andCLJGO_SRC. That was
boilerplate injected into every release body from.goreleaser.yaml, and on
THIS release it stated the exact opposite of the headline fix — v0.8.5 is
the release that makes ago installed binary work standalone (#177,
ADR 0116). Caught by the toolnexus Clojure port, which read the notes,
found them contradicting the changelog, and asked before testing rather
than assuming. Verified against the published tag:
go install …/cmd/cljgo@v0.8.5thencljgo new -template cli demoappand
cljgo build, outside any repo withCLJGO_SRCunset — builds and runs.
The source of the boilerplate is fixed so no future release repeats it.
cljgo's own code is MIT. The vendored runtime under pkg/lang/ is
EPL-1.0, from Glojure — see
NOTICE.