-
Notifications
You must be signed in to change notification settings - Fork 32
/
Copy pathbuild.gradle
119 lines (109 loc) · 3.48 KB
/
build.gradle
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
buildscript {
repositories {
mavenCentral()
jcenter()
}
dependencies {
classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.21'
}
}
repositories {
jcenter()
mavenCentral()
}
group 'com.benasher44'
version '0.0.1'
apply plugin: 'kotlin-multiplatform'
apply plugin: 'maven-publish'
kotlin {
targets {
targetFromPreset(presets.jvm, 'jvm')
targetFromPreset(presets.js, 'js')
targetFromPreset(presets.macosX64, 'macos')
targetFromPreset(presets.iosX64, 'iosSim')
targetFromPreset(presets.iosArm64, 'iosDevice64')
targetFromPreset(presets.iosArm32, 'iosDevice32')
targetFromPreset(presets.mingwX64, 'mingw') {
compilations.test.linkerOpts "-Wl,--subsystem,windows, -Bstatic -lbcrypt"
}
targetFromPreset(presets.linuxX64, 'linux64')
targetFromPreset(presets.linuxArm32Hfp, 'linux32')
}
sourceSets {
commonMain {
dependencies {
implementation 'org.jetbrains.kotlin:kotlin-stdlib-common'
}
}
commonTest {
dependencies {
implementation 'org.jetbrains.kotlin:kotlin-test-common'
implementation 'org.jetbrains.kotlin:kotlin-test-annotations-common'
}
}
jvmMain {
dependencies {
implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
}
}
jvmTest {
dependencies {
implementation 'org.jetbrains.kotlin:kotlin-test'
implementation 'org.jetbrains.kotlin:kotlin-test-junit'
}
}
jsMain {
dependencies {
implementation 'org.jetbrains.kotlin:kotlin-stdlib-js'
}
}
jsTest {
dependencies {
implementation 'org.jetbrains.kotlin:kotlin-test-js'
}
}
def nix64MainSourceSets = [
'src/nativeMain/kotlin',
'src/nix64Main/kotlin'
]
def nix32MainSourceSets = [
'src/nativeMain/kotlin',
'src/nix32Main/kotlin'
]
macosMain { kotlin.srcDirs += nix64MainSourceSets }
macosTest { kotlin.srcDirs += 'src/cocoaTest/kotlin' }
iosDevice64Main { kotlin.srcDirs += nix64MainSourceSets }
iosDevice64Test { kotlin.srcDirs += 'src/cocoaTest/kotlin' }
iosDevice32Main { kotlin.srcDirs += nix32MainSourceSets }
iosDevice32Test { kotlin.srcDirs += 'src/cocoaTest/kotlin' }
iosSimMain { kotlin.srcDirs += nix64MainSourceSets }
iosSimTest { kotlin.srcDirs += 'src/cocoaTest/kotlin' }
mingwMain {
kotlin.srcDirs += [
'src/nativeMain/kotlin',
'src/mingwMain/kotlin'
]
}
linux64Main { kotlin.srcDirs += nix64MainSourceSets }
linux32Main { kotlin.srcDirs += nix32MainSourceSets }
}
}
configurations {
ktlint
}
dependencies {
ktlint "com.github.shyiko:ktlint:0.30.0"
}
task ktlint(type: JavaExec, group: "verification") {
description = "Check Kotlin code style."
classpath = configurations.ktlint
main = "com.github.shyiko.ktlint.Main"
args "src/**/*.kt"
}
check.dependsOn ktlint
task ktlintFormat(type: JavaExec, group: "formatting") {
description = "Fix Kotlin code style deviations."
classpath = configurations.ktlint
main = "com.github.shyiko.ktlint.Main"
args "-F", "src/**/*.kt"
}