in extensions/groovy/deployment/src/main/java/org/apache/camel/quarkus/component/groovy/deployment/GroovyProcessor.java [73:108]
void collectExpressions(ExpressionExtractionResultBuildItem result,
List<ExpressionBuildItem> expressions,
List<ScriptBuildItem> scripts,
BuildProducer<GroovyExpressionSourceBuildItem> producer) {
if (result.isSuccess()) {
List<ExpressionBuildItem> groovyExpressions = expressions.stream()
.filter(exp -> "groovy".equals(exp.getLanguage()))
.toList();
List<ScriptBuildItem> groovyScripts = scripts.stream()
.filter(exp -> "groovy".equals(exp.getLanguage()))
.toList();
if (groovyExpressions.isEmpty() && groovyScripts.isEmpty()) {
return;
}
for (ExpressionBuildItem expression : groovyExpressions) {
String original = expression.getExpression();
ExpressionUID id = new ExpressionUID(original);
String name = String.format("%s.%s", PACKAGE_NAME, id);
String content = toScriptClass(id.asJavaIdentifier(), expression.getLoadedExpression());
if (LOG.isDebugEnabled()) {
LOG.debug("Extracting expression:\n\n{}\n", content);
}
producer.produce(new GroovyExpressionSourceBuildItem(name, original, content));
}
for (ScriptBuildItem script : groovyScripts) {
String original = script.getContent();
ScriptUID id = new ScriptUID(original, script.getBindings());
String name = String.format("%s.%s", PACKAGE_NAME, id);
String content = toScriptClass(id.asJavaIdentifier(), script.getLoadedContent());
if (LOG.isDebugEnabled()) {
LOG.debug("Extracting script:\n\n{}\n", content);
}
producer.produce(new GroovyExpressionSourceBuildItem(name, original, content));
}
}
}