Example below. CompilerConfig.addConditions collects conditions to local variable only, but RulesEngine.analyzeCondition() is looking for ref conditions using RulesEngine.getCondition(refid).
RulesEngine.getCondition(refid) use protected static RulesEngine.conditionsmap which is empty - so refconditions isn't resolved.
<conditions>
<condition type="packselection" id="sdkpackcondition">
<packid>sdk.pack</packid>
</condition>
<condition type="packselection" id="serverpackcondition">
<packid>server.pack</packid>
</condition>
<condition type="packselection" id="serverdbpackcondition">
<packid>server.db.pack</packid>
</condition>
<condition type="packselection" id="clientpackcondition">
<packid>client.pack</packid>
</condition>
<condition type="or" id="copycondition">
<condition type="or" id="copyconditionint">
<condition type="ref" refid="sdkpackcondition"/>
<condition type="ref" refid="serverpackcondition"/>
</condition>
<condition type="ref" refid="clientpackcondition"/>
</condition>
<condition type="or" id="processcondition">
<condition type="ref" refid="serverpackcondition"/>
<condition type="ref" refid="serverdbpackcondition"/>
</condition>
</conditions>
I first assign this issue to Dennis, but he is free not to accept it