-
Notifications
You must be signed in to change notification settings - Fork 3
DesignUI
Our plan is to develop the core systems of dependency analysis and DAG traversal first. With those in hand we can be more certain that the project will work the way we think it will. Then we plan to consider the detail of how the user will interact with the tool.
From the requirements and our own thoughts in passing on the issue we suspect there will be three approaches of escalating complexity:
- An implicit "zero configuration" option for simple cases.
- A configuration file for intermediate processes.
- A Python API for complicated build processes.
The tool is pointed at a directory and it figures out as much as it can. This will work for building executables as the Fortran program or C/C++ main can be easily located. Support for libraries will be very crude as there is no way to determine what should be in the library and what shouldn't. Therefore if there are no executables everything will be slammed in a library.
This should be enough for most users. It will allow simple control over the build process. For instance libraries may be specified using logic such as "everything in this directory".
Ultimate control, ultimate danger, ultimate fear.
The user implements they build system as a Python script making use of Fab as a library of components.
As noted we are not ready to really get down to the nitty gritty so here are collected a number of resources which may prove illuminating when we are:
- https://doc.rust-lang.org/cargo - Apparently they do some interesting things
- Future Release
- vn1.0 Release, March 2023
- 0.11 Beta Release, Jan 2023
- 0.10 Beta Release, Oct 2022
- 0.9 Alpha Release, June 2022
- Phase 2
- Phase 3
- Phase 4
- Repository Management
- Development Process
- Development Environment
- Releasing Fab
- Coding Conventions
- Glossary
- Concerning the Database
- Unit Test Coverage
- Issues With the System Testing Framework