plugins { id 'org.jetbrains.kotlin.multiplatform' version '1.3.72' } repositories { mavenCentral() jcenter() } group 'net.taler' version '0.0.1' apply plugin: 'maven-publish' kotlin { jvm("android") js { browser { } nodejs { } } // For ARM, should be changed to iosArm32 or iosArm64 // For Linux, should be changed to e.g. linuxX64 // For MacOS, should be changed to e.g. macosX64 // For Windows, should be changed to e.g. mingwX64 linuxX64("linux") { compilations.main.cinterops { sodium { packageName 'org.libsodium' } } } sourceSets { all { languageSettings { useExperimentalAnnotation('kotlin.ExperimentalStdlibApi') } } commonMain { dependencies { implementation kotlin('stdlib-common') } } commonTest { dependencies { implementation kotlin('test-common') implementation kotlin('test-annotations-common') } } androidMain { dependencies { implementation kotlin('stdlib-jdk8') // TODO Android // implementation "com.goterl.lazycode:lazysodium-android:4.1.1@aar" implementation "com.goterl.lazycode:lazysodium-java:4.2.6" implementation 'net.java.dev.jna:jna:5.5.0@aar' } } androidTest { dependencies { implementation kotlin('test') implementation kotlin('test-junit') } } jsMain { dependencies { implementation kotlin('stdlib-js') implementation npm('tweetnacl', '1.0.3') implementation npm('ed2curve', '0.3.0') implementation npm('hash.js', '1.1.7') } } jsTest { dependencies { implementation kotlin('test-js') } } linuxMain { } linuxTest { } } }