xref: /aosp_15_r20/external/kotlinx.serialization/integration-test/build.gradle (revision 57b5a4a64c534cf7f27ac9427ceab07f3d8ed3d8)
1*57b5a4a6SAndroid Build Coastguard Worker/*
2*57b5a4a6SAndroid Build Coastguard Worker * Copyright 2017-2020 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license.
3*57b5a4a6SAndroid Build Coastguard Worker */
4*57b5a4a6SAndroid Build Coastguard Workerbuildscript {
5*57b5a4a6SAndroid Build Coastguard Worker    ext.serialization_version = mainLibVersion
6*57b5a4a6SAndroid Build Coastguard Worker
7*57b5a4a6SAndroid Build Coastguard Worker    repositories {
8*57b5a4a6SAndroid Build Coastguard Worker        mavenCentral()
9*57b5a4a6SAndroid Build Coastguard Worker        maven { url "https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/kotlin/p/kotlin/dev" }
10*57b5a4a6SAndroid Build Coastguard Worker        mavenLocal() {
11*57b5a4a6SAndroid Build Coastguard Worker            mavenContent {
12*57b5a4a6SAndroid Build Coastguard Worker                snapshotsOnly()
13*57b5a4a6SAndroid Build Coastguard Worker            }
14*57b5a4a6SAndroid Build Coastguard Worker        }
15*57b5a4a6SAndroid Build Coastguard Worker    }
16*57b5a4a6SAndroid Build Coastguard Worker}
17*57b5a4a6SAndroid Build Coastguard Worker
18*57b5a4a6SAndroid Build Coastguard Worker// Versions substituted in settings.gradle
19*57b5a4a6SAndroid Build Coastguard Workerplugins {
20*57b5a4a6SAndroid Build Coastguard Worker    id 'org.jetbrains.kotlin.multiplatform' version '0'
21*57b5a4a6SAndroid Build Coastguard Worker    id 'org.jetbrains.kotlin.plugin.serialization' version '0'
22*57b5a4a6SAndroid Build Coastguard Worker    id 'org.jetbrains.kotlin.kapt' version '0'
23*57b5a4a6SAndroid Build Coastguard Worker}
24*57b5a4a6SAndroid Build Coastguard Worker
25*57b5a4a6SAndroid Build Coastguard Workerrepositories {
26*57b5a4a6SAndroid Build Coastguard Worker    mavenCentral()
27*57b5a4a6SAndroid Build Coastguard Worker    maven { url "https://cache-redirector.jetbrains.com/maven.pkg.jetbrains.space/kotlin/p/kotlin/dev" }
28*57b5a4a6SAndroid Build Coastguard Worker    mavenLocal() {
29*57b5a4a6SAndroid Build Coastguard Worker        mavenContent {
30*57b5a4a6SAndroid Build Coastguard Worker            snapshotsOnly()
31*57b5a4a6SAndroid Build Coastguard Worker        }
32*57b5a4a6SAndroid Build Coastguard Worker    }
33*57b5a4a6SAndroid Build Coastguard Worker}
34*57b5a4a6SAndroid Build Coastguard Worker
35*57b5a4a6SAndroid Build Coastguard Workergroup 'com.example'
36*57b5a4a6SAndroid Build Coastguard Workerversion '0.0.1'
37*57b5a4a6SAndroid Build Coastguard Worker
38*57b5a4a6SAndroid Build Coastguard Workerapply plugin: 'maven-publish'
39*57b5a4a6SAndroid Build Coastguard Worker
40*57b5a4a6SAndroid Build Coastguard Workerkotlin {
41*57b5a4a6SAndroid Build Coastguard Worker    // Switching module kind for JS is required to run tests
42*57b5a4a6SAndroid Build Coastguard Worker    js {
43*57b5a4a6SAndroid Build Coastguard Worker        nodejs {}
44*57b5a4a6SAndroid Build Coastguard Worker        configure([compilations.main, compilations.test]) {
45*57b5a4a6SAndroid Build Coastguard Worker            kotlinOptions {
46*57b5a4a6SAndroid Build Coastguard Worker                sourceMap = true
47*57b5a4a6SAndroid Build Coastguard Worker                moduleKind = "umd"
48*57b5a4a6SAndroid Build Coastguard Worker            }
49*57b5a4a6SAndroid Build Coastguard Worker        }
50*57b5a4a6SAndroid Build Coastguard Worker    }
51*57b5a4a6SAndroid Build Coastguard Worker    wasmJs {
52*57b5a4a6SAndroid Build Coastguard Worker        nodejs()
53*57b5a4a6SAndroid Build Coastguard Worker    }
54*57b5a4a6SAndroid Build Coastguard Worker    wasmWasi {
55*57b5a4a6SAndroid Build Coastguard Worker        nodejs()
56*57b5a4a6SAndroid Build Coastguard Worker    }
57*57b5a4a6SAndroid Build Coastguard Worker    jvm {
58*57b5a4a6SAndroid Build Coastguard Worker        withJava()
59*57b5a4a6SAndroid Build Coastguard Worker    }
60*57b5a4a6SAndroid Build Coastguard Worker    macosX64()
61*57b5a4a6SAndroid Build Coastguard Worker    macosArm64()
62*57b5a4a6SAndroid Build Coastguard Worker    linuxX64()
63*57b5a4a6SAndroid Build Coastguard Worker    mingwX64()
64*57b5a4a6SAndroid Build Coastguard Worker
65*57b5a4a6SAndroid Build Coastguard Worker    sourceSets {
66*57b5a4a6SAndroid Build Coastguard Worker        all {
67*57b5a4a6SAndroid Build Coastguard Worker            languageSettings {
68*57b5a4a6SAndroid Build Coastguard Worker                optIn('kotlinx.serialization.ExperimentalSerializationApi')
69*57b5a4a6SAndroid Build Coastguard Worker            }
70*57b5a4a6SAndroid Build Coastguard Worker        }
71*57b5a4a6SAndroid Build Coastguard Worker
72*57b5a4a6SAndroid Build Coastguard Worker        commonMain {
73*57b5a4a6SAndroid Build Coastguard Worker            dependencies {
74*57b5a4a6SAndroid Build Coastguard Worker                implementation kotlin('stdlib')
75*57b5a4a6SAndroid Build Coastguard Worker                implementation "org.jetbrains.kotlinx:kotlinx-serialization-core:$serialization_version"
76*57b5a4a6SAndroid Build Coastguard Worker                implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:$serialization_version"
77*57b5a4a6SAndroid Build Coastguard Worker                implementation "org.jetbrains.kotlinx:kotlinx-serialization-protobuf:$serialization_version"
78*57b5a4a6SAndroid Build Coastguard Worker                implementation "org.jetbrains.kotlinx:kotlinx-serialization-cbor:$serialization_version"
79*57b5a4a6SAndroid Build Coastguard Worker            }
80*57b5a4a6SAndroid Build Coastguard Worker        }
81*57b5a4a6SAndroid Build Coastguard Worker        commonTest {
82*57b5a4a6SAndroid Build Coastguard Worker            dependencies {
83*57b5a4a6SAndroid Build Coastguard Worker                implementation kotlin('test-common')
84*57b5a4a6SAndroid Build Coastguard Worker                implementation kotlin('test-annotations-common')
85*57b5a4a6SAndroid Build Coastguard Worker            }
86*57b5a4a6SAndroid Build Coastguard Worker        }
87*57b5a4a6SAndroid Build Coastguard Worker        jvmMain {
88*57b5a4a6SAndroid Build Coastguard Worker            dependencies {
89*57b5a4a6SAndroid Build Coastguard Worker                implementation kotlin('stdlib-jdk8')
90*57b5a4a6SAndroid Build Coastguard Worker                implementation 'com.google.dagger:dagger:2.13'
91*57b5a4a6SAndroid Build Coastguard Worker            }
92*57b5a4a6SAndroid Build Coastguard Worker        }
93*57b5a4a6SAndroid Build Coastguard Worker        jvmTest {
94*57b5a4a6SAndroid Build Coastguard Worker            dependencies {
95*57b5a4a6SAndroid Build Coastguard Worker                implementation kotlin('test')
96*57b5a4a6SAndroid Build Coastguard Worker                implementation kotlin('test-junit')
97*57b5a4a6SAndroid Build Coastguard Worker            }
98*57b5a4a6SAndroid Build Coastguard Worker        }
99*57b5a4a6SAndroid Build Coastguard Worker        jsMain {
100*57b5a4a6SAndroid Build Coastguard Worker            dependencies {
101*57b5a4a6SAndroid Build Coastguard Worker                implementation kotlin('stdlib-js')
102*57b5a4a6SAndroid Build Coastguard Worker
103*57b5a4a6SAndroid Build Coastguard Worker            }
104*57b5a4a6SAndroid Build Coastguard Worker        }
105*57b5a4a6SAndroid Build Coastguard Worker        jsTest {
106*57b5a4a6SAndroid Build Coastguard Worker            dependencies {
107*57b5a4a6SAndroid Build Coastguard Worker                implementation kotlin('test-js')
108*57b5a4a6SAndroid Build Coastguard Worker            }
109*57b5a4a6SAndroid Build Coastguard Worker        }
110*57b5a4a6SAndroid Build Coastguard Worker        wasmJsMain {
111*57b5a4a6SAndroid Build Coastguard Worker            dependencies {
112*57b5a4a6SAndroid Build Coastguard Worker                api 'org.jetbrains.kotlin:kotlin-stdlib-wasm-js'
113*57b5a4a6SAndroid Build Coastguard Worker            }
114*57b5a4a6SAndroid Build Coastguard Worker        }
115*57b5a4a6SAndroid Build Coastguard Worker        wasmJsTest {
116*57b5a4a6SAndroid Build Coastguard Worker            dependencies {
117*57b5a4a6SAndroid Build Coastguard Worker                api 'org.jetbrains.kotlin:kotlin-test-wasm-js'
118*57b5a4a6SAndroid Build Coastguard Worker            }
119*57b5a4a6SAndroid Build Coastguard Worker        }
120*57b5a4a6SAndroid Build Coastguard Worker        wasmWasiMain {
121*57b5a4a6SAndroid Build Coastguard Worker            dependencies {
122*57b5a4a6SAndroid Build Coastguard Worker                api 'org.jetbrains.kotlin:kotlin-stdlib-wasm-wasi'
123*57b5a4a6SAndroid Build Coastguard Worker            }
124*57b5a4a6SAndroid Build Coastguard Worker        }
125*57b5a4a6SAndroid Build Coastguard Worker        wasmWasiTest {
126*57b5a4a6SAndroid Build Coastguard Worker            dependencies {
127*57b5a4a6SAndroid Build Coastguard Worker                api 'org.jetbrains.kotlin:kotlin-test-wasm-wasi'
128*57b5a4a6SAndroid Build Coastguard Worker            }
129*57b5a4a6SAndroid Build Coastguard Worker        }
130*57b5a4a6SAndroid Build Coastguard Worker    }
131*57b5a4a6SAndroid Build Coastguard Worker
132*57b5a4a6SAndroid Build Coastguard Worker    targets.all {
133*57b5a4a6SAndroid Build Coastguard Worker        compilations.all {
134*57b5a4a6SAndroid Build Coastguard Worker            kotlinOptions {
135*57b5a4a6SAndroid Build Coastguard Worker                freeCompilerArgs += "-Xexpect-actual-classes"
136*57b5a4a6SAndroid Build Coastguard Worker            }
137*57b5a4a6SAndroid Build Coastguard Worker        }
138*57b5a4a6SAndroid Build Coastguard Worker        compilations.main {
139*57b5a4a6SAndroid Build Coastguard Worker            kotlinOptions {
140*57b5a4a6SAndroid Build Coastguard Worker                allWarningsAsErrors = true
141*57b5a4a6SAndroid Build Coastguard Worker            }
142*57b5a4a6SAndroid Build Coastguard Worker        }
143*57b5a4a6SAndroid Build Coastguard Worker    }
144*57b5a4a6SAndroid Build Coastguard Worker}
145*57b5a4a6SAndroid Build Coastguard Worker
146*57b5a4a6SAndroid Build Coastguard Workerdependencies {
147*57b5a4a6SAndroid Build Coastguard Worker    kapt 'com.google.dagger:dagger-compiler:2.13'
148*57b5a4a6SAndroid Build Coastguard Worker}
149*57b5a4a6SAndroid Build Coastguard Worker
150*57b5a4a6SAndroid Build Coastguard Workertask run dependsOn "check"
151*57b5a4a6SAndroid Build Coastguard Worker
152*57b5a4a6SAndroid Build Coastguard WorkerrootProject.extensions.findByType(org.jetbrains.kotlin.gradle.targets.js.nodejs.NodeJsRootExtension.class).with {
153*57b5a4a6SAndroid Build Coastguard Worker    // canary nodejs that supports recent Wasm GC changes
154*57b5a4a6SAndroid Build Coastguard Worker    it.nodeVersion = "21.0.0-v8-canary202309167e82ab1fa2"
155*57b5a4a6SAndroid Build Coastguard Worker    it.nodeDownloadBaseUrl = "https://nodejs.org/download/v8-canary"
156*57b5a4a6SAndroid Build Coastguard Worker}
157*57b5a4a6SAndroid Build Coastguard Worker
158*57b5a4a6SAndroid Build Coastguard Workertasks.withType(org.jetbrains.kotlin.gradle.targets.js.npm.tasks.KotlinNpmInstallTask).configureEach {
159*57b5a4a6SAndroid Build Coastguard Worker    args.add("--ignore-engines")
160*57b5a4a6SAndroid Build Coastguard Worker}
161