This fails:-<br><br><i><b>Test<br></b></i><br>package com.guvnor.tests;<br><br>import org.drools.compiler.PackageBuilder;<br>import org.drools.compiler.PackageBuilderErrors;<br>import org.drools.io.ResourceFactory;<br>import org.drools.lang.descr.PackageDescr;<br>
<br>public class FragmentsTest {<br><br> public static final void main(String[] args) {<br> try {<br> PackageBuilderErrors pbe;<br> PackageBuilder pb = new PackageBuilder();<br> pb.addPackage( new PackageDescr( "p3" ) );<br>
pb.addPackageFromDrl( ResourceFactory.newClassPathResource( "Fragment1.drl" ) );<br> pbe = pb.getErrors();<br> System.out.println("Errors = " + pbe.getErrors().length );<br>
pb.addPackageFromDrl( ResourceFactory.newClassPathResource( "Fragment2.drl" ) );<br> pbe = pb.getErrors();<br> System.out.println("Errors = " + pbe.getErrors().length );<br>
pb.addPackageFromDrl( ResourceFactory.newClassPathResource( "Fragment3.drl" ) );<br> pbe = pb.getErrors();<br> System.out.println("Errors = " + pbe.getErrors().length );<br>
pb.getPackage();<br> } catch ( Exception e ) {<br> e.fillInStackTrace();<br> e.printStackTrace();<br> }<br> }<br>}<br><br><i><b>Fragment1.drl<br></b></i><br>package com.guvnor.package3<br>
<br>import com.guvnor.package1.Person<br>import java.math.BigDecimal<br><br><br><i><b>Fragment2.drl<br></b></i><br>package com.guvnor.package3<br><br><span style="color: rgb(255, 0, 0);">//import com.guvnor.package1.Person <<Fails unless I add this import</span><br style="color: rgb(255, 0, 0);">
<br>declare Person<br>end<br><br>declare Person2 extends Person<br> name : String<br> age : Integer<br>end<br><br><i><b>Fragment3.drl<br></b></i><br>package com.guvnor.package3<br><br>rule "test"<br>when<br>
Person( salary == 10 )<br>then<br> System.out.println("Hello Fred!");<br>end<br><br>Resolved with <a href="https://github.com/droolsjbpm/drools/commit/dc00433f3e3821a2c224ba8dc36f0235b07aef2f">https://github.com/droolsjbpm/drools/commit/dc00433f3e3821a2c224ba8dc36f0235b07aef2f</a><br>