react / react/react-native

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

Offen Anfängerfreundlich
#55,781 12 Kommentare 13 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Needs: Author Feedback Needs: Repro
Vorherrschende Sprache
C++
Sterne
127k
Forks
25.3k
Ø Merge
1 T. 23 Std.
Gemergte PRs (30 T.)
4

Beschreibung

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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne in @react-native/gradle-plugin/settings.gradle.kts und prüfe die dort festgelegte Version des foojay-resolver-convention-Plugins. Verifiziere die Änderung mit Gradle 9.0.0 in der Umgebung mit Expo SDK 55 und React Native 0.83; abgeschlossen ist die Änderung, wenn der Build bei der Auflösung von JvmVendorSpec.IBM_SEMERU nicht mehr fehlschlägt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
react-native
Bereich
build-system, mobile
Issue-Typ
Bug
Schwierigkeit
1/5
Geschätzter Aufwand
Unter einer Stunde
Aktivitätsstatus
Aktiv
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
82/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.