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

Clone this repo:
  1. 2d6a45f adding OMG XSD files License info (#6156) by Alex Porcelli · 7 hours ago main
  2. c58ee42 [NO-ISSUE] mvel.jj license (#6164) by Toshiya Kobayashi · 13 hours ago
  3. bc30897 Migrated more tests to JUnit5 (#6162) by Paolo Bizzarri · 19 hours ago
  4. 7122520 [incubator-kie-issues-1622] Drools DISCLAIMER-BINARY lists files that are no longer in the source release (#6157) by Toshiya Kobayashi · 2 days ago
  5. fa989e5 [incubator-kie-issues-1616] notice file for drools is not correct (#6153) by Toshiya Kobayashi · 3 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 Drools' project website and documentation!

Developing Drools and jBPM

If you want to build or contribute to a kiegroup project, read this document.

It will save you and us a lot of time by setting up your development environment correctly. It solves all known pitfalls that can disrupt your development. It also describes all guidelines, tips and tricks. If you want your pull requests (or patches) to be merged, please respect those guidelines.

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

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 Drools' project website and documentation!

Developing Drools and jBPM

If you want to build or contribute to a kiegroup project, read this document.

It will save you and us a lot of time by setting up your development environment correctly. It solves all known pitfalls that can disrupt your development. It also describes all guidelines, tips and tricks. If you want your pull requests (or patches) to be merged, please respect those guidelines.

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

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: