Split public API from implementation packages
saig0 opened this issue · comments
Philipp Ossler commented
Description
We should split the packages to make it clear which parts belongs to the public API. For the public API, we need to guarantee backward compatibility.
- create a new package
org.camunda.dmn.api
for the public API - create a new package
org.camunda.dmn.impl
for the internal parts - extract the public API from the
DmnEngine
and move it in the package- split Scala and Java API
- engine builder
- the decision result
- audit log
- parsed decisions
- ensure the public API will not break the backward compatibility
- use either Clirr (like in FEEL) or Revapi (like in Zeebe)
- document the restrictions in the contributing guide, similar to FEEL-Scala: https://github.com/camunda/feel-scala/blob/master/CONTRIBUTING.md#public-api-and-backwards-compatibility