Random development info...
Use @@@coverage off/on
around types with ppx
generated code. E.g.,
[@@@coverage off]
type t = A | B [@@deriving sexp]
[@@@coverage on]
Use [@coverage off]
around impossible cases. Use it with impossible
or invalid_argf
.
let x = 1
if x > 0 then
x
else
Utils.impossible "x can't be negative here" [@coverage off]
The versions of mafft and ncbi blast are the same as on my local machine. MMseqs is the same version, but with sse2 instead.
Keep them this way unless you change them locally, or you change the tests to not be so coupled to their specific output.
If you have tests that depend on whitespace generated by linux utils (e.g., when using uniq -c
for counts.), you need to normalize it so the tests will pass on both linux and macOS.
You cant use the -
for stdin
on the macOS. You need to use /dev/stdin
for the tests to work on both. So like this:
# Bad
blah | ../scripts/redact_git_hash -
# Good
blah | ../scripts/redact_git_hash /dev/stdin
When you increment the version, you need to change it in the dune-project
and in Config.Version.intein_finder_version
. Make sure you also rebuild the project to update the opam file as well.
- All integer indices should be printed as 1-indexed.
When building for release, use the *_release
just tasks. It adds the commit info. Note that you will often need to run just clean
first, to get a true build.
The *_dev
builds also add the git commit info now. Running dune directly does not.
If you modify a dependency in the dune-project
(and so, the opam
file). You will need to update the sandbox and the lock file.
opam install . --deps-only --with-doc --with-test # May not need this depending on what you're doing.
opam lock ./InteinFinder.opam
Do NOT use --locked
here...because the lock will probably be outdated.
You will need to pin this whenever it updates (change the version), and also update the lock file as needed.
opam pin add tiny_config https://github.com/mooreryan/tiny_config/archive/refs/tags/0.0.2.tar.gz
opam pin add tiny_toml https://github.com/mooreryan/tiny_config/archive/refs/tags/0.0.2.tar.gz