I decided I'm going to try asking for help on some Clojure related problems I have with YAMLScript in here. If they are interesting to you I'd appreciate you taking a shot. Feel free to bug me if you need help getting started.
Here's a long standing thing I haven't figured out. YAMLScript is a big mono repo, with directories for each each big part.
2 directories I have clojure code/tests in are core and ys.
Running the tests for core works as expected:
$ make -C core test
make: Entering directory '/home/ingy/src/yaml/yamlscript/core'
/tmp/yamlscript/bin/lein test
lein test yamlscript.builder-test
lein test yamlscript.compiler-test
lein test yamlscript.composer-test
lein test yamlscript.constructor-test
lein test yamlscript.parser-test
lein test yamlscript.printer-test
lein test yamlscript.resolver-test
lein test yamlscript.runtime-test
lein test yamlscript.transformer-test
Ran 198 tests containing 198 assertions.
0 failures, 0 errors.
make: Leaving directory '/home/ingy/src/yaml/yamlscript/core'
but for ys they always run twice:
$ make -C ys test
make: Entering directory '/home/ingy/src/yaml/yamlscript/ys'
/tmp/yamlscript/bin/lein test
Testing yamlscript.cli-test
Ran 1 tests containing 24 assertions.
0 failures, 0 errors.
lein test yamlscript.cli-test
Ran 1 tests containing 24 assertions.
0 failures, 0 errors.
make: Leaving directory '/home/ingy/src/yaml/yamlscript/ys'While I was typing that I tried a bunch of things, but couldn't solve it. It's been a minor annoyance for a long time.
I know it involves Makefiles which I assume aren't heavily used by Clojurists. But if anyone has free cycles to help out I'd appreciate it.
I can answer any make related questions,
FWIW, make appears not to be involved.
After running make -C ys test once you can cd ys then run
$ /tmp/yamlscript/bin/lein test
Testing yamlscript.cli-test
Ran 1 tests containing 24 assertions.
0 failures, 0 errors.
lein test yamlscript.cli-test
Ran 1 tests containing 24 assertions.
0 failures, 0 errors.
Note: /tmp/yamlscript/bin/lein will exist on your machine. It's just a downloaded copy of the lein bash script. The build system doesn't use anything installed on your system except bash make and curl.