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') }