GH-718 Improve support for Function bean definition
Added sample for functional bean definition
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
buildscript {
|
||||
ext {
|
||||
springBootVersion = '2.2.0.BUILD-SNAPSHOT'
|
||||
wrapperVersion = '1.0.17.RELEASE'
|
||||
shadowVersion = '5.1.0'
|
||||
}
|
||||
repositories {
|
||||
mavenLocal()
|
||||
jcenter()
|
||||
mavenCentral()
|
||||
maven { url "https://repo.spring.io/snapshot" }
|
||||
maven { url "https://repo.spring.io/milestone" }
|
||||
}
|
||||
dependencies {
|
||||
classpath "com.github.jengelman.gradle.plugins:shadow:${shadowVersion}"
|
||||
classpath("org.springframework.boot.experimental:spring-boot-thin-gradle-plugin:${wrapperVersion}")
|
||||
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
|
||||
classpath("io.spring.gradle:dependency-management-plugin:1.0.8.RELEASE")
|
||||
}
|
||||
}
|
||||
|
||||
apply plugin: 'java'
|
||||
apply plugin: 'maven'
|
||||
apply plugin: 'eclipse'
|
||||
apply plugin: 'com.github.johnrengelman.shadow'
|
||||
apply plugin: 'org.springframework.boot'
|
||||
apply plugin: 'org.springframework.boot.experimental.thin-launcher'
|
||||
apply plugin: 'io.spring.dependency-management'
|
||||
|
||||
group = 'io.spring.sample'
|
||||
version = '2.0.0.RELEASE'
|
||||
sourceCompatibility = 1.8
|
||||
targetCompatibility = 1.8
|
||||
|
||||
repositories {
|
||||
mavenLocal()
|
||||
mavenCentral()
|
||||
maven { url "https://repo.spring.io/snapshot" }
|
||||
maven { url "https://repo.spring.io/milestone" }
|
||||
}
|
||||
|
||||
ext {
|
||||
springCloudFunctionVersion = "3.0.0.BUILD-SNAPSHOT"
|
||||
awsLambdaEventsVersion = "2.0.2"
|
||||
awsLambdaCoreVersion = "1.1.0"
|
||||
}
|
||||
ext['reactor.version'] = "3.1.7.RELEASE"
|
||||
|
||||
assemble.dependsOn = [shadowJar, thinJar]
|
||||
|
||||
jar {
|
||||
manifest {
|
||||
attributes 'Main-Class': 'example.Config'
|
||||
}
|
||||
}
|
||||
|
||||
import com.github.jengelman.gradle.plugins.shadow.transformers.*
|
||||
|
||||
shadowJar {
|
||||
classifier = 'aws'
|
||||
dependencies {
|
||||
exclude(
|
||||
dependency("org.springframework.cloud:spring-cloud-function-web:${springCloudFunctionVersion}"))
|
||||
}
|
||||
// Required for Spring
|
||||
mergeServiceFiles()
|
||||
append 'META-INF/spring.handlers'
|
||||
append 'META-INF/spring.schemas'
|
||||
append 'META-INF/spring.tooling'
|
||||
transform(PropertiesFileTransformer) {
|
||||
paths = ['META-INF/spring.factories']
|
||||
mergeStrategy = "append"
|
||||
}
|
||||
}
|
||||
|
||||
configurations {
|
||||
testCompile.extendsFrom(compileOnly)
|
||||
}
|
||||
|
||||
dependencyManagement {
|
||||
imports {
|
||||
mavenBom "org.springframework.cloud:spring-cloud-function-dependencies:${springCloudFunctionVersion}"
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
compile("org.springframework.cloud:spring-cloud-function-adapter-aws")
|
||||
compile("org.springframework.cloud:spring-cloud-starter-function-webflux")
|
||||
compile("org.springframework.boot:spring-boot-configuration-processor")
|
||||
compileOnly("com.amazonaws:aws-lambda-java-events:${awsLambdaEventsVersion}")
|
||||
compileOnly("com.amazonaws:aws-lambda-java-core:${awsLambdaCoreVersion}")
|
||||
testCompile('org.springframework.boot:spring-boot-starter-test')
|
||||
}
|
||||
Reference in New Issue
Block a user