Commit 45ea6466 authored by Nikolay Igotti's avatar Nikolay Igotti

Simple native method.

parent c409f0bb
...@@ -6,7 +6,8 @@ plugins { ...@@ -6,7 +6,8 @@ plugins {
group = "org.jetbrains.skiko" group = "org.jetbrains.skiko"
version = "0.1-SNAPSHOT" version = "0.1-SNAPSHOT"
val skiaDir = System.getenv("SKIA_DIR") ?: throw Error("Set SKIA_DIR env variable!")
val skiaDir = System.getenv("SKIA_DIR") ?: "/Users/igotti/compose/skija/third_party/skia"
val hostOs = System.getProperty("os.name") val hostOs = System.getProperty("os.name")
val target = when { val target = when {
hostOs == "Mac OS X" -> "macos" hostOs == "Mac OS X" -> "macos"
...@@ -146,6 +147,13 @@ val skikoArtifact = artifacts.add("archives", file(skikoJarFile)) { ...@@ -146,6 +147,13 @@ val skikoArtifact = artifacts.add("archives", file(skikoJarFile)) {
builtBy("skikoJar") builtBy("skikoJar")
} }
project.tasks.register<JavaExec>("run") {
dependsOn("skikoJar")
main = "org.jetbrains.skiko.MainKt"
classpath = files(skikoJarFile)
}
publishing { publishing {
publications { publications {
create<MavenPublication>("skiko") { create<MavenPublication>("skiko") {
......
package org.jetbrains.skiko
fun main() {
println(SkiaWindow().nativeMethod(41))
}
\ No newline at end of file
package org.jetbrains.skiko
import org.jetbrains.skija.Library
class SkiaWindow {
companion object {
init {
Library.load("/", "skiko")
}
}
external fun nativeMethod(param: Long): Long
}
#include <jni.h>
extern "C" JNIEXPORT jlong JNICALL Java_org_jetbrains_skiko_SkiaWindow_nativeMethod
(JNIEnv* env, jobject thiz, jlong param) {
return param + 1;
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment