there is currently a bug in the handling of includes if they are defined within a macro (!definelong). I open this ticket for tracking purposes.
This is the discussion we previously had via email.
... Yes, it's a regression. I've somehow simplified your testcase in "regression1.zip" file attached.
However, it's not that simple to fix this one : the fact is !definelong management has slightly changed.
It's now interpreted when the inclusion is done, and not when the definition is done.
So when you are including !include Service1/ServiceDomain/method2.iuml in "example.puml", the line :
is correctly excuted.
However, in Service1_ServiceDomain_method2 definition, the line !include ../../SampleApplication2/api/resource/res1.iuml is not executed yet.
Back to example.puml, it's when you are calling Service1_ServiceDomain_method2(fe) that the line is executed.
And at this point, ../../SampleApplication2/api/resource/res1.iuml path is not correct anymore.
If you change !include ../../SampleApplication2/api/resource/res1.iuml to !include SampleApplication2/api/resource/res1.iuml in methode2.iuml, it will work back.
At least that is the current logic ...