import java.net.URI import javax.annotation.Nullable plugins { `java-library` `maven-publish` } group = "software.amazon.cryptography" version = "1.0-SNAPSHOT" description = "AwsCryptographyPrimitives" 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") } } 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() mavenLocal() if (caUrl != null && caPassword != null) { maven { name = "CodeArtifact" url = caUrl!! credentials { username = "aws" password = caPassword!! } } } } dependencies { implementation("org.dafny:DafnyRuntime:4.1.0") implementation("software.amazon.smithy.dafny:conversion:0.1") implementation("software.amazon.cryptography:StandardLibrary:1.0-SNAPSHOT") implementation("org.bouncycastle:bcprov-jdk18on:1.72") } publishing { publications.create("mavenLocal") { groupId = "software.amazon.cryptography" artifactId = "AwsCryptographyPrimitives" from(components["java"]) } publications.create("maven") { groupId = "software.amazon.cryptography" artifactId = "AwsCryptographyPrimitives" from(components["java"]) } repositories { mavenLocal() } } tasks.withType() { options.encoding = "UTF-8" } tasks { register("runTests", JavaExec::class.java) { mainClass.set("TestsFromDafny") classpath = sourceSets["test"].runtimeClasspath } }