buildscript { ext { springBootVersion = '1.5.11.RELEASE' wrapperVersion = '1.0.9.RELEASE' shadowVersion = '2.0.1' } repositories { jcenter() mavenLocal() 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}") } } apply plugin: 'java' apply plugin: 'maven' apply plugin: 'eclipse' apply plugin: 'com.github.johnrengelman.shadow' apply plugin: 'spring-boot' apply plugin: 'org.springframework.boot.experimental.thin-launcher' group = 'io.spring.sample' version = '1.0.0.BUILD-SNAPSHOT' 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 = "1.0.0.BUILD-SNAPSHOT" awsLambdaEventsVersion = "1.2.1" awsLambdaCoreVersion = "1.1.0" } ext['reactor.version'] = "3.1.2.RELEASE" assemble.dependsOn = [shadowJar, bootRepackage] jar { manifest { attributes 'Start-Class': 'example.Config' } } shadowJar { classifier = 'aws' dependencies { exclude(dependency("org.springframework.cloud:spring-cloud-function-web:${springCloudFunctionVersion}")) } } configurations { testCompile.extendsFrom(compileOnly) } dependencies { compile("org.springframework.cloud:spring-cloud-starter-function-web:${springCloudFunctionVersion}") compile("org.springframework.cloud:spring-cloud-function-adapter-aws:${springCloudFunctionVersion}") compileOnly("com.amazonaws:aws-lambda-java-events:${awsLambdaEventsVersion}") compileOnly("com.amazonaws:aws-lambda-java-core:${awsLambdaCoreVersion}") testCompile('org.springframework.boot:spring-boot-starter-test') }