I'd like to release gogo runtime 0.14.0

** Bug
    * [FELIX-4637] - Gogo can't cope without several commands with defined
service.ranking

** New Feature
    * [FELIX-4671] - Provide an expression parser

The first issue is when you end up with several functions with the same
scope/name registered at the same time.  Gogo now tracks them properly and
use service ranking to choose the one to execute.

The second one provides an expression parser activate by (( xxx )) in which
arithmetic operators, assignments, comparisons (numeric or string) can be
done easily.
A few raw examples are provided in the test below:
https://github.com/apache/felix/blob/051a3ee00b2df87ba787056e5423bdea9f95b17d/gogo/runtime/src/test/java/org/apache/felix/gogo/runtime/expr/ExpressionTest.java

Coupled with a while loop command taking 2 closures as arguments, one could
now execute the following:

karaf@root()> a = 0 ; while { ((a < 10)) } { echo $a ; ((a += 1)) }


Note that I haven't provided support for ++ and -- operators, but that
could be added later.  The += and -= operators can be used as a workaround.

Please have a look and try it, I'd like to release it asap.

Cheers,
Guillaume Nodet

Reply via email to