apache / incubator-kie-drools

Drools is a rule engine, DMN engine and complex event processing (CEP) engine for Java.
http://www.drools.org
Apache License 2.0
5.88k stars 2.5k forks source link

[new-parser] Support optional `type` keyword for backward compatibility #5911

Closed yurloc closed 5 months ago

yurloc commented 6 months ago

Parent issue

Failing tests

Rule code snippet

declare type Foo
  id : int
end

Error output

14:50:16.152 [Time-limited test] WARN  o.d.c.k.b.impl.AbstractKieProject.buildKnowledgePackages:256 - No files found for KieBase KieBaseModelName
### parse : ANTLR4_PARSER_ENABLED = true
line 3:2 extraneous input 'id' expecting ':'
14:50:16.158 [Time-limited test] ERROR o.d.c.k.b.impl.AbstractKieProject.buildKnowledgePackages:280 - Unable to build KieBaseModel:KieBaseModelName
[3,2]: extraneous input 'id' expecting ':'
[0,0]: Parser returned a null Package

14:50:16.158 [Time-limited test] ERROR o.d.testcoverage.common.util.KieUtil.getKieBuilderFromKieFileSystem:165 - KieBuilder errors: [Message [id=1, kieBase=KieBaseModelName, level=ERROR, path=rules1.drl, line=3, column=0
   text=extraneous input 'id' expecting ':'], Message [id=2, kieBase=KieBaseModelName, level=ERROR, path=rules1.drl, line=0, column=0
   text=Parser returned a null Package]]

java.lang.AssertionError: [[Message [id=1, kieBase=KieBaseModelName, level=ERROR, path=rules1.drl, line=3, column=0
   text=extraneous input 'id' expecting ':'], Message [id=2, kieBase=KieBaseModelName, level=ERROR, path=rules1.drl, line=0, column=0
   text=Parser returned a null Package]]] 
Expecting empty but was: [Message [id=1, kieBase=KieBaseModelName, level=ERROR, path=rules1.drl, line=3, column=0
   text=extraneous input 'id' expecting ':'],
    Message [id=2, kieBase=KieBaseModelName, level=ERROR, path=rules1.drl, line=0, column=0
   text=Parser returned a null Package]]

    at org.drools.testcoverage.common.util.KieUtil.getKieBuilderFromKieFileSystem(KieUtil.java:169)
    at org.drools.testcoverage.common.util.KieUtil.getKieBuilderFromKieFileSystem(KieUtil.java:134)
    at org.drools.testcoverage.common.util.KieUtil.buildAndInstallKieModuleIntoRepo(KieUtil.java:78)
    at org.drools.testcoverage.common.util.KieUtil.buildAndInstallKieModuleIntoRepo(KieUtil.java:72)
    at org.drools.testcoverage.common.util.KieUtil.getKieModuleFromResources(KieUtil.java:249)
    at org.drools.testcoverage.common.util.KieUtil.getKieModuleFromResources(KieUtil.java:238)
    at org.drools.testcoverage.common.util.KieBaseUtil.getKieBaseFromKieModuleFromResources(KieBaseUtil.java:102)
    at org.drools.testcoverage.common.util.KieBaseUtil.getKieBaseFromKieModuleFromDrl(KieBaseUtil.java:115)
    at org.drools.mvel.integrationtests.DynamicRulesTest.testDynamicRulesWithTypeDeclarations(DynamicRulesTest.java:1118)
tkobayas commented 5 months ago

Fixed by https://github.com/apache/incubator-kie-drools/pull/5977