TestVectorsAwsCryptographicMaterialProviders/runtimes/java/build.gradle.kts (99 lines of code) (raw):

import java.io.File import java.io.FileInputStream import java.util.Properties import java.net.URI import javax.annotation.Nullable tasks.wrapper { gradleVersion = "7.6" } plugins { `java-library` `maven-publish` `application` } var props = Properties().apply { load(FileInputStream(File(rootProject.rootDir, "../../../project.properties"))) } var dafnyVersion = props.getProperty("dafnyVersion") group = "software.amazon.cryptography" version = props.getProperty("mplVersion") description = "TestAwsCryptographicMaterialProviders" 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_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 { mavenCentral() mavenLocal() 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:aws-cryptographic-material-providers:${version}") implementation(platform("software.amazon.awssdk:bom:2.25.1")) implementation("software.amazon.awssdk:dynamodb") implementation("software.amazon.awssdk:dynamodb-enhanced") implementation("software.amazon.awssdk:kms") } publishing { publications.create<MavenPublication>("mavenLocal") { groupId = group as String? artifactId = description from(components["java"]) } publications.create<MavenPublication>("maven") { groupId = group as String? artifactId = description from(components["java"]) } repositories { mavenLocal() } } tasks.withType<JavaCompile>() { options.encoding = "UTF-8" } tasks.register<JavaExec>("runTests") { dependsOn("copyKeysJSON") mainClass.set("TestsFromDafny") classpath = sourceSets["test"].runtimeClasspath } tasks.register<Copy>("copyKeysJSON") { from(layout.projectDirectory.file("../../dafny/TestVectorsAwsCryptographicMaterialProviders/test/keys.json")) into(layout.projectDirectory.dir("dafny/TestVectorsAwsCryptographicMaterialProviders/test")) } tasks.register<Copy>("copyKeysJSONCurr") { from(layout.projectDirectory.file("../../dafny/TestVectorsAwsCryptographicMaterialProviders/test/keys.json")) into(layout.projectDirectory.dir(".")) } application { mainClass.set("ImplementationFromDafny") }