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