diff --git a/spring-cloud-function-samples/function-sample-aws/build.gradle b/spring-cloud-function-samples/function-sample-aws/build.gradle index 60ca5c3bb..db95e248e 100644 --- a/spring-cloud-function-samples/function-sample-aws/build.gradle +++ b/spring-cloud-function-samples/function-sample-aws/build.gradle @@ -1,52 +1,83 @@ -/* - * This file was generated by the Gradle 'init' task. - */ - plugins { - id 'java-library' - id 'maven-publish' + id 'java' + id 'org.springframework.boot' version '3.2.0-M2' + id 'io.spring.dependency-management' version '1.1.3' + id 'com.github.johnrengelman.shadow' version '8.1.1' + id 'maven-publish' + id 'org.springframework.boot.experimental.thin-launcher' version "1.0.30.RELEASE" +} + +publishing { + publications { + maven(MavenPublication) { + from components.java + versionMapping { + usage('java-api') { + fromResolutionOf('runtimeClasspath') + } + usage('java-runtime') { + fromResolutionResult() + } + } + } + } +} + +thinPom.mustRunAfter resolveMainClassName, test + +group = 'com.example' +version = '0.0.1-SNAPSHOT' + +java { + sourceCompatibility = '17' } repositories { - mavenLocal() - maven { - url = uri('https://repo.spring.io/snapshot') - } - - maven { - url = uri('https://repo.spring.io/milestone') - } - - maven { - url = uri('https://repo.maven.apache.org/maven2/') - } + mavenCentral() + maven { url 'https://repo.spring.io/milestone' } } +ext { + set('springCloudVersion', "2023.0.0-M1") +} + +assemble.dependsOn = [shadowJar, thinJar] + + +import com.github.jengelman.gradle.plugins.shadow.transformers.* + +shadowJar { + archiveClassifier = 'aws' + dependencies { + exclude( + dependency("org.springframework.cloud:spring-cloud-function-web:4.1.0-SNAPSHOT")) + } + // Required for Spring + mergeServiceFiles() + append 'META-INF/spring.handlers' + append 'META-INF/spring.schemas' + append 'META-INF/spring.tooling' + append 'META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports' + append 'META-INF/spring/org.springframework.boot.actuate.autoconfigure.web.ManagementContextConfiguration.imports' + transform(PropertiesFileTransformer) { + paths = ['META-INF/spring.factories'] + mergeStrategy = "append" + } +} + + dependencies { - api 'org.springframework.cloud:spring-cloud-function-adapter-aws:4.0.3-SNAPSHOT' - api 'com.amazonaws:aws-lambda-java-events:3.9.0' - api 'org.springframework.boot:spring-boot-configuration-processor:3.0.5' - testImplementation 'org.springframework.boot:spring-boot-starter-test:3.0.5' - compileOnly 'com.amazonaws:aws-lambda-java-core:1.1.0' + implementation 'org.springframework.boot:spring-boot-starter' + implementation 'org.springframework.cloud:spring-cloud-function-context' + testImplementation 'org.springframework.boot:spring-boot-starter-test' } -group = 'io.spring.sample' -version = '4.0.0.RELEASE' -description = 'function-sample-aws' -java.sourceCompatibility = JavaVersion.VERSION_1_8 - -publishing { - publications { - maven(MavenPublication) { - from(components.java) - } - } +dependencyManagement { + imports { + mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}" + } } -tasks.withType(JavaCompile) { - options.encoding = 'UTF-8' -} - -tasks.withType(Javadoc) { - options.encoding = 'UTF-8' +tasks.named('test') { + useJUnitPlatform() } diff --git a/spring-cloud-function-samples/function-sample-aws/gradle/wrapper/gradle-wrapper.jar b/spring-cloud-function-samples/function-sample-aws/gradle/wrapper/gradle-wrapper.jar index c1962a79e..033e24c4c 100644 Binary files a/spring-cloud-function-samples/function-sample-aws/gradle/wrapper/gradle-wrapper.jar and b/spring-cloud-function-samples/function-sample-aws/gradle/wrapper/gradle-wrapper.jar differ diff --git a/spring-cloud-function-samples/function-sample-aws/gradle/wrapper/gradle-wrapper.properties b/spring-cloud-function-samples/function-sample-aws/gradle/wrapper/gradle-wrapper.properties index 37aef8d3f..9f4197d5f 100644 --- a/spring-cloud-function-samples/function-sample-aws/gradle/wrapper/gradle-wrapper.properties +++ b/spring-cloud-function-samples/function-sample-aws/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.1.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-bin.zip networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/spring-cloud-function-samples/function-sample-aws/gradlew b/spring-cloud-function-samples/function-sample-aws/gradlew index aeb74cbb4..fcb6fca14 100755 --- a/spring-cloud-function-samples/function-sample-aws/gradlew +++ b/spring-cloud-function-samples/function-sample-aws/gradlew @@ -130,10 +130,13 @@ location of your Java installation." fi else JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can.