Summary: Bumps [react-native](https://github.com/facebook/react-native) from 0.66.4 to 0.67.1. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/facebook/react-native/releases">react-native's releases</a>.</em></p> <blockquote> <h2>0.67.1</h2> <p>A patch release including fixes to unblock Detox and Android JSC builds</p> <ul> <li>Remove alert's window when call to <code>hide</code>. (<a href="a46a99e120">a46a99e120</a> by <a href="https://github.com/asafkorem"><code>@asafkorem</code></a>)</li> <li>Do not remove libjscexecutor.so from release builds (<a href="574a773f8f">574a773f8f</a> by <a href="https://github.com/cortinico"><code>@cortinico</code></a>)</li> </ul> <hr /> <p>You can participate in the conversation on the status of this release at this <a href="https://github.com/reactwg/react-native-releases/discussions/12">discussion</a></p> <hr /> <p>To help you upgrade to this version, you can use the <a href="https://react-native-community.github.io/upgrade-helper/">upgrade helper</a> ⚛️</p> <hr /> <p>You can find the whole changelog history in the <a href="https://github.com/facebook/react-native/blob/main/CHANGELOG.md">changelog.md file</a>.</p> <h2>0.67.0</h2> <p>0.67 stable is out!</p> <p>This release includes <strong>385 commits</strong> with <strong>75 contributors</strong>! Thank you to all our contributors new and old! You can find the <a href="https://github.com/facebook/react-native/blob/main/CHANGELOG.md#v0670">full changelog here</a>.</p> <ul> <li>See the highlights of the release in our <a href="https://reactnative.dev/blog/2022/01/19/version-067">release blog post</a>.</li> <li>You can participate in the conversation on the status of this release at <a href="https://github.com/reactwg/react-native-releases/discussions/10">this issue</a>.</li> <li>You can upgrade to this version using the <a href="https://react-native-community.github.io/upgrade-helper/">upgrade helper webtool</a> ⚛️</li> </ul> <h2>0.67.0-rc.6</h2> <p>We are aiming for this to be our candidate for stable. We aim to promote 0.67.0-rc.6 to stable in the first half of January 2022.</p> <ul> <li>(iOS) Fix M1 build error when pod has no IPHONEOS_DEPLOYMENT_TARGET <a href="9cd4092336</a></li> </ul> <hr /> <p>To test it, run</p> <pre lang="sh"><code>npx react-native init RN067RC6 --version 0.67.0-rc.6 </code></pre> <hr /> <p>You can participate in the conversation on the status of this release at this <a href="https://github.com/reactwg/react-native-releases/discussions/1">discussion</a>.</p> <hr /> <p>To help you upgrade to this version, you can use the <a href="https://react-native-community.github.io/upgrade-helper/">upgrade helper</a> ⚛️</p> <hr /> <p>You can find the whole changelog history in the <a href="https://github.com/facebook/react-native/blob/main/CHANGELOG.md">changelog.md file</a>.</p> <h2>0.67.0-rc.5</h2> <p>We are aiming for this to be our candidate for stable (�)</p> <ul> <li>Revert Hermes 0.10 due to <a href="https://github-redirect.dependabot.com/facebook/hermes/issues/649">facebook/hermes#649</a> <ul> <li>Revert Hermes on iOS: <a href="a510c2733f</a></li> </ul> </li> </ul> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/facebook/react-native/blob/main/CHANGELOG.md">react-native's changelog</a>.</em></p> <blockquote> <h2>v0.67.1</h2> <h3>Fixed</h3> <h4>Android specific</h4> <ul> <li>Do not remove libjscexecutor.so from release builds (<a href="574a773f8f">574a773f8f</a> by <a href="https://github.com/cortinico"><code>@cortinico</code></a>)</li> </ul> <h4>iOS specific</h4> <ul> <li>Remove alert's window when call to <code>hide</code>. (<a href="a46a99e120">a46a99e120</a> by <a href="https://github.com/asafkorem"><code>@asafkorem</code></a>)</li> </ul> <h2>v0.67.0</h2> <h3>Added</h3> <h4>Android specific</h4> <ul> <li>Add <code>ACCESS_MEDIA_LOCATION</code> permission to PermisionsAndroid library. (<a href="79db483568">79db483568</a> by <a href="https://github.com/Skrilltrax"><code>@Skrilltrax</code></a>)</li> <li>Implement <code>SnapToAlignment</code> in <code>ReactScrollView</code> (<a href="e774c037bc">e774c037bc</a>), <code>ReactScrollViewManager</code> (<a href="c6e5640e87">c6e5640e87</a>), <code>ReactHorizontalScrollView</code> (<a href="b12256394e">b12256394e</a>), <code>ReactHorizontalScrollViewManager</code> (<a href="deec1db9fd">deec1db9fd</a>) and update <code>ScrollView.js</code> (<a href="a54cfb9e57">a54cfb9e57</a>) and reach parity with iOS (<a href="04184ef851">04184ef851</a>) by <a href="https://github.com/mdvacca"><code>@mdvacca</code></a></li> <li>Show Redbox for C++ errors. (<a href="d6c879edba">d6c879edba</a> by <a href="https://github.com/sota000"><code>@sota000</code></a>)</li> <li>Added an experimental touch dispatch path (<a href="a2feaeb5f1">a2feaeb5f1</a> by <a href="https://github.com/ShikaSD"><code>@ShikaSD</code></a>)</li> </ul> <h4>iOS specific</h4> <ul> <li>Added <code>cancelButtonTintColor</code> prop for <code>ActionSheetIOS</code> to change only the text color of the cancel button (<a href="01856633a1">01856633a1</a> by <a href="https://github.com/nomi9995"><code>@nomi9995</code></a>)</li> <li>Added <a href="https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/LaunchServicesKeys.html#//apple_ref/doc/uid/TP40009250-SW14"><code>LSApplicationQueriesSchemes</code></a> in info.plist with entries tel, telprompt, http, fb, geo (<a href="b26f277262">b26f277262</a> by <a href="https://github.com/utkarsh-dixit"><code>@utkarsh-dixit</code></a>)</li> <li>Add <code>UIAccessibilityTraitUpdatesFrequently</code> to progressBar role (<a href="1a42bd6e97">1a42bd6e97</a> by <a href="https://github.com/jimmy623"><code>@jimmy623</code></a>)</li> <li>Add <code>asdf-vm</code> support in <code>find-node.sh</code> (<a href="3e7c310b1d">3e7c310b1d</a> by <a href="https://github.com/pastleo"><code>@pastleo</code></a>)</li> </ul> <h3>Changed</h3> <ul> <li><code>ImageBackground</code> now respects <code>imageStyle</code> width and height (<a href="dbd5c3d8e5">dbd5c3d8e5</a> by <a href="https://github.com/Naturalclar"><code>@Naturalclar</code></a>)</li> <li>Rename deprecated <code>Keyboard.removeEventListener</code> to <code>Keyboard.removeListener</code>. (<a href="8880c09076">8880c09076</a> by <a href="https://github.com/yungsters"><code>@yungsters</code></a>)</li> <li>Update <code>Modal</code>'s mock to not render its children when it is not visible (<a href="ec614c16b3">ec614c16b3</a> by <a href="https://github.com/AntoineDoubovetzky"><code>@AntoineDoubovetzky</code></a>)</li> <li>Upgraded <code>react-devtools-core</code> dependency to 4.19.1 (<a href="356236471a">356236471a</a> by <a href="https://github.com/jstejada"><code>@jstejada</code></a>)</li> <li>React-native/normalize-color now supports Node.js (<a href="65e58f26e1">65e58f26e1</a> by <a href="https://github.com/yungsters"><code>@yungsters</code></a>)</li> <li>Updated to Contributor Covenant v2.1 (<a href="19f8d2f7da">19f8d2f7da</a>)</li> </ul> <h4>Android specific</h4> <ul> <li>Hermes initialization will no longer need an explicit configuration. (<a href="a40f973f58">a40f973f58</a> by <a href="https://github.com/Ashoat"><code>@Ashoat</code></a>)</li> <li>Setting <code>overflow: scroll</code> in View component style will clip the children in the View container (<a href="93beb83abe">93beb83abe</a> by <a href="https://github.com/ryancat"><code>@ryancat</code></a>)</li> <li>Native views backing <code>Animated.View</code> (w/ JavaScript-driven animations) will no longer be flattened; this should be a transparent change. (<a href="4fdbc44ab5">4fdbc44ab5</a> by <a href="https://github.com/yungsters"><code>@yungsters</code></a>)</li> <li>Use new Locale API on Android 11 (API 30)+ (<a href="b7c023a8c1">b7c023a8c1</a>)</li> <li>Changed <code>react.gradle</code> <code>detectCliPath</code> function logic for <code>cliPath</code> case (<a href="ce51b62494">ce51b62494</a> by <a href="https://github.com/vitalyiegorov"><code>@vitalyiegorov</code></a>)</li> <li>Remove <code>"high"</code> and <code>"balanced"</code> as values for <code>android_hyphenationFrequency</code> on <code>Text</code> (<a href="a0d30b848a">a0d30b848a</a>)</li> <li>Bump Gradle version to 7.2, Bump Kotlin version to 1.5.31 (<a href="9ae3367431">9ae3367431</a> by <a href="https://github.com/svbutko"><code>@svbutko</code></a>)</li> <li>Move mavenCentral repo below local paths (<a href="046b02628d">046b02628d</a> by <a href="https://github.com/friederbluemle"><code>@friederbluemle</code></a>)</li> </ul> <h4>iOS specific</h4> <ul> <li>Optimized font handling for iOS (<a href="4ac42d88ef">4ac42d88ef</a> by <a href="https://github.com/Adlai-Holler"><code>@Adlai-Holler</code></a>)</li> </ul> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="25f3d310d9"><code>25f3d31</code></a> [0.67.1] Bump version numbers</li> <li><a href="96ad60e3a1"><code>96ad60e</code></a> Do not remove libjscexecutor.so from release builds (<a href="https://github-redirect.dependabot.com/facebook/react-native/issues/32932">#32932</a>)</li> <li><a href="218b4c19bb"><code>218b4c1</code></a> fix(iOS): remove alert's window when call to <code>hide</code>. (<a href="https://github-redirect.dependabot.com/facebook/react-native/issues/32833">#32833</a>)</li> <li><a href="857dbd9b20"><code>857dbd9</code></a> [0.67.0] Bump version numbers</li> <li><a href="900af2b3b6"><code>900af2b</code></a> TODO dummy commit</li> <li><a href="842aac5a3c"><code>842aac5</code></a> Update bump-oss-version.js to guide releaser through release actions (<a href="https://github-redirect.dependabot.com/facebook/react-native/issues/32769">#32769</a>)</li> <li><a href="a59141fb28"><code>a59141f</code></a> Update comments in publish-npm and leverage isTaggedLatest</li> <li><a href="e7296d6b34"><code>e7296d6</code></a> Remove usages of bump-oss-version from generated scripts</li> <li><a href="6fc004e95f"><code>6fc004e</code></a> Use tag to set publish version (<a href="https://github-redirect.dependabot.com/facebook/react-native/issues/32757">#32757</a>)</li> <li><a href="c3aa86bea2"><code>c3aa86b</code></a> [0.67.0-rc.6] Bump version numbers</li> <li>Additional commits viewable in <a href="https://github.com/facebook/react-native/compare/v0.66.4...v0.67.1">compare view</a></li> </ul> </details> <br /> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `dependabot rebase` will rebase this PR - `dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `dependabot merge` will merge this PR after your CI passes on it - `dependabot squash and merge` will squash and merge this PR after your CI passes on it - `dependabot cancel merge` will cancel a previously requested merge and block automerging - `dependabot reopen` will reopen this PR if it is closed - `dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Pull Request resolved: https://github.com/facebook/flipper/pull/3341 Test Plan: React Native Android 1. Start Android emulator (Pixel 4, API 27 Oreo 8.1) 2. Go to ReactNativeFlipperExample 3. Run yarn 4. Run yarn use-local-deps 5. Run yarn android 6. Wait for the app to start 7. Check "Logs" plugin works 8. Check "Network" plugin works (click on "IS NPM UP?") 9. Check "Layout" plugin works 10. Check "React Native Tic-Tac-Toe" plugin works React Native iOS 1. Go to ReactNativeFlipperExample 2. Run yarn 3. Run yarn use-local-deps 4. Go to ReactNativeFlipperExample/ios 5. Run rm -f Podfile.lock 6. Run pod install --repo-update 7. Go to ReactNativeFlipperExample 8. Run yarn ios 9. Wait for the app to start 10. Check "Logs" plugin works 11. Check "Network" plugin works (click on "IS NPM UP?") 12. Check "Layout" plugin works 13. Check "React Native Tic-Tac-Toe" plugin works Reviewed By: mweststrate Differential Revision: D33741751 Pulled By: lblasa fbshipit-source-id: 0bf7778615c327f3d2ef497932e77e94fb0d766d
233 lines
8.9 KiB
Groovy
233 lines
8.9 KiB
Groovy
/*
|
|
* 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.
|
|
*/
|
|
|
|
apply plugin: "com.android.application"
|
|
|
|
import com.android.build.OutputFile
|
|
|
|
/**
|
|
* The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
|
|
* and bundleReleaseJsAndAssets).
|
|
* These basically call `react-native bundle` with the correct arguments during the Android build
|
|
* cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the
|
|
* bundle directly from the development server. Below you can see all the possible configurations
|
|
* and their defaults. If you decide to add a configuration block, make sure to add it before the
|
|
* `apply from: "../../node_modules/react-native/react.gradle"` line.
|
|
*
|
|
* project.ext.react = [
|
|
* // the name of the generated asset file containing your JS bundle
|
|
* bundleAssetName: "index.android.bundle",
|
|
*
|
|
* // the entry file for bundle generation. If none specified and
|
|
* // "index.android.js" exists, it will be used. Otherwise "index.js" is
|
|
* // default. Can be overridden with ENTRY_FILE environment variable.
|
|
* entryFile: "index.android.js",
|
|
*
|
|
* // https://facebook.github.io/react-native/docs/performance#enable-the-ram-format
|
|
* bundleCommand: "ram-bundle",
|
|
*
|
|
* // whether to bundle JS and assets in debug mode
|
|
* bundleInDebug: false,
|
|
*
|
|
* // whether to bundle JS and assets in release mode
|
|
* bundleInRelease: true,
|
|
*
|
|
* // whether to bundle JS and assets in another build variant (if configured).
|
|
* // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
|
|
* // The configuration property can be in the following formats
|
|
* // 'bundleIn${productFlavor}${buildType}'
|
|
* // 'bundleIn${buildType}'
|
|
* // bundleInFreeDebug: true,
|
|
* // bundleInPaidRelease: true,
|
|
* // bundleInBeta: true,
|
|
*
|
|
* // whether to disable dev mode in custom build variants (by default only disabled in release)
|
|
* // for example: to disable dev mode in the staging build type (if configured)
|
|
* devDisabledInStaging: true,
|
|
* // The configuration property can be in the following formats
|
|
* // 'devDisabledIn${productFlavor}${buildType}'
|
|
* // 'devDisabledIn${buildType}'
|
|
*
|
|
* // the root of your project, i.e. where "package.json" lives
|
|
* root: "../../",
|
|
*
|
|
* // where to put the JS bundle asset in debug mode
|
|
* jsBundleDirDebug: "$buildDir/intermediates/assets/debug",
|
|
*
|
|
* // where to put the JS bundle asset in release mode
|
|
* jsBundleDirRelease: "$buildDir/intermediates/assets/release",
|
|
*
|
|
* // where to put drawable resources / React Native assets, e.g. the ones you use via
|
|
* // require('./image.png')), in debug mode
|
|
* resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",
|
|
*
|
|
* // where to put drawable resources / React Native assets, e.g. the ones you use via
|
|
* // require('./image.png')), in release mode
|
|
* resourcesDirRelease: "$buildDir/intermediates/res/merged/release",
|
|
*
|
|
* // by default the gradle tasks are skipped if none of the JS files or assets change; this means
|
|
* // that we don't look at files in android/ or ios/ to determine whether the tasks are up to
|
|
* // date; if you have any other folders that you want to ignore for performance reasons (gradle
|
|
* // indexes the entire tree), add them here. Alternatively, if you have JS files in android/
|
|
* // for example, you might want to remove it from here.
|
|
* inputExcludes: ["android/**", "ios/**"],
|
|
*
|
|
* // override which node gets called and with what additional arguments
|
|
* nodeExecutableAndArgs: ["node"],
|
|
*
|
|
* // supply additional arguments to the packager
|
|
* extraPackagerArgs: []
|
|
* ]
|
|
*/
|
|
|
|
project.ext.react = [
|
|
enableHermes: true, // clean and rebuild if changing
|
|
]
|
|
|
|
apply from: "../../node_modules/react-native/react.gradle"
|
|
|
|
/**
|
|
* Set this to true to create two separate APKs instead of one:
|
|
* - An APK that only works on ARM devices
|
|
* - An APK that only works on x86 devices
|
|
* The advantage is the size of the APK is reduced by about 4MB.
|
|
* Upload all the APKs to the Play Store and people will download
|
|
* the correct one based on the CPU architecture of their device.
|
|
*/
|
|
def enableSeparateBuildPerCPUArchitecture = false
|
|
|
|
/**
|
|
* Run Proguard to shrink the Java bytecode in release builds.
|
|
*/
|
|
def enableProguardInReleaseBuilds = false
|
|
|
|
/**
|
|
* The preferred build flavor of JavaScriptCore.
|
|
*
|
|
* For example, to use the international variant, you can use:
|
|
* `def jscFlavor = 'org.webkit:android-jsc-intl:+'`
|
|
*
|
|
* The international variant includes ICU i18n library and necessary data
|
|
* allowing to use e.g. `Date.toLocaleString` and `String.localeCompare` that
|
|
* give correct results when using with locales other than en-US. Note that
|
|
* this variant is about 6MiB larger per architecture than default.
|
|
*/
|
|
def jscFlavor = 'org.webkit:android-jsc:+'
|
|
|
|
/**
|
|
* Whether to enable the Hermes VM.
|
|
*
|
|
* This should be set on project.ext.react and that value will be read here. If it is not set
|
|
* on project.ext.react, JavaScript will not be compiled to Hermes Bytecode
|
|
* and the benefits of using Hermes will therefore be sharply reduced.
|
|
*/
|
|
def enableHermes = project.ext.react.get("enableHermes", false);
|
|
|
|
/**
|
|
* Architectures to build native code for in debug.
|
|
*/
|
|
def nativeArchitectures = project.getProperties().get("reactNativeDebugArchitectures")
|
|
|
|
android {
|
|
ndkVersion rootProject.ext.ndkVersion
|
|
|
|
compileSdkVersion rootProject.ext.compileSdkVersion
|
|
|
|
defaultConfig {
|
|
applicationId "com.reactnativeflipperexample"
|
|
minSdkVersion rootProject.ext.minSdkVersion
|
|
targetSdkVersion rootProject.ext.targetSdkVersion
|
|
versionCode 1
|
|
versionName "1.0"
|
|
}
|
|
splits {
|
|
abi {
|
|
reset()
|
|
enable enableSeparateBuildPerCPUArchitecture
|
|
universalApk false // If true, also generate a universal APK
|
|
include "armeabi-v7a", "x86", "arm64-v8a", "x86_64"
|
|
}
|
|
}
|
|
signingConfigs {
|
|
debug {
|
|
storeFile file('debug.keystore')
|
|
storePassword 'android'
|
|
keyAlias 'androiddebugkey'
|
|
keyPassword 'android'
|
|
}
|
|
}
|
|
buildTypes {
|
|
debug {
|
|
signingConfig signingConfigs.debug
|
|
if (nativeArchitectures) {
|
|
ndk {
|
|
abiFilters nativeArchitectures.split(',')
|
|
}
|
|
}
|
|
}
|
|
release {
|
|
// Caution! In production, you need to generate your own keystore file.
|
|
// see https://facebook.github.io/react-native/docs/signed-apk-android.
|
|
signingConfig signingConfigs.debug
|
|
minifyEnabled enableProguardInReleaseBuilds
|
|
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro"
|
|
}
|
|
}
|
|
|
|
// applicationVariants are e.g. debug, release
|
|
applicationVariants.all { variant ->
|
|
variant.outputs.each { output ->
|
|
// For each separate APK per architecture, set a unique version code as described here:
|
|
// https://developer.android.com/studio/build/configure-apk-splits.html
|
|
def versionCodes = ["armeabi-v7a": 1, "x86": 2, "arm64-v8a": 3, "x86_64": 4]
|
|
def abi = output.getFilter(OutputFile.ABI)
|
|
if (abi != null) { // null for the universal-debug, universal-release variants
|
|
output.versionCodeOverride =
|
|
defaultConfig.versionCode * 1000 + versionCodes.get(abi)
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation fileTree(dir: "libs", include: ["*.jar"])
|
|
//noinspection GradleDynamicVersion
|
|
implementation "com.facebook.react:react-native:+" // From node_modules
|
|
|
|
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"
|
|
|
|
debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") {
|
|
exclude group:'com.facebook.fbjni'
|
|
}
|
|
|
|
debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") {
|
|
exclude group:'com.facebook.flipper'
|
|
}
|
|
|
|
debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") {
|
|
exclude group:'com.facebook.flipper'
|
|
}
|
|
|
|
if (enableHermes) {
|
|
def hermesPath = "../../node_modules/hermes-engine/android/";
|
|
debugImplementation files(hermesPath + "hermes-debug.aar")
|
|
releaseImplementation files(hermesPath + "hermes-release.aar")
|
|
} else {
|
|
implementation jscFlavor
|
|
}
|
|
}
|
|
|
|
// Run this once to be able to run the application with BUCK
|
|
// puts all compile dependencies into folder libs for BUCK to use
|
|
task copyDownloadableDepsToLibs(type: Copy) {
|
|
from configurations.implementation
|
|
into 'libs'
|
|
}
|
|
|
|
apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)
|