ComAmazonawsKms/runtimes/java/build.gradle.kts (118 lines of code) (raw):

import java.io.File import java.io.FileInputStream import java.util.Properties import java.net.URI import javax.annotation.Nullable plugins { `java-library` `maven-publish` } var props = Properties().apply { load(FileInputStream(File(rootProject.rootDir, "../../../project.properties"))) } var dafnyVersion = props.getProperty("dafnyVersion") group = "software.amazon.cryptography" version = "1.0-SNAPSHOT" description = "ComAmazonawsKms" java { toolchain.languageVersion.set(JavaLanguageVersion.of(8)) sourceSets["main"].java { srcDir("src/main/java") srcDir("src/main/dafny-generated") srcDir("src/main/smithy-generated") } sourceSets["test"].java { srcDir("src/test/dafny-generated") srcDir("src/test/java") } } var caUrl: URI? = null @Nullable val caUrlStr: String? = System.getenv("CODEARTIFACT_URL_JAVA_CONVERSION") if (!caUrlStr.isNullOrBlank()) { caUrl = URI.create(caUrlStr) } var caPassword: String? = null @Nullable val caPasswordString: String? = System.getenv("CODEARTIFACT_AUTH_TOKEN") if (!caPasswordString.isNullOrBlank()) { caPassword = caPasswordString } repositories { mavenCentral() if (caUrl != null && caPassword != null) { maven { name = "CodeArtifact" url = caUrl!! credentials { username = "aws" password = caPassword!! } } } } dependencies { implementation("org.dafny:DafnyRuntime:${dafnyVersion}") implementation("software.amazon.smithy.dafny:conversion:0.1.1") implementation("software.amazon.cryptography:StandardLibrary:1.0-SNAPSHOT") implementation(platform("software.amazon.awssdk:bom:2.26.3")) implementation("software.amazon.awssdk:kms") implementation("software.amazon.awssdk:apache-client") testImplementation("org.testng:testng:7.5") } publishing { publications.create<MavenPublication>("mavenLocal") { groupId = "software.amazon.cryptography" artifactId = "ComAmazonawsKms" from(components["java"]) } publications.create<MavenPublication>("maven") { groupId = "software.amazon.cryptography" artifactId = "ComAmazonawsKms" from(components["java"]) } repositories { mavenLocal() } } tasks.withType<JavaCompile>() { options.encoding = "UTF-8" } tasks.withType<Wrapper>() { gradleVersion = "7.6" } tasks { register("runTests", JavaExec::class.java) { mainClass.set("TestsFromDafny") classpath = sourceSets["test"].runtimeClasspath } } tasks.test { useTestNG() // This will show System.out.println statements testLogging.showStandardStreams = true testLogging { lifecycle { events = mutableSetOf(org.gradle.api.tasks.testing.logging.TestLogEvent.FAILED, org.gradle.api.tasks.testing.logging.TestLogEvent.PASSED, org.gradle.api.tasks.testing.logging.TestLogEvent.SKIPPED) exceptionFormat = org.gradle.api.tasks.testing.logging.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") } } }) }