We discussed wanting a new vessel feature to support multiple packages in one repo.
In particular, we'd like to continue to use vessel but have it support
- moving the
base library (back) into the main motoko repository.
- splitting the
base library into platform-independent parts (data structures) and IC-specific parts.
To support 1 and 2, we'd like to refine how vessel works so that a package is located not only by a repo, but instead by a pair of fields, repo and path, and the path specifies where within that repo one finds the vessel config files and the src directory for the package.
If the path field is absent, it is assumed to be the empty path, meaning that the repo has only one package, at its root (the current design).
Then, we'd have the motoko repo organized like this (simplified), assuming that the compiler and base and ic directories represent the code now in the motoko repo and base repos, but reorganized:
compiler
src
...
lib
base
src
ic
src
cc @rossberg @crusso
We discussed wanting a new
vesselfeature to support multiple packages in one repo.In particular, we'd like to continue to use
vesselbut have it supportbaselibrary (back) into the mainmotokorepository.baselibrary into platform-independent parts (data structures) and IC-specific parts.To support 1 and 2, we'd like to refine how vessel works so that a package is located not only by a
repo, but instead by a pair of fields,repoandpath, and thepathspecifies where within thatrepoone finds the vessel config files and thesrcdirectory for the package.If the
pathfield is absent, it is assumed to be the empty path, meaning that therepohas only one package, at its root (the current design).Then, we'd have the
motokorepo organized like this (simplified), assuming that thecompilerandbaseandicdirectories represent the code now in themotokorepo andbaserepos, but reorganized:cc @rossberg @crusso