camunda / dmn-scala

DMN engine written in Scala

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Split public API from implementation packages

saig0 opened this issue · comments

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