Fortran-FOSS-Programmers / Fortran-FOSS-Programmers/ford

How to only expose the public API of a project

Open
#473 3 comments 0 reactions 0 assignees View on GitHub
help wanted wishlist
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.