-
Notifications
You must be signed in to change notification settings - Fork 24.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use new JavaScriptCore from npm #22263
Conversation
Generated by 🚫 dangerJS |
|
Found it! in |
Can you add the Release notes please? 😇 |
@DanielZlotin |
e3070b4
to
ab8148a
Compare
Using npm is just not the right way to manage jsc as it's a native dependency. After fighting with it for a while I abandoned this approach. The correct approach (which will require some work in https://github.com/react-community/jsc-android-buildscripts) is to manage publications of jsc in maven. This way the user will be able to override / use other versions of jsc. This PR just updates react-native to use the latest jsc from npm, with full x64 support. |
I think it can, maven maybe too slow. |
@@ -223,6 +223,7 @@ | |||
"flow-bin": "^0.86.0", | |||
"jest": "24.0.0-alpha.6", | |||
"jest-junit": "5.2.0", | |||
"jsc-android": "latest", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe keep it simple, not introduce jsc in this pr.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's the entire point of this PR
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If that's the case, you need to clean the old jsc and lock jsc version.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
By clearing old JSC is there anything else except 64-bit libicu_common.so and libjsc.so files checked into this package?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is the thing I can think of.
But maven can make developer use different jsc more easily, it's more flexible. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@axe-fb has imported this pull request. If you are a Facebook employee, you can view this diff on Phabricator.
Summary: Pull Request resolved: facebook#22231 - Use clang instead of the deprecated gcc - Use libc++ instead of the deprecated gnustl - Updated gradle and android plugin version - Fixed missing arch in local-cli template - `clean` task should now always succeed - `clean` task deletes build artifacts - No need to specify buildToolsVersion. It's derived. - Elvis operator for more readable code Pull Request resolved: facebook#22263 Differential Revision: D13004499 fbshipit-source-id: b4eca5d76482539c2c91833801b534e90cf153eb
ab8148a
to
fcbfde1
Compare
@@ -223,6 +223,7 @@ | |||
"flow-bin": "^0.86.0", | |||
"jest": "24.0.0-alpha.6", | |||
"jest-junit": "5.2.0", | |||
"jsc-android": "latest", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If that's the case, you need to clean the old jsc and lock jsc version.
@@ -30,8 +30,3 @@ allprojects { | |||
} | |||
} | |||
} | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Don't delete this, it's used to upgrade gradle.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overriding wrapper scripts is deprecated and will be removed in future gradle versions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any doc I can check on this deprecation ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@gengjiawen looks like there it is (hope) https://docs.gradle.org/4.8/release-notes.html#overwriting-gradle's-built-in-tasks but it says just about syntax, not whole overriding
@@ -31,9 +30,3 @@ allprojects { | |||
} | |||
} | |||
} | |||
|
|||
|
|||
task wrapper(type: Wrapper) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same as above.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overriding wrapper scripts is deprecated and will be removed in future gradle versions
@@ -84,17 +85,17 @@ task prepareFolly(dependsOn: dependenciesPath ? [] : [downloadFolly], type: Copy | |||
from dependenciesPath ?: tarTree(downloadFolly.dest) | |||
from 'src/main/jni/third-party/folly/Android.mk' | |||
include "folly-${FOLLY_VERSION}/folly/**/*", 'Android.mk' | |||
eachFile {fname -> fname.path = (fname.path - "folly-${FOLLY_VERSION}/")} | |||
eachFile { fname -> fname.path = (fname.path - "folly-${FOLLY_VERSION}/") } | |||
includeEmptyDirs = false | |||
|
|||
// Patch for folly build break on gcc 4.9 and could be removed after build by clang |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should clean the block below "Patch for folly build break on gcc 4.9 and could be removed after build by clang"
Any updates on this? |
It's still being worked on. There's some changes we've had to make internally. We're close to shipping. |
Summary: Pull Request resolved: facebook#22231 - Use clang instead of the deprecated gcc - Use libc++ instead of the deprecated gnustl - Updated gradle and android plugin version - Fixed missing arch in local-cli template - `clean` task should now always succeed - `clean` task deletes build artifacts - No need to specify buildToolsVersion. It's derived. - Elvis operator for more readable code Pull Request resolved: facebook#22263 Reviewed By: hramos Differential Revision: D13004499 Pulled By: DanielZlotin fbshipit-source-id: da54bb744cedb4c6f3bda590f8c25d0ad64086ef
This is great, but unfortunately there is a memory leak in an unresolved JSC bug (#23259). The GC does not support Android, so the default behavior only collects the young generation and OOME when the old is full. You can either compile with flags set to disable generational GC or apply the provided patch. Unfortunately without fixing JSC itself, RN will crash in long running application. |
Summary: Pull Request resolved: facebook/react-native#22231 - Use clang instead of the deprecated gcc - Use libc++ instead of the deprecated gnustl - Updated gradle and android plugin version - Fixed missing arch in local-cli template - `clean` task should now always succeed - `clean` task deletes build artifacts - No need to specify buildToolsVersion. It's derived. - Elvis operator for more readable code Pull Request resolved: facebook/react-native#22263 Reviewed By: hramos Differential Revision: D13004499 Pulled By: DanielZlotin fbshipit-source-id: da54bb744cedb4c6f3bda590f8c25d0ad64086ef
Summary: Pull Request resolved: facebook#22231 - Use clang instead of the deprecated gcc - Use libc++ instead of the deprecated gnustl - Updated gradle and android plugin version - Fixed missing arch in local-cli template - `clean` task should now always succeed - `clean` task deletes build artifacts - No need to specify buildToolsVersion. It's derived. - Elvis operator for more readable code Pull Request resolved: facebook#22263 Reviewed By: hramos Differential Revision: D13004499 Pulled By: DanielZlotin fbshipit-source-id: da54bb744cedb4c6f3bda590f8c25d0ad64086ef
Summary:
Pull Request resolved: #22231
clean
task should now always succeedclean
task deletes build artifactsDifferential Revision: D13004499