Groovy files can't invoke methods in other groovy files which are part of same deployment

Here is the Groovy example:

static def getScript(fileName, execution) {
    def processDefinitionId = execution.getProcessDefinitionId()
    def deploymentId = execution.getProcessEngineServices().getRepositoryService().getProcessDefinition(processDefinitionId).getDeploymentId()
    def resource = execution.getProcessEngineServices().getRepositoryService().getResourceAsStream(deploymentId, fileName)

    def scannerResource = new Scanner(resource, 'UTF-8')

    def resourceAsString = scannerResource.useDelimiter('\\Z').next()
    scannerResource.close()

    GroovyShell shell = new GroovyShell()
    return shell.parse(resourceAsString)
}

def helper = getScript("helpers/helper_classes.groovy", execution)

To include general code needs a lot of boilerplate!

I think this should be improved. Something like this would be great:

GroovyShell shell = new GroovyShell()
def helper = shell.parse("deployment://helpers/helper_classes.groovy")
1 Like