plugins { id 'java' id 'application' id 'com.google.cloud.tools.jib' version "3.3.2" // lombok id "io.freefair.lombok" version "8.1.0" id("com.diffplug.spotless") version "6.20.0" } version 'unspecified' repositories { mavenCentral() maven { url 'https://jitpack.io' } } dependencies { testImplementation group: 'junit', name: 'junit', version: '4.13.2' testImplementation group: 'org.assertj', name: 'assertj-core', version: '3.24.2' // log implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.20.0' implementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.20.0' // mustache template implementation group: 'com.github.spullara.mustache.java', name: 'compiler', version: '0.9.10' // apache io utils implementation group: 'commons-io', name: 'commons-io', version: '2.13.0' // yaml reader implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: '2.15.2' // json flattener implementation group: 'com.github.wnameless', name: 'json-flattener', version: '0.7.1' implementation group: 'com.github.fge', name: 'json-schema-validator', version: '2.0.4' // command cli implementation 'info.picocli:picocli:4.7.4' compileOnly 'info.picocli:picocli-codegen:4.7.4' // aws sdk implementation platform('com.amazonaws:aws-java-sdk-bom:1.12.521') implementation 'com.amazonaws:aws-java-sdk-s3' implementation 'com.amazonaws:aws-java-sdk-cloudwatch' implementation 'com.amazonaws:aws-java-sdk-xray' implementation 'com.amazonaws:aws-java-sdk-logs' implementation 'com.amazonaws:aws-java-sdk-sts' // aws ecs sdk implementation 'com.amazonaws:aws-java-sdk-ecs' // https://mvnrepository.com/artifact/com.github.awslabs/aws-request-signing-apache-interceptor implementation 'com.github.awslabs:aws-request-signing-apache-interceptor:b3772780da' // http client implementation("com.squareup.okhttp3:okhttp:4.11.0") // command cli implementation 'info.picocli:picocli:4.7.4' compileOnly 'info.picocli:picocli-codegen:4.7.4' // mockito testImplementation "org.mockito:mockito-core:5.4.0" } application { // Define the main class for the application. mainClass.set("com.amazon.aoc.App") } jib { to { image = "public.ecr.aws/u0d6r4y4/aws-otel-test-validator:alpha" } from { image = "public.ecr.aws/u0d6r4y4/amazoncorretto-distroless:alpha" } } spotless { // optional: limit format enforcement to just the files changed by this feature branch // ratchetFrom 'origin/main' format 'misc', { // define the files to apply `misc` to target '*.gradle', '*.md', '.gitignore' // define the steps to apply to those files trimTrailingWhitespace() indentWithSpaces(2) // or spaces. Takes an integer argument if you don't like 4 endWithNewline() } java { // Use the default importOrder configuration importOrder() removeUnusedImports() // Cleanthat will refactor your code, but it may break your style: apply it before your formatter cleanthat() // has its own section below googleJavaFormat() // has its own section below indentWithSpaces(2) formatAnnotations() // fixes formatting of type annotations, see below } }