From 2f84c2dbf3ef445dfcc8b0de0cbe3b2f16b936af Mon Sep 17 00:00:00 2001 From: Ugljesa Jovanovic Date: Wed, 10 Jun 2020 22:18:27 +0200 Subject: [PATCH] Update linux and publish script, make initializer blocking in linux --- linuxBuildAndPublish.sh | 21 ++++++++++++++++++- .../com/ionspin/kotlin/crypto/Initializer.kt | 7 +++---- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/linuxBuildAndPublish.sh b/linuxBuildAndPublish.sh index f7305c8..b9f2e71 100644 --- a/linuxBuildAndPublish.sh +++ b/linuxBuildAndPublish.sh @@ -1 +1,20 @@ -./gradlew build publishJvmPublicationToSnapshotRepository publishJsPublicationToSnapshotRepository publishKotlinMultiplatformPublicationToSnapshotRepository publishLinuxPublicationToSnapshotRepository publishMetadataPublicationToSnapshotRepository +#!/bin/sh +#this will hopefully download all konan dependancies that we use in the build scripts +./gradlew multiplatform-crypto-api:build +#now let's build linux deps +export CLANG_BIN=$HOME/.konan/dependencies/clang-llvm-8.0.0-linux-x86-64/bin +cd sodiumWrapper +./makeLinuxX86-64.sh +#Workaround for travis using wrong ld +if [ "$TRAVIS" = "true" ] +then + sudo mv /usr/bin/ld /usr/bin/ld.bck + sudo ln -s $CLANG_BIN/ld.lld /usr/bin/ld +fi +./makeLinuxArm64.sh +#now we can do the delegated build +cd .. +./gradlew multiplatform-crypto-delegated:build +#and finally pure build +./gradlew multiplatform-crypto:build +./gradlew publishJvmPublicationToSnapshotRepository publishJsPublicationToSnapshotRepository publishKotlinMultiplatformPublicationToSnapshotRepository publishLinuxX64PublicationToSnapshotRepository publishLinuxArm64PublicationToSnapshotRepository publishMetadataPublicationToSnapshotRepository diff --git a/multiplatform-crypto-delegated/src/nativeMain/kotlin/com/ionspin/kotlin/crypto/Initializer.kt b/multiplatform-crypto-delegated/src/nativeMain/kotlin/com/ionspin/kotlin/crypto/Initializer.kt index 882605a..7541afa 100644 --- a/multiplatform-crypto-delegated/src/nativeMain/kotlin/com/ionspin/kotlin/crypto/Initializer.kt +++ b/multiplatform-crypto-delegated/src/nativeMain/kotlin/com/ionspin/kotlin/crypto/Initializer.kt @@ -12,12 +12,11 @@ actual object Initializer { private var isPlatformInitialized : AtomicInt = AtomicInt(0) actual suspend fun initialize() { - GlobalScope.launch() { - if (isPlatformInitialized.compareAndSet(0, 1)) { - sodium_init() - } + if (isPlatformInitialized.compareAndSet(0, 1)) { + sodium_init() } + } actual fun initializeWithCallback(done: () -> Unit) {