Package-level declarations

Types

Link copied to clipboard
data class CInteropsConfig(var defFile: File, var interopsPackage: String, var isStatic: Boolean = false, var declaration: String? = null, var targetWriter: CInteropsTargetWriter = defaultCInteropsTargetWriter, var code: String? = null, var codeFile: File? = null, var extraLibsDirs: List<ExtraLibsDirectory> = emptyList())
Link copied to clipboard
Link copied to clipboard
typealias ExtraLibsDirectory = (KonanTarget) -> File
Link copied to clipboard
typealias ScriptCommand = ScriptCommandContext.(KonanTarget) -> Unit
Link copied to clipboard
Link copied to clipboard
typealias TaskConfig = (KonanTarget) -> TaskProvider<*>
Link copied to clipboard
abstract class Xtras(val project: Project)
Link copied to clipboard
annotation class XtrasDSL
Link copied to clipboard
Link copied to clipboard
typealias XtrasEnvironmentConfig = XtrasEnvironment.(target: KonanTarget?) -> Unit
Link copied to clipboard
abstract class XtrasLibrary(val group: String, val name: String, val version: String, val project: Project)
Link copied to clipboard
Link copied to clipboard
class XtrasPlugin : Plugin<Any>

Properties

Link copied to clipboard
val KonanTarget.androidLibDir: String?
Link copied to clipboard
Link copied to clipboard
val KonanTarget.envLibraryPathName: String
Link copied to clipboard
val KonanTarget.goArch: String
Link copied to clipboard
val KonanTarget.goOS: String?
Link copied to clipboard
val KonanTarget.hostTriplet: String
Link copied to clipboard
val jniTargets: Set<KonanTarget>

Set of KonanTarget that support JNI implementations

Link copied to clipboard
val Project.konanDir: File
Link copied to clipboard
val KonanTarget.kotlinTargetName: String
Link copied to clipboard
Link copied to clipboard
val KonanTarget.sharedLibExtn: String
Link copied to clipboard
val KonanTarget.supportsJNI: Boolean

Whether the KonanTarget is in jniTargets

Link copied to clipboard
val KonanTarget.Companion.targetNameMap: Map<String, KonanTarget>
Link copied to clipboard
Link copied to clipboard
const val XTRAS_GROUP: String
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val Project.xtrasBuildDir: File

Path to the xtras build directory. This is the prefix directory for compiled source code.

Link copied to clipboard
val Project.xtrasCInteropsDir: File

Path to the xtras cinterops directory. This is where cinterop files are generated from headers.

Link copied to clipboard
val Project.xtrasDir: File

Path to the top level xtras directory. This is where sources and binary packages are downloaded and built.

Link copied to clipboard
val Project.xtrasDocsDir: File

Path to the xtras kdocs directory. This is where kdoc documentation is generated to.

Link copied to clipboard
val Project.xtrasDownloadsDir: File

Path to the xtras downloads directory. This is where source archives are downloaded to.

Link copied to clipboard
val Project.xtrasExtension: Xtras
Link copied to clipboard
val Project.xtrasLibsDir: File

Path to the xtras libs directory. This where binary packages are extracted to.

Link copied to clipboard
val Project.xtrasLocalRepoDir: File
Link copied to clipboard
val Project.xtrasLogsDir: File

Path to the xtras logs directory. This is where log output of build tasks are stored.

Link copied to clipboard
val Project.xtrasMavenDir: File

Path to the xtras maven directory. This is where binary archives are published to.

Link copied to clipboard
val Project.xtrasMsysDir: File

Path to the msys directory (used on windows).

Link copied to clipboard
val Project.xtrasNdkDir: File

Path to the ndk directory. Defaults to the environment variable ANDROID_NDK_ROOT then ANDROID_NDK_HOME

Link copied to clipboard
val Project.xtrasPackagesDir: File

Path to the xtras packages directory. This is where binary archives are stored.

