forked from loafle/openapi-generator-original
		
	* Make Java libraries compatible with Gradle 7 * Make kotlin-spring compatible with Gradle 7 * Update samples to comply to Gradle 7.2 * Generate samples
		
			
				
	
	
		
			162 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
			
		
		
	
	
			162 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
apply plugin: 'kotlin-multiplatform'
 | 
						|
apply plugin: 'kotlinx-serialization'
 | 
						|
 | 
						|
group 'org.openapitools'
 | 
						|
version '1.0.0'
 | 
						|
 | 
						|
ext {
 | 
						|
    kotlin_version = '1.3.50'
 | 
						|
    kotlinx_version = '1.1.0'
 | 
						|
    coroutines_version = '1.3.1'
 | 
						|
    serialization_version = '0.12.0'
 | 
						|
    ktor_version = '1.2.4'
 | 
						|
}
 | 
						|
 | 
						|
buildscript {
 | 
						|
    repositories {
 | 
						|
        mavenCentral()
 | 
						|
    }
 | 
						|
    dependencies {
 | 
						|
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.50" // $kotlin_version
 | 
						|
        classpath "org.jetbrains.kotlin:kotlin-serialization:1.3.50" // $kotlin_version
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
repositories {
 | 
						|
    mavenCentral()
 | 
						|
}
 | 
						|
 | 
						|
kotlin {
 | 
						|
    jvm()
 | 
						|
    iosArm64() { binaries { framework { freeCompilerArgs.add("-Xobjc-generics") } } }
 | 
						|
    iosX64() { binaries { framework { freeCompilerArgs.add("-Xobjc-generics") } } }
 | 
						|
    js()
 | 
						|
 | 
						|
    sourceSets {
 | 
						|
        commonMain {
 | 
						|
            dependencies {
 | 
						|
                implementation "org.jetbrains.kotlin:kotlin-stdlib-common:$kotlin_version"
 | 
						|
                implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core-common:$coroutines_version"
 | 
						|
                implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-common:$serialization_version"
 | 
						|
                api "io.ktor:ktor-client-core:$ktor_version"
 | 
						|
                api "io.ktor:ktor-client-json:$ktor_version"
 | 
						|
                api "io.ktor:ktor-client-serialization:$ktor_version"
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        commonTest {
 | 
						|
            dependencies {
 | 
						|
                implementation "org.jetbrains.kotlin:kotlin-test-common"
 | 
						|
                implementation "org.jetbrains.kotlin:kotlin-test-annotations-common"
 | 
						|
                implementation "io.ktor:ktor-client-mock:$ktor_version"
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        jvmMain {
 | 
						|
            dependsOn commonMain
 | 
						|
            dependencies {
 | 
						|
                implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
 | 
						|
                implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version"
 | 
						|
                implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime:$serialization_version"
 | 
						|
                api "io.ktor:ktor-client-core-jvm:$ktor_version"
 | 
						|
                api "io.ktor:ktor-client-json-jvm:$ktor_version"
 | 
						|
                api "io.ktor:ktor-client-serialization-jvm:$ktor_version"
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        jvmTest {
 | 
						|
            dependsOn commonTest
 | 
						|
            dependencies {
 | 
						|
                implementation "org.jetbrains.kotlin:kotlin-test"
 | 
						|
                implementation "org.jetbrains.kotlin:kotlin-test-junit"
 | 
						|
                implementation "io.ktor:ktor-client-mock-jvm:$ktor_version"
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        iosMain {
 | 
						|
            dependsOn commonMain
 | 
						|
            dependencies {
 | 
						|
                implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core-native:$coroutines_version"
 | 
						|
                implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-native:$serialization_version"
 | 
						|
                api "io.ktor:ktor-client-ios:$ktor_version"
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        iosTest {
 | 
						|
            dependsOn commonTest
 | 
						|
            dependencies {
 | 
						|
                implementation "io.ktor:ktor-client-mock-native:$ktor_version"
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        iosArm64().compilations.main.defaultSourceSet {
 | 
						|
            dependsOn iosMain
 | 
						|
            dependencies {
 | 
						|
                api "io.ktor:ktor-client-ios-iosarm64:$ktor_version"
 | 
						|
                api "io.ktor:ktor-client-json-iosarm64:$ktor_version"
 | 
						|
                api "io.ktor:ktor-client-serialization-iosarm64:$ktor_version"
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        iosArm64().compilations.test.defaultSourceSet {
 | 
						|
            dependsOn iosTest
 | 
						|
        }
 | 
						|
 | 
						|
        iosX64().compilations.main.defaultSourceSet {
 | 
						|
            dependsOn iosMain
 | 
						|
            dependencies {
 | 
						|
                api "io.ktor:ktor-client-ios-iosx64:$ktor_version"
 | 
						|
                api "io.ktor:ktor-client-json-iosx64:$ktor_version"
 | 
						|
                api "io.ktor:ktor-client-serialization-iosx64:$ktor_version"
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        jsMain {
 | 
						|
            dependsOn commonMain
 | 
						|
            dependencies {
 | 
						|
                implementation "org.jetbrains.kotlin:kotlin-stdlib-js:$kotlin_version"
 | 
						|
                implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core-js:$coroutines_version"
 | 
						|
                implementation "org.jetbrains.kotlinx:kotlinx-serialization-runtime-js:$serialization_version"
 | 
						|
                api "io.ktor:ktor-client-js:$ktor_version"
 | 
						|
                api "io.ktor:ktor-client-json-js:$ktor_version"
 | 
						|
                api "io.ktor:ktor-client-serialization-js:$ktor_version"
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        jsTest {
 | 
						|
            dependsOn commonTest
 | 
						|
            dependencies {
 | 
						|
                implementation "io.ktor:ktor-client-mock-js:$ktor_version"
 | 
						|
                implementation "io.ktor:ktor-client-js:$ktor_version"
 | 
						|
                implementation "io.ktor:ktor-client-json:$ktor_version"
 | 
						|
                implementation "io.ktor:ktor-client-serialization-js:$ktor_version"
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        iosX64().compilations.test.defaultSourceSet {
 | 
						|
            dependsOn iosTest
 | 
						|
        }
 | 
						|
 | 
						|
        all {
 | 
						|
            languageSettings {
 | 
						|
                useExperimentalAnnotation('kotlin.Experimental')
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
task iosTest {
 | 
						|
    def device = project.findProperty("device")?.toString() ?: "iPhone 8"
 | 
						|
    dependsOn 'linkDebugTestIosX64'
 | 
						|
    group = JavaBasePlugin.VERIFICATION_GROUP
 | 
						|
    description = "Execute unit tests on ${device} simulator"
 | 
						|
    doLast {
 | 
						|
        def binary = kotlin.targets.iosX64.binaries.getTest('DEBUG')
 | 
						|
        exec { commandLine 'xcrun', 'simctl', 'spawn', device, binary.outputFile }
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
configurations { // workaround for https://youtrack.jetbrains.com/issue/KT-27170
 | 
						|
    compileClasspath
 | 
						|
}
 |