diff --git a/spring-cloud-function-compiler/pom.xml b/spring-cloud-function-compiler/pom.xml
index 288fd1f28..417b5a4f1 100644
--- a/spring-cloud-function-compiler/pom.xml
+++ b/spring-cloud-function-compiler/pom.xml
@@ -70,6 +70,11 @@
spring-boot-starter-test
test
+
+ org.springframework.boot
+ spring-boot-configuration-processor
+ true
+
diff --git a/spring-cloud-function-compiler/src/main/java/org/springframework/cloud/function/compiler/config/FunctionProxyApplicationListener.java b/spring-cloud-function-compiler/src/main/java/org/springframework/cloud/function/compiler/config/FunctionProxyApplicationListener.java
index 75683a581..dc59431fa 100644
--- a/spring-cloud-function-compiler/src/main/java/org/springframework/cloud/function/compiler/config/FunctionProxyApplicationListener.java
+++ b/spring-cloud-function-compiler/src/main/java/org/springframework/cloud/function/compiler/config/FunctionProxyApplicationListener.java
@@ -55,16 +55,28 @@ public class FunctionProxyApplicationListener
private final ConsumerCompiler> consumerCompiler = new ConsumerCompiler<>();
- private final Map toCompile = new HashMap<>();
+ /**
+ * Configuration for function bodies, which will be compiled. The key in the map is
+ * the function name and the value is a map containing a key "lambda" which is the
+ * body to compile, and optionally a "type" (defaults to "function"). Can also contain
+ * "inputType" and "outputType" in case it is ambiguous.
+ */
+ private final Map compile = new HashMap<>();
- private final Map toImport = new HashMap<>();
+ /**
+ * Configuration for a set of files containing function bodies, which will be imported
+ * and compiled. The key in the map is the function name and the value is another map,
+ * containing a "location" of the file to compile and (optionally) a "type" (defaults
+ * to "function").
+ */
+ private final Map imports = new HashMap<>();
public Map getCompile() {
- return toCompile;
+ return compile;
}
- public Map getImport() {
- return toImport;
+ public Map getImports() {
+ return imports;
}
@Override
@@ -73,7 +85,7 @@ public class FunctionProxyApplicationListener
DefaultListableBeanFactory beanFactory = (DefaultListableBeanFactory) context
.getBeanFactory();
bind(context);
- for (Map.Entry entry : toCompile.entrySet()) {
+ for (Map.Entry entry : compile.entrySet()) {
String name = entry.getKey();
@SuppressWarnings("unchecked")
Map properties = (Map) entry.getValue();
@@ -88,7 +100,7 @@ public class FunctionProxyApplicationListener
registerLambdaCompilingProxy(name, type, inputType, outputType, lambda,
beanFactory);
}
- for (Map.Entry entry : toImport.entrySet()) {
+ for (Map.Entry entry : imports.entrySet()) {
String name = entry.getKey();
@SuppressWarnings("unchecked")
Map properties = (Map) entry.getValue();
diff --git a/spring-cloud-function-context/src/test/java/org/springframework/cloud/function/context/config/ContextFunctionCatalogAutoConfigurationTests.java b/spring-cloud-function-context/src/test/java/org/springframework/cloud/function/context/config/ContextFunctionCatalogAutoConfigurationTests.java
index 2d50283e7..cab3c6adc 100644
--- a/spring-cloud-function-context/src/test/java/org/springframework/cloud/function/context/config/ContextFunctionCatalogAutoConfigurationTests.java
+++ b/spring-cloud-function-context/src/test/java/org/springframework/cloud/function/context/config/ContextFunctionCatalogAutoConfigurationTests.java
@@ -451,7 +451,7 @@ public class ContextFunctionCatalogAutoConfigurationTests {
FileSystemResource resource = new FileSystemResource("target/foos.fun");
StreamUtils.copy(compiled.getGeneratedClassBytes(), resource.getOutputStream());
create(EmptyConfiguration.class,
- "spring.cloud.function.import.foos.location=file:./target/foos.fun");
+ "spring.cloud.function.imports.foos.location=file:./target/foos.fun");
assertThat(context.getBean("foos")).isInstanceOf(Function.class);
assertThat(catalog.>lookup(Function.class, "foos"))
.isInstanceOf(Function.class);