import java.net.URI import javax.annotation.Nullable import org.gradle.api.tasks.testing.logging.TestExceptionFormat import org.gradle.api.tasks.testing.logging.TestLogEvent plugins { `java` `java-library` id("io.freefair.lombok") version "8.1.0" } group = "software.amazon.cryptography" version = "1.0-SNAPSHOT" description = "DynamoDbEncryptionExamples" java { toolchain.languageVersion.set(JavaLanguageVersion.of(8)) sourceSets["main"].java { srcDir("src/main/java") } sourceSets["test"].java { srcDir("src/test/java") } } var caUrl: URI? = null @Nullable val caUrlStr: String? = System.getenv("CODEARTIFACT_REPO_URL") if (!caUrlStr.isNullOrBlank()) { caUrl = URI.create(caUrlStr) } var caPassword: String? = null @Nullable val caPasswordString: String? = System.getenv("CODEARTIFACT_TOKEN") if (!caPasswordString.isNullOrBlank()) { caPassword = caPasswordString } repositories { maven { name = "DynamoDB Local Release Repository - US West (Oregon) Region" url = URI.create("https://s3-us-west-2.amazonaws.com/dynamodb-local/release") } mavenCentral() mavenLocal() if (caUrl != null && caPassword != null) { maven { name = "CodeArtifact" url = caUrl!! credentials { username = "aws" password = caPassword!! } } } } dependencies { implementation("software.amazon.cryptography:aws-database-encryption-sdk-dynamodb:3.0.0") implementation("software.amazon.cryptography:aws-cryptographic-material-providers:1.0.0") implementation(platform("software.amazon.awssdk:bom:2.19.1")) implementation("software.amazon.awssdk:arns") implementation("software.amazon.awssdk:auth") implementation("software.amazon.awssdk:dynamodb") implementation("software.amazon.awssdk:dynamodb-enhanced") implementation("software.amazon.awssdk:kms") implementation("software.amazon.awssdk:sts") implementation("org.bouncycastle:bcprov-jdk18on:1.72") // https://mvnrepository.com/artifact/org.testng/testng testImplementation("org.testng:testng:7.5") } tasks.withType() { options.encoding = "UTF-8" } tasks.test { useTestNG() // This will show System.out.println statements testLogging.showStandardStreams = true testLogging { lifecycle { events = mutableSetOf(TestLogEvent.FAILED, TestLogEvent.PASSED, TestLogEvent.SKIPPED) exceptionFormat = TestExceptionFormat.FULL showExceptions = true showCauses = true showStackTraces = true showStandardStreams = true } info.events = lifecycle.events info.exceptionFormat = lifecycle.exceptionFormat } // See https://github.com/gradle/kotlin-dsl/issues/836 addTestListener(object : TestListener { override fun beforeSuite(suite: TestDescriptor) {} override fun beforeTest(testDescriptor: TestDescriptor) {} override fun afterTest(testDescriptor: TestDescriptor, result: TestResult) {} override fun afterSuite(suite: TestDescriptor, result: TestResult) { if (suite.parent == null) { // root suite logger.lifecycle("----") logger.lifecycle("Test result: ${result.resultType}") logger.lifecycle("Test summary: ${result.testCount} tests, " + "${result.successfulTestCount} succeeded, " + "${result.failedTestCount} failed, " + "${result.skippedTestCount} skipped") } } }) }