Link copied to clipboard
val Project.xtrasSourceDir: File

Path to the xtras source directory. This is where source code is located

Functions

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun XtrasEnvironment.environmentKonan(library: XtrasLibrary, target: KonanTarget, project: Project)
Link copied to clipboard
fun XtrasEnvironment.environmentNDK(xtras: Xtras, target: KonanTarget, project: Project)
Link copied to clipboard
fun Project.log(msg: String, level: LogLevel = LogLevel.INFO, err: Throwable? = null)
Link copied to clipboard
inline fun Project.logDebug(msg: String, err: Throwable? = null)
Link copied to clipboard
inline fun Project.logError(msg: String, err: Throwable? = null)
Link copied to clipboard
inline fun Project.logInfo(msg: String, err: Throwable? = null)
Link copied to clipboard
inline fun Project.logTrace(msg: String, err: Throwable? = null)
Link copied to clipboard
inline fun Project.logWarn(msg: String, err: Throwable? = null)
Link copied to clipboard
fun Project.pathOf(vararg paths: Any?): String
fun Project.pathOf(paths: List<Any?>): String
Link copied to clipboard
inline fun <T> Project.projectProperty(name: String, noinline defaultValue: () -> T? = null): T
Link copied to clipboard
fun XtrasLibrary.registerBinaryPublication(target: KonanTarget)
Link copied to clipboard
inline fun <T : XtrasLibrary> Project.registerXtrasGitLibrary(extensionName: String, group: String = projectProperty<String>("$extensionName.group"), version: String = projectProperty<String>("$extensionName.version"), url: String = projectProperty<String>("$extensionName.url"), commit: String = projectProperty<String>("$extensionName.commit"), noinline block: T.() -> Unit): T
Link copied to clipboard
fun File.resolveAll(vararg paths: String): File
Link copied to clipboard
fun XtrasLibrary.resolveBinariesFromMaven(target: KonanTarget): File?
Link copied to clipboard
fun Project.unixPath(file: File): String
Link copied to clipboard
fun Project.xtrasAndroidConfig(namespace: String = group.toString(), compileSdk: Int = xtrasExtension.androidConfig.compileSDKVersion, block: LibraryExtension.() -> Unit = {})
Link copied to clipboard
fun Project.xtrasPath(path: XtrasPath): File
Link copied to clipboard
fun Publication.xtrasPom(projectName: String, projectDescription: String, githubAccount: String = "danbrough", website: String = "https://github.com/", issuesSite: String? = "/issues", scmSite: String? = "scm:git:git@github.com:", licenseApache2: Boolean = true, block: MavenPom.() -> Unit = {})
Link copied to clipboard
inline fun <T> Project.xtrasProperty(name: String, noinline notFound: () -> T? = null): T
Link copied to clipboard
inline fun <T : XtrasLibrary> Project.xtrasRegisterLibrary(group: String, name: String, version: String, noinline block: T.() -> Unit = {}): T
fun <T : XtrasLibrary> Project.xtrasRegisterLibrary(group: String, name: String, version: String, clazz: Class<T>, block: T.() -> Unit = {}): T
Link copied to clipboard
fun Project.xtrasSharedLibs(targetFilter: (KotlinNativeTarget) -> Boolean = { it.konanTarget == HostManager.host }, binariesFilter: (NativeBinary) -> Boolean = { it.buildType == NativeBuildType.DEBUG }): List<SharedLibrary>
Link copied to clipboard
fun Project.xtrasTestExecutables(configPrefix: String, tests: List<String>, targets: List<KotlinNativeTarget> = (kotlinExtension as KotlinMultiplatformExtension).targets.withType<KotlinNativeTarget>() .toList(), block: Executable.() -> Unit = {})
Link copied to clipboard
fun Project.xtrasTesting(block: AbstractTestTask.() -> Unit): DomainObjectCollection<AbstractTestTask>