aboutsummaryrefslogtreecommitdiff
path: root/okio-nodefilesystem/build.gradle.kts
blob: 0509e4e5a2610247205b90c162516584cd25b335 (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
import com.vanniktech.maven.publish.JavadocJar.Dokka
import com.vanniktech.maven.publish.KotlinJs
import com.vanniktech.maven.publish.MavenPublishBaseExtension

plugins {
  kotlin("js")
  id("org.jetbrains.dokka")
  id("com.vanniktech.maven.publish.base")
  id("binary-compatibility-validator")
}

kotlin {
  js {
    configure(listOf(compilations.getByName("main"), compilations.getByName("test"))) {
      tasks.getByName(compileKotlinTaskName) {
        kotlinOptions {
          moduleKind = "umd"
          sourceMap = true
          metaInfo = true
        }
      }
    }
    nodejs {
      testTask {
        useMocha {
          timeout = "30s"
        }
      }
    }
  }
  sourceSets {
    all {
      languageSettings.optIn("kotlin.RequiresOptIn")
    }
    matching { it.name.endsWith("Test") }.all {
      languageSettings {
        optIn("kotlin.time.ExperimentalTime")
      }
    }
    val main by getting {
      dependencies {
        implementation(projects.okio)
        // Uncomment this to generate fs.fs.module_node.kt. Use it when updating fs.kt.
        // implementation(npm("@types/node", "14.14.16", true))
      }
    }
    val test by getting {
      dependencies {
        implementation(libs.kotlin.test)
        implementation(libs.kotlin.time)

        implementation(projects.okioFakefilesystem)
        implementation(projects.okioTestingSupport)
      }
    }
  }
}

configure<MavenPublishBaseExtension> {
  configure(
    KotlinJs(javadocJar = Dokka("dokkaGfm"))
  )
}