org.jetbrains.kotlin.commonizer.Commonizer.kt Maven / Gradle / Ivy
/*
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
*/
package org.jetbrains.kotlin.commonizer
import java.io.File
import java.io.Serializable
public interface CInteropCommonizer : Serializable {
@Throws(Throwable::class)
public fun commonizeLibraries(
konanHome: File,
inputLibraries: Set,
dependencyLibraries: Set,
outputTargets: Set,
outputDirectory: File,
logLevel: CommonizerLogLevel = CommonizerLogLevel.Quiet,
additionalSettings: List> = emptyList(),
)
}
public interface NativeDistributionCommonizer : Serializable {
@Throws(Throwable::class)
public fun commonizeNativeDistribution(
konanHome: File,
outputDirectory: File,
outputTargets: Set,
logLevel: CommonizerLogLevel = CommonizerLogLevel.Quiet,
additionalSettings: List> = emptyList(),
)
}
public data class AdditionalCommonizerSetting(
public val key: CommonizerSettings.Key,
public val value: T,
)
public infix fun CommonizerSettings.Key.setTo(settingValue: T): AdditionalCommonizerSetting =
AdditionalCommonizerSetting(this, settingValue)