samoht / assemblage

A collection of tools to manage the configuration of OCaml projects
54 stars 4 forks source link

API review, `Assemblage` and `Assemblage.Private` #137

Closed dbuenzli closed 4 years ago

dbuenzli commented 9 years ago

Review what is really needed to expose to the end user and to the drivers.

  1. The end user should be able to express its build system using off the shelf parts and develop new parts (the latter means that a significant portion of As_part needs to be exposed). However for some types, specification is entirely sufficient and there's not need to expose certain details (e.g. argument bundle structure access).
  2. The driver (Assemblage.Private module) should be granted abstract access to everything needed to setup a configuration and explore the project data structure in a given configuration according to the prescribed semantics of the elements. But no more.