Fortran-FOSS-Programmers / Fortran-FOSS-Programmers/ford
How to only expose the public API of a project
- Dominant language
- Python
- Stars
- 458
- Forks
- 138
- PR merge metrics
- No merged PRs in 30d
Description
I know that FORD has the ability to suppress (Fortran) PRIVATE items from the generated API, but this can be different than the public _project_ API exposed to end users. E.g., a common pattern in our code is to have a per-directory "package" module that forms an explicit list of the items that are meant to be exposed to other layers. E.g.,
```f90
module MyPackage
public
use module_1, only: item_1
use module_2, only: item_2
...
```
We don't expect anything fancy and automated (though that would be nice), but is there a way we can manually annotate our code so that only select items of the API are generated? I.e., we would go in and add some annotation in `module_1` for procedure `item_1` and `module_2` for procedure `item_2` to indicate that they should be generated. Or alternatively an annotation on all the other items in those modules that indicates _not_ to generate their interface.
And of course we would still want to be able to generate the full API for developers. I.e., to ignore these annotations when desired.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.