@@ -44,7 +44,7 @@ defmodule Emily.MixProject do
4444 end
4545
4646 def cli do
47- [ preferred_envs: [ docs: :docs , "hex.publish": :docs , precommit: :test ] ]
47+ [ preferred_envs: [ docs: :docs , "hex.publish": :docs , "emily.publish": :docs , precommit: :test ] ]
4848 end
4949
5050 def application do
@@ -146,14 +146,16 @@ defmodule Emily.MixProject do
146146 # *deliberately* preserved across `mix clean` (rebuilding from
147147 # source is ~5–7 min). Wipe it explicitly with `mix clean.mlx`.
148148 "clean.mlx": & clean_mlx / 1 ,
149- # Regenerate the pinned NIF checksums from the freshly-built release
150- # artifacts on every publish, so `native_checksums.txt` can never go
151- # stale and there is nothing for the maintainer to remember. The
152- # repeated `hex.publish` runs the real task — Mix resolves a
153- # same-named step to the underlying task rather than recursing.
154- # `emily.checksums` downloads the published artifacts, so this also
155- # refuses to publish until the release assets are public.
156- "hex.publish": [ "emily.checksums" , "hex.publish" ]
149+ # `mix emily.publish` regenerates the pinned NIF checksums from the
150+ # freshly-built release artifacts and then publishes, so
151+ # `native_checksums.txt` (git-ignored) is always current with nothing
152+ # to commit by hand. `emily.checksums` downloads the published
153+ # artifacts, so it also refuses to run until the release assets are
154+ # public. A plain `mix hex.publish` skips the regen but fails closed —
155+ # `hex.build` errors on the missing checksums file. (This is a
156+ # distinct task name on purpose: a self-referential `hex.publish`
157+ # alias can't resolve back to the Hex archive task.)
158+ "emily.publish": [ "emily.checksums" , "hex.publish" ]
157159 ]
158160 end
159161
0 commit comments