Skip to content

Commit

Permalink
fix: declare support for react-native 0.72
Browse files Browse the repository at this point in the history
  • Loading branch information
tido64 committed May 5, 2023
1 parent 6598721 commit 5a8653d
Show file tree
Hide file tree
Showing 14 changed files with 87 additions and 50 deletions.
1 change: 1 addition & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -235,6 +235,7 @@ jobs:
- name: Set up react-native@nightly
if: ${{ github.event_name == 'schedule' }}
run: |
git apply scripts/disable-safe-area-context.patch
git apply scripts/android-nightly.patch
npm run set-react-version -- nightly
shell: bash
Expand Down
12 changes: 6 additions & 6 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
GEM
remote: https://rubygems.org/
specs:
CFPropertyList (3.0.5)
CFPropertyList (3.0.6)
rexml
ast (2.4.2)
atomos (0.1.3)
Expand All @@ -10,11 +10,11 @@ GEM
json (2.6.3)
minitest (5.18.0)
nanaimo (0.3.0)
parallel (1.22.1)
parser (3.2.2.0)
parallel (1.23.0)
parser (3.2.2.1)
ast (~> 2.4.1)
rainbow (3.1.1)
regexp_parser (2.7.0)
regexp_parser (2.8.0)
rexml (3.2.5)
rubocop (1.50.2)
json (~> 2.3)
Expand All @@ -26,7 +26,7 @@ GEM
rubocop-ast (>= 1.28.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.28.0)
rubocop-ast (1.28.1)
parser (>= 3.2.1.0)
rubocop-minitest (0.30.0)
rubocop (>= 1.39, < 2.0)
Expand All @@ -50,4 +50,4 @@ DEPENDENCIES
xcodeproj

BUNDLED WITH
2.3.11
2.4.10
2 changes: 2 additions & 0 deletions android/app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ plugins {
id("org.jetbrains.kotlin.android")
}

checkEnvironment()

def reactNativePath = file(findNodeModulesPath("react-native", rootDir))

if (autodetectReactNativeVersion || enableNewArchitecture) {
Expand Down
7 changes: 6 additions & 1 deletion android/app/src/main/jni/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,12 @@ set(REACTTESTAPP_SOURCE_FILES
)

# Suppress 'Manually-specified variables were not used by the project' warning
set(UNUSED_VARIABLES ${REACT_COMMON_DIR} ${REACT_JNILIBS_DIR})
set(UNUSED_VARIABLES
${NODE_MODULES_DIR} # No longer used in 0.72
${REACT_ANDROID_BUILD_DIR} # No longer used in 0.72
${REACT_COMMON_DIR}
${REACT_JNILIBS_DIR}
)

if(DEFINED REACT_ANDROID_DIR)
# New architecture
Expand Down
1 change: 1 addition & 0 deletions android/dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ static String getKspVersion(String kotlinVersion) {
return [
// Run `scripts/update-ksp-versions.mjs` to update this list
// update-ksp-versions start
"1.8.20-1.0.11",
"1.8.10-1.0.9",
"1.8.0-1.0.9",
"1.7.22-1.0.8",
Expand Down
27 changes: 27 additions & 0 deletions android/test-app-util.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,33 @@ import java.security.MessageDigest

ext.manifest = null

ext.checkEnvironment = {
def (major, minor, patch) = gradle.gradleVersion.findAll(/\d+/)
def gradleVersion = (major as int) * 10000 + (minor as int) * 100 + (patch as int)
if (reactNativeVersion > 0 && reactNativeVersion < 7200) {
if (gradleVersion < 70501 || gradleVersion >= 80000) {
logger.warn([
"Latest Gradle 7.x is required for current React Native version. ",
"Run the following command in the 'android' folder to install a supported version: ",
"./gradlew wrapper --gradle-version=7.6.1",
].join(""))
}
} else {
// Gradle 7.5+ seems to be working with 0.72 so we will only recommend a
// newer version if it's older.
if (gradleVersion < 70501) {
logger.warn([
"Latest Gradle 8.0.x is recommended for React Native 0.72 and higher. ",
"Run the following command in the 'android' folder to install a supported version: ",
"./gradlew wrapper --gradle-version=8.0.2",
"\n\n",
"If you still need to work with older versions of React Native, ",
"Gradle 7.5.1+ should still work."
].join(""))
}
}
}

ext.findFile = { fileName ->
def currentDirPath = rootDir == null ? null : rootDir.toString()

Expand Down
2 changes: 1 addition & 1 deletion example/android/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ android.enableJetifier=true

# Version of Flipper to use with React Native. Default value is whatever React
# Native defaults to. To disable Flipper, set it to `false`.
#FLIPPER_VERSION=0.125.0
#FLIPPER_VERSION=0.182.0

# Enable Fabric at runtime.
#USE_FABRIC=1
Expand Down
2 changes: 1 addition & 1 deletion example/android/gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
2 changes: 1 addition & 1 deletion example/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
},
"peerDependencies": {
"react": "~17.0.1 || ~18.0.0 || ~18.1.0 || ~18.2.0",
"react-native": "^0.0.0-0 || 0.64 - 0.71 || 1000.0.0",
"react-native": "^0.0.0-0 || 0.64 - 0.72 || 1000.0.0",
"react-native-macos": "^0.0.0-0 || 0.64 || 0.66 || 0.68 || 0.71",
"react-native-windows": "^0.0.0-0 || 0.64 - 0.71"
},
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@
"@react-native-community/cli-platform-ios": ">=5.0",
"mustache": "^4.0.0",
"react": "~17.0.1 || ~18.0.0 || ~18.1.0 || ~18.2.0",
"react-native": "^0.0.0-0 || 0.64 - 0.71 || 1000.0.0",
"react-native": "^0.0.0-0 || 0.64 - 0.72 || 1000.0.0",
"react-native-macos": "^0.0.0-0 || 0.64 || 0.66 || 0.68 || 0.71",
"react-native-windows": "^0.0.0-0 || 0.64 - 0.71"
},
Expand Down
36 changes: 0 additions & 36 deletions scripts/android-nightly.patch
Original file line number Diff line number Diff line change
@@ -1,39 +1,3 @@
diff --git a/example/App.js b/example/App.js
index c9cd14d..f63758d 100644
--- a/example/App.js
+++ b/example/App.js
@@ -2,6 +2,7 @@
import React, { useCallback, useMemo, useState } from "react";
import {
NativeModules,
+ SafeAreaView,
ScrollView,
StatusBar,
StyleSheet,
@@ -10,7 +11,6 @@ import {
useColorScheme,
View,
} from "react-native";
-import { SafeAreaProvider, SafeAreaView } from "react-native-safe-area-context";
// @ts-expect-error
import { version as coreVersion } from "react-native/Libraries/Core/ReactNativeVersion";
import { Colors, Header } from "react-native/Libraries/NewAppScreen";
@@ -169,7 +169,6 @@ const App = ({ concurrentRoot }) => {
);

return (
- <SafeAreaProvider>
<SafeAreaView style={styles.body}>
<StatusBar barStyle={isDarkMode ? "light-content" : "dark-content"} />
<ScrollView
@@ -192,7 +191,6 @@ const App = ({ concurrentRoot }) => {
</View>
</ScrollView>
</SafeAreaView>
- </SafeAreaProvider>
);
};

diff --git a/example/package.json b/example/package.json
index 9c2e1aa..94fb85e 100644
--- a/example/package.json
Expand Down
36 changes: 36 additions & 0 deletions scripts/disable-safe-area-context.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
diff --git a/example/App.js b/example/App.js
index c9cd14d..f63758d 100644
--- a/example/App.js
+++ b/example/App.js
@@ -2,6 +2,7 @@
import React, { useCallback, useMemo, useState } from "react";
import {
NativeModules,
+ SafeAreaView,
ScrollView,
StatusBar,
StyleSheet,
@@ -10,7 +11,6 @@ import {
useColorScheme,
View,
} from "react-native";
-import { SafeAreaProvider, SafeAreaView } from "react-native-safe-area-context";
// @ts-expect-error
import { version as coreVersion } from "react-native/Libraries/Core/ReactNativeVersion";
import { Colors, Header } from "react-native/Libraries/NewAppScreen";
@@ -169,7 +169,6 @@ const App = ({ concurrentRoot }) => {
);

return (
- <SafeAreaProvider>
<SafeAreaView style={styles.body}>
<StatusBar barStyle={isDarkMode ? "light-content" : "dark-content"} />
<ScrollView
@@ -192,7 +191,6 @@ const App = ({ concurrentRoot }) => {
</View>
</ScrollView>
</SafeAreaView>
- </SafeAreaProvider>
);
};

3 changes: 2 additions & 1 deletion scripts/test-matrix.sh
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ echo
popd 1> /dev/null
prepare
# `react-native-safe-area-context` doesn't support latest New Arch changes
git apply ../scripts/disable-safe-area-context.patch
sed -i '' 's/"react-native-safe-area-context": ".[.0-9]*",//' package.json

echo
Expand Down Expand Up @@ -137,4 +138,4 @@ echo "│ Initialize new app │"
echo "└─────────────────────┘"
echo

yarn react-native init-test-app --destination template-example --name TemplateExample --platform android,ios
GIT_IGNORE_FILE=".gitignore" yarn react-native init-test-app --destination template-example --name TemplateExample --platform android,ios
4 changes: 2 additions & 2 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -5469,7 +5469,7 @@ __metadata:
react-native-windows: ^0.71.4
peerDependencies:
react: ~17.0.1 || ~18.0.0 || ~18.1.0 || ~18.2.0
react-native: ^0.0.0-0 || 0.64 - 0.71 || 1000.0.0
react-native: ^0.0.0-0 || 0.64 - 0.72 || 1000.0.0
react-native-macos: ^0.0.0-0 || 0.64 || 0.66 || 0.68 || 0.71
react-native-windows: ^0.0.0-0 || 0.64 - 0.71
languageName: unknown
Expand Down Expand Up @@ -9914,7 +9914,7 @@ fsevents@^2.3.2:
"@react-native-community/cli-platform-ios": ">=5.0"
mustache: ^4.0.0
react: ~17.0.1 || ~18.0.0 || ~18.1.0 || ~18.2.0
react-native: ^0.0.0-0 || 0.64 - 0.71 || 1000.0.0
react-native: ^0.0.0-0 || 0.64 - 0.72 || 1000.0.0
react-native-macos: ^0.0.0-0 || 0.64 || 0.66 || 0.68 || 0.71
react-native-windows: ^0.0.0-0 || 0.64 - 0.71
peerDependenciesMeta:
Expand Down

0 comments on commit 5a8653d

Please sign in to comment.