-
Bug Report
-
Resolution: Fixed
-
L3 - Default
-
7.13.1, 7.14.0-alpha1
Problem
- The camunda-engine-feel-scala artifact contains the classes of org.camunda.feel:feel-engine
- When using the Standalone FEEL Engine together with the DMN Engine, the classes are overlapping, which could lead to unexpected behavior
Solution
- A new artifact of the FEEL Engine is published, which already shades the Scala Library
- The shaded FEEL Engine artifact is included in Camunda BPM distros by default
- The DMN Engine cannot be reconfigured to use the unshaded FEEL Engine artifact, which means that calling the API directly results in handling prefixed Scala Library classes, e.g., camundajar.impl.scala.Either; this can be avoided by using the FEEL Engine as Java Script Engine (JSR 223)
Reasoning
An anti-solution would be to relocate the FEEL Engine in the camunda-engine-feel-scala artifact:
- The package name of the FEEL Engine would suddenly change
- This would be surprising for 7.13 users who already implemented code against the FEEL Engine classes (e.g., org.camunda.feel.syntaxtree.ZonedTime)
Hints
- Add documentation here: https://docs.camunda.org/manual/7.13/update/patch-level/#special-considerations
- The Maven coordinates of the FEEL Engine shouldn't change
- To be discussed: Introduce either a classifier like scala-shaded or a new artifact id