TinyRuleKit

Packaging

TinyRuleKit is distributed as a JAR.

Classpath

Manual classpath usage for static rules needs the framework and Gson:

TEXT
tinyrulekit-1.0.0.jar
gson-2.10.1.jar

mvel2-2.5.2.Final.jar is optional. Add it only if you use TinyRuleKit's default MVEL expression engine. If your application uses only static resolver factories, or configures a custom ExpressionEngine, MVEL is not required.

Build tools such as Maven or Gradle resolve required transitive dependencies. Because MVEL is optional, projects that use the default expression engine must declare it explicitly.

XML
<dependency>
    <groupId>org.mvel</groupId>
    <artifactId>mvel2</artifactId>
    <version>2.5.2.Final</version>
</dependency>

Module Path

Consumer modules can depend on TinyRuleKit with:

JAVA
module my.application {
    requires org.tinyrulekit;
}

If the application uses the default MVEL expression engine on the module path, require MVEL in the application module. TinyRuleKit itself does not declare a module dependency on MVEL.

JAVA
module my.application {
    requires org.tinyrulekit;
    requires mvel2;
}

Public packages:

  • org.tinyrulekit.api.rule
  • org.tinyrulekit.api.expression
  • org.tinyrulekit.api.expression.security
  • org.tinyrulekit.core
  • org.tinyrulekit.definition

Internal packages such as org.tinyrulekit.io, org.tinyrulekit.compile, and org.tinyrulekit.expression are implementation details.