From 0111caa0c018d3d4aee1c62281e3b24dafe94368 Mon Sep 17 00:00:00 2001 From: Nicola Corti Date: Fri, 26 Jul 2024 12:27:33 +0100 Subject: [PATCH] [0.74] Stub com.facebook.react.settings on 0.74 --- .../build.gradle.kts | 4 ++++ .../com/facebook/react/ReactSettingsPlugin.kt | 24 +++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 packages/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/ReactSettingsPlugin.kt diff --git a/packages/react-native-gradle-plugin/build.gradle.kts b/packages/react-native-gradle-plugin/build.gradle.kts index 6e09a3e22a7508..9047d2133e884c 100644 --- a/packages/react-native-gradle-plugin/build.gradle.kts +++ b/packages/react-native-gradle-plugin/build.gradle.kts @@ -30,6 +30,10 @@ gradlePlugin { id = "com.facebook.react.rootproject" implementationClass = "com.facebook.react.ReactRootProjectPlugin" } + create("react.settings") { + id = "com.facebook.react.settings" + implementationClass = "com.facebook.react.ReactSettingsPlugin" + } } } diff --git a/packages/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/ReactSettingsPlugin.kt b/packages/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/ReactSettingsPlugin.kt new file mode 100644 index 00000000000000..6e4da24d13f702 --- /dev/null +++ b/packages/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/ReactSettingsPlugin.kt @@ -0,0 +1,24 @@ +/* + * 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.react + +import org.gradle.api.Plugin +import org.gradle.api.initialization.Settings + +/** + * This is a stub of the com.facebook.react.settings plugin. + * + * The plugin got added in 0.75, but to make it easier for 0.74 users to upgrade to 0.75, we're + * creating a stub plugin that does nothing. This way, users can include a `id("com.facebook.react.settings")` + * in their settings.gradle file without causing a build failure on 0.74. + */ +class ReactSettingsPlugin : Plugin { + override fun apply(settings: Settings) { + // Do nothing, just register the plugin. + } +} \ No newline at end of file