projectsdirectory where each project has its own directory.
deps.ednconfig file that specifies which libraries, component and bases that are included.
srcdirectory since all production code should normally only live in components and bases.
./workspace.ednconfigures which alias each project has and whether any tests should be excluded.
workspace.edn, the project heading will show up as
?when we execute the
infocommand, so let's add it:
poly/followed by the brick name, e.g.
poly/clias in this case. The reason all paths begin with "../../" is that
baseslive two levels up compared to
projects/command-lineand not at the root as with the
testcommand will figure out what tests need to be executed. If you have reasons to run the tests for each project separately using tools.deps, then you also have to specify the test paths.
Note: All the project
deps.ednconfig files under the
projectsdirectory specifies what bricks to include by giving a list of
:local/rootmappings. The poly
testcommand uses this information to figure out what bricks and library dependencies that should be included when executing the tests, by looking into each brick's
deps.ednfile. tools.deps does not "inherit" test dependencies from
:local/rootmappings, which is the reason we have to add our dependencis as separate paths in
/deps.ednto allow IDE's and other tooling to work properly.