]
Mario Fusco updated DROOLS-2729:
--------------------------------
Sprint: 2020 Week 10-12 (from Mar 2)
KieScanner tries to read test dependencies
------------------------------------------
Key: DROOLS-2729
URL:
https://issues.redhat.com/browse/DROOLS-2729
Project: Drools
Issue Type: Bug
Components: core engine
Affects Versions: 7.8.0.Final
Reporter: Ales Dolecek
Assignee: Mario Fusco
Priority: Major
Method KieRepositoryScannerImpl#indexArtifacts first reads ALL dependencies and then
tries to exclude those with scope test/provided/system. This is wrong since the nested
dependencies might have different scope. Conseder this case:
A -> depends on B (with scope test)
B -> depends on C (with scope compile)
Asking for allDependencies will yield following descriptors:
A (compile scope)
B (test scope)
C (compile scope)
B gets discarded, but C remains and scanner will try to resolve it and add to class
loader.
Instead of fitering the results of ArtifactResolver#getAllDependencies() (without
parameters) you should use overloaded version of this method that accepts dependency
filter.
I do not create rules via GUI, but have them in separate Maven project. This projects
contains tests cases that check if the rules are OK. The tests create the knowlege base
from filesystem and require drools-decisiontables in order to execute.