Skip to content

Commit b1a7793

Browse files
Andrei Shikovfacebook-github-bot
Andrei Shikov
authored andcommitted
Enable Kotlin build in OSS (#33160)
Summary: Pull Request resolved: #33160 Enables Kotlin build in RNAndroid, while adjusting the package structure to help with path/package inconsistency. Moves `react/uimanager/interfaces` files into `react/uimanager` to make sure package name matches with file location and updates Buck configuration to still include it as a separate target. Changelog: [Android][Changed] - Moved `com/react/facebook/uimanager/interfaces` files into `com/react/facebook/uimanager` to enable Kotlin build Reviewed By: cortinico Differential Revision: D34381179 fbshipit-source-id: 252588d9c7f62b8019bdfcce66197628d63e63a1
1 parent 733f228 commit b1a7793

File tree

10 files changed

+33
-24
lines changed

10 files changed

+33
-24
lines changed

ReactAndroid/build.gradle

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
plugins {
99
id("com.android.library")
1010
id("com.facebook.react")
11+
id("org.jetbrains.kotlin.android")
1112
id("maven-publish")
1213
id("de.undercouch.download")
1314
}

ReactAndroid/src/main/java/com/facebook/react/uimanager/BUCK

+31-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,34 @@
11
load("//tools/build_defs/oss:rn_defs.bzl", "YOGA_TARGET", "react_native_dep", "react_native_target", "rn_android_library")
22

3+
INTERFACES_FILES = [
4+
"BaseViewManagerDelegate.java",
5+
"BaseViewManagerInterface.java",
6+
"ViewManagerDelegate.java",
7+
"ViewProps.java",
8+
"Spacing.java",
9+
"FloatUtil.java",
10+
]
11+
12+
rn_android_library(
13+
name = "interfaces",
14+
srcs = glob(INTERFACES_FILES),
15+
autoglob = False,
16+
is_androidx = True,
17+
labels = ["supermodule:xplat/default/public.react_native.infra"],
18+
provided_deps = [
19+
react_native_dep("third-party/android/androidx:annotation"),
20+
],
21+
required_for_source_only_abi = True,
22+
visibility = [
23+
"PUBLIC",
24+
],
25+
deps = [
26+
YOGA_TARGET,
27+
react_native_dep("third-party/java/jsr-305:jsr-305"),
28+
react_native_target("java/com/facebook/react/bridge:bridge"),
29+
],
30+
)
31+
332
rn_android_library(
433
name = "uimanager",
534
srcs = glob(
@@ -11,7 +40,7 @@ rn_android_library(
1140
],
1241
exclude = [
1342
"DisplayMetricsHolder.java",
14-
],
43+
] + INTERFACES_FILES,
1544
),
1645
autoglob = False,
1746
exported_provided_deps = [
@@ -53,9 +82,9 @@ rn_android_library(
5382
],
5483
exported_deps = [
5584
":DisplayMetrics",
85+
":interfaces",
5686
react_native_dep("third-party/java/jsr-305:jsr-305"),
5787
react_native_target("java/com/facebook/react/uimanager/common:common"),
58-
react_native_target("java/com/facebook/react/uimanager/interfaces:interfaces"),
5988
],
6089
)
6190

ReactAndroid/src/main/java/com/facebook/react/uimanager/interfaces/BUCK

-21
This file was deleted.

packages/react-native-codegen/DEFS.bzl

+1-1
Original file line numberDiff line numberDiff line change
@@ -485,7 +485,7 @@ def rn_codegen_components(
485485
deps = [
486486
react_native_dep("third-party/android/androidx:annotation"),
487487
react_native_target("java/com/facebook/react/bridge:bridge"),
488-
react_native_target("java/com/facebook/react/uimanager/interfaces:interfaces"),
488+
react_native_target("java/com/facebook/react/uimanager:interfaces"),
489489
],
490490
)
491491

0 commit comments

Comments
 (0)