Skip to content

"Breaking - remove unused registration of JS modules" really breaks stuff #15232

Closed
@forki

Description

@forki

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

  1. react-native -v: v0.47.0-rc.5
  2. node -v: v7.0.0
  3. npm -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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions