Drools is a rule engine, DMN engine and complex event processing (CEP) engine for Java

Clone this repo:
  1. eaed278 kie-issues#2285: 10.3.x+ stream: Re-write `drools` PR checks to be local scripts invoked in GItHub Actions workflows (#6691) by Tiago Bento · 3 hours ago main
  2. 8456d71 [kie-drools#6669] Building `drools-test-suite` is dependent on `kie-maven-plugin` being remotely available (#6687) by Yeser Amer · 4 days ago
  3. 9a88b00 [no_issue_logs] Retrieve invoker and reproducible logs for better debugging (#6690) by Gabriele Cardosi · 6 days ago
  4. 0909d9f kie-issues#2285: 10.3.x+ stream - Removing YaRD and Serverless Workflow (#6663) by Tiago Bento · 6 days ago
  5. a1f3cb1 [incubator-kie-issues#2164] Implemented ModelBuildContextUtils to provide utility method for YaML loading. (#6674) by Gabriele Cardosi · 7 days ago

An open source rule engine, DMN engine and complex event processing (CEP) engine for Java™ and the JVM Platform.

Drools is a business rule management system with a forward-chaining and backward-chaining inference based rules engine, allowing fast and reliable evaluation of business rules and complex event processing. A rule engine is also a fundamental building block to create an expert system which, in artificial intelligence, is a computer system that emulates the decision-making ability of a human expert.

Be sure to check out the Apache KIE project website and documentation!

Test execution tip

Some test are meant to be executed on machine with en_US locale. A specific profile is provided to execute them on machines with different locale, namely test-en. There are two ways to activate such profile during maven build:

  1. -Ptest-en (profile-id based)
  2. -DTestEn (property based)

The following two commands will execute tests on machine with locale different than en_US:

  1. make test -Ptest-en
  2. make test -DTestEn

Troubleshooting

If the build fails with UnmappableCharacterException, set -Dfile.encoding=UTF-8 for MAVEN_OPTS (not as an argument of mvn command). Then run mvn.

example for Windows:

set MAVEN_OPTS=-Dfile.encoding=UTF-8
mvn clean install

Documenting tips

UML diagrams have been used for architectural and design documentation. Those diagrams are in “.puml” format and have been created using the PlantUML tool. Plugins exists to use it in different IDE: