react / react/react-native

foojay-resolver-convention 0.5.0 incompatible with Gradle 9.0.0 (IBM_SEMERU removed)

Đang mở Phù hợp với người mới
#55,781 12 bình luận 13 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Needs: Author Feedback Needs: Repro
Ngôn ngữ chính
C++
Star
127k
Fork
25.3k
Merge trung bình
1 ngày 23 giờ
Pull request đã merge (30 ngày)
4

Mô tả

Hi! 👋

Firstly, thanks for your work on this project! 🙂

Today I used patch-package to patch @react-native/gradle-plugin@0.83.2 for the project I'm working on.

Problem

settings.gradle.kts pins foojay-resolver-convention to version 0.5.0, which references
JvmVendorSpec.IBM_SEMERU — a constant removed in Gradle 9.0.0. Expo SDK 55 ships with
Gradle 9.0.0, so any project using Expo SDK 55 + React Native 0.83 fails to build with:
Class org.gradle.jvm.toolchain.JvmVendorSpec does not have member field
'org.gradle.jvm.toolchain.JvmVendorSpec IBM_SEMERU'

Updating to foojay-resolver-convention 1.0.0 fixes the issue — this version drops the
IBM_SEMERU reference entirely.

Environment

  • @react-native/gradle-plugin: 0.83.2
  • Gradle: 9.0.0
  • Expo SDK: 55

Here is the diff that solved my problem:

diff --git a/node_modules/@react-native/gradle-plugin/settings.gradle.kts b/node_modules/@react-native/gradle-plugin/settings.gradle.kts
index b3c46a3..14f1e9c 100644
--- a/node_modules/@react-native/gradle-plugin/settings.gradle.kts
+++ b/node_modules/@react-native/gradle-plugin/settings.gradle.kts
@@ -13,7 +13,7 @@ pluginManagement {
}
}

-plugins { id("org.gradle.toolchains.foojay-resolver-convention").version("0.5.0") }
+plugins { id("org.gradle.toolchains.foojay-resolver-convention").version("1.0.0") }

include(
":react-native-gradle-plugin",

This issue body was partially generated by patch-package.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Bắt đầu trong @react-native/gradle-plugin/settings.gradle.kts và kiểm tra phiên bản plugin foojay-resolver-convention được ghim tại đó. Xác minh thay đổi với Gradle 9.0.0 trong môi trường Expo SDK 55 và React Native 0.83; hoàn tất khi quá trình build không còn thất bại trong lúc phân giải JvmVendorSpec.IBM_SEMERU.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
react-native
Lĩnh vực
build-system, mobile
Loại issue
Lỗi
Độ khó
1/5
Thời gian dự kiến
Dưới một giờ
Mức độ hoạt động
Sôi nổi
Độ rõ ràng
Đặc tả rõ ràng
Mức phù hợp với người mới
82/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.