summaryrefslogtreecommitdiff
path: root/build.gradle
blob: 8ae318eac65055b52b34571d773fd4fb8ede5625 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
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 {
        }
    }
}