Description
Is this a bug report?
no. but as already discussd below this can lead to mayn bug reports in downstream projects
Have you read the Bugs section of the How to Contribute guide?
yes
Environment
react-native -v
: v0.47.0-rc.5node -v
: v7.0.0npm -v
: 3.10.9
- Target Platform: Android
- Development Operating System: Win 10
- Build tools: command line
Steps to Reproduce
Create a RN 0.47rc-5 project that uses https://github.com/ideacreation/react-native-barcodescanner or one of many other 3rd-party libs. Try to compile and run.
Expected Behavior
App will run as in 0.46
Actual Behavior
Compile error.
D:\Work\835a948d\0\products\msu.Reading\node_modules\react-native-barcodescanner\android\src\main\java\com\eguma\barcodescanner\BarcodeScannerPackage.java:20: error: method does not override or implement a method from a supertype
@Override
^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
1 error
:react-native-barcodescanner:compileReleaseJavaWithJavac FAILED
FAILURE: Build failed with an exception.
Background
In ce6fb33 @javache removed the JS registration because it's now unnecessary. The issue is that a lot of the RN third-party components now need recompilation or just break (see ideacreation/react-native-barcodescanner#79 for one example but quick google search shows more).
That alone is not a problem but some components didn't have updates dor a long time and maybe authors are hard to reach.
The question is: Is this really needed?
What if we keep the abstract method is still there and just doesn't call anymore. Then components wouldn't need to recompile, right? This could save a lot of trouble in the ecosystem.