From 42ff80bc93fa02c7281cb459787af71484caf28e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateo=20Guzm=C3=A1n?= Date: Sat, 2 Aug 2025 14:53:01 +0200 Subject: [PATCH] Initial Kotlin setup and migrate YogaConstants --- .gitignore | 3 +++ build.gradle | 1 + java/build.gradle.kts | 6 ++++++ java/com/facebook/yoga/YogaConstants.java | 25 ----------------------- java/com/facebook/yoga/YogaConstants.kt | 18 ++++++++++++++++ 5 files changed, 28 insertions(+), 25 deletions(-) delete mode 100644 java/com/facebook/yoga/YogaConstants.java create mode 100644 java/com/facebook/yoga/YogaConstants.kt diff --git a/.gitignore b/.gitignore index 7d75c154..8b846f08 100644 --- a/.gitignore +++ b/.gitignore @@ -73,3 +73,6 @@ local.properties # Docusarus build .docusaurus + +# Android Studio +.idea diff --git a/build.gradle b/build.gradle index 6352e5c9..6cf2ad16 100644 --- a/build.gradle +++ b/build.gradle @@ -9,6 +9,7 @@ plugins { id("com.android.library") version "8.7.1" apply false id("com.android.application") version "8.7.1" apply false id("io.github.gradle-nexus.publish-plugin") version "1.3.0" + id 'org.jetbrains.kotlin.android' version '2.2.0' apply false } allprojects { diff --git a/java/build.gradle.kts b/java/build.gradle.kts index 2d2f874d..86810d63 100644 --- a/java/build.gradle.kts +++ b/java/build.gradle.kts @@ -9,6 +9,7 @@ plugins { id("com.android.library") id("maven-publish") id("signing") + id("org.jetbrains.kotlin.android") } group = "com.facebook.yoga" @@ -48,6 +49,10 @@ android { } } + kotlinOptions { + jvmTarget = "1.8" + } + publishing { multipleVariants { withSourcesJar() @@ -60,6 +65,7 @@ android { dependencies { implementation("com.google.code.findbugs:jsr305:3.0.2") implementation("com.facebook.soloader:soloader:0.10.5") + implementation("androidx.core:core-ktx:1.16.0") testImplementation("junit:junit:4.12") } diff --git a/java/com/facebook/yoga/YogaConstants.java b/java/com/facebook/yoga/YogaConstants.java deleted file mode 100644 index f8205fc6..00000000 --- a/java/com/facebook/yoga/YogaConstants.java +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) Meta Platforms, Inc. and affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -package com.facebook.yoga; - -public class YogaConstants { - - public static final float UNDEFINED = Float.NaN; - - public static boolean isUndefined(float value) { - return Float.compare(value, UNDEFINED) == 0; - } - - public static boolean isUndefined(YogaValue value) { - return value.unit == YogaUnit.UNDEFINED; - } - - public static float getUndefined() { - return UNDEFINED; - } -} diff --git a/java/com/facebook/yoga/YogaConstants.kt b/java/com/facebook/yoga/YogaConstants.kt new file mode 100644 index 00000000..eb768841 --- /dev/null +++ b/java/com/facebook/yoga/YogaConstants.kt @@ -0,0 +1,18 @@ +/* + * Copyright (c) Meta Platforms, Inc. and affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +package com.facebook.yoga + +public object YogaConstants { + @JvmField public val UNDEFINED: Float = Float.NaN + + @JvmStatic public fun isUndefined(value: Float): Boolean = value.compareTo(UNDEFINED) == 0 + + @JvmStatic public fun isUndefined(value: YogaValue): Boolean = value.unit == YogaUnit.UNDEFINED + + @JvmStatic public fun getUndefined(): Float = UNDEFINED +}