react / react/react-native

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

未关闭 适合新手
#55,781 12 条评论 13 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

Needs: Author Feedback Needs: Repro
主要语言
C++
星标
127k
派生
25.3k
平均合并
1 天 23 小时
30 天内合并 PR
4

描述

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.

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

调研方向

从 @react-native/gradle-plugin/settings.gradle.kts 开始,检查其中固定的 foojay-resolver-convention 插件版本。使用 Expo SDK 55 和 React Native 0.83 环境,通过 Gradle 9.0.0 验证此次更改;当构建在解析 JvmVendorSpec.IBM_SEMERU 时不再失败,即表示完成。

由索引模型根据 Issue 内容生成。

评估

技术栈
react-native
领域
build-system, mobile
Issue 类型
缺陷
难度
1/5
预计耗时
1 小时以内
活跃度
活跃
描述清晰度
描述清楚
新手友好度
82/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。