Skip to content

Commit

Permalink
more details on NCT/
Browse files Browse the repository at this point in the history
  • Loading branch information
ArtificialOwl committed Nov 6, 2024
1 parent 34e2e39 commit b5e9d6c
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions developer_manual/digging_deeper/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,15 +13,17 @@ PHP testing API
---------------

To avoid releasing incomplete public API, it is possible to release a
testing version of the future API in the NCT namespace, following these rules:
testing version of the future API in the `NCT` namespace, following these rules:

- Code quality, comments, tests and psalm check are expected to be identical to the OCP namespace.
- Code quality, comments, tests and psalm check are expected to be identical to the `OCP` namespace.
- Classes must be tag as `@experimental`, including the current version of Nextcloud.
- Code from the `OCP` namespace must never mention anything coming from the `NCT` namespace. It can not require it as an argument, constant or return something from `NCT`.
- An API can only live in this testing namespace for one major release.
- During this testing phase, the code and the API can be modified/restructured without limitation.
- If accepted, the API will be copied to the OCP public namespace.
- Once tested, the version from the NCT namespace will be marked as deprecated.
- Deprecated API from the NCT namespace are kept for 2 major releases.
- If accepted, the API will be copied to the `OCP` public namespace.
- Once tested, the version from the `NCT` namespace will be marked as deprecated.
- Deprecated API from the `NCT` namespace are kept for 2 major releases.

.. note::
- API within the testing namespace might not have documentation other than in-code comments.
- API from `NCT` are included to the `nextcloud-deps/OCP` package for easier testing with psalm

0 comments on commit b5e9d6c

Please sign in to comment.