-
Notifications
You must be signed in to change notification settings - Fork 24.5k
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
Remove react-native package from maven central and jcenter #13094
Comments
@mkonicek What do you think about removing this? I believe it's been over a year since the last publish. |
Just curious, what's the reasoning behind not publishing it to Maven Central / JCenter regularly? |
Unlike most other libraries, RN has inherently coupled JS+Java and JS+Obj-C so we want to distribute related code together in the interest of high cohesion. Additionally the build system is JS-centric and works out of We also want to keep the deployment process simple hence publishing to just one package repository, so the pragmatic place we've landed is to distribute all the code through npm and let people use Gradle or CocoaPods locally for linking, just not distribution. There are some downsides to this but it's the tradeoff we've made and are willing to commit to. |
I strongly support the idea of removing [email protected] from maven. It masks gradle linking problems and creates errors like these which are harder to debug: https://github.com/idehub/react-native-billing/issues/42 |
An argument for publishing versions of React Native through MavenWe have a scenario where several existing Android app will consume a reusable React Native component. However, none of owners of the existing apps want to add yet another tech (npm) to their build system, yet they have a dependency on the React Native native components (basically what's in If React Native is not publicly available through Maven, we need to distribute this ourselves. Which isn't too hard, but getting it through Maven would be nicer, IMO. Though obviously it needs to be up-to-date. Having ancient versions hanging about is, as @pyankoff mentioned above, troublesome. |
We have a similar setup as @petterh - a common RN component library that we want to reuse without having to install node_modules and the rest of the react setup in all the apps. We are generating an |
Hi there! This issue is being closed because it has been inactive for a while. Maybe the issue has been fixed in a recent release, or perhaps it is not affecting a lot of people. Either way, we're automatically closing issues after a period of inactivity. Please do not take it personally! If you think this issue should definitely remain open, please let us know. The following information is helpful when it comes to determining if the issue should be re-opened:
If you would like to work on a patch to fix the issue, contributions are very welcome! Read through the contribution guide, and feel free to hop into #react-native if you need help planning your contribution. |
This is need to be done, because it bring to much surprise, even for android developer. |
For anyone want to hack this, you need to config your root configurations.all {
resolutionStrategy.eachDependency { details ->
if (details.requested.group == 'com.facebook.react') {
details.useVersion "0.51.0"
}
}
}
|
And for the argument bringed by @petterh , you need not distribute. Just use npm, it's quite easy (a few lines of gradle config) , just as the react native template show. |
Related to #19259. |
@hramos They are same issue, I think you close the other. And I notice this because react native pushed a new version to bintray. And my co-workers spend 3 hour to fix this before ask for my help. Please fix this issue. And I think it's hard to fix even for most android developers. |
It's the same issue. I am reopening this issue as it seems like a good place to discuss a solution, as opposed to #19259 which is all about the side effects the issue has introduced. |
Question: do we know who has access to upload these releases to Maven? |
@grabbou Do you know ? I am thinking create a pr to remove upload script. |
To be honest, I don't really know. Never uploaded anything there.
…On Tue, 15 May 2018 at 18:18 Jiawen Geng ***@***.***> wrote:
@grabbou <https://github.com/grabbou> Do you know ? I am thinking create
a pr to remove upload script.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#13094 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ACWcxlGBbry3DgaY3E_kLcePB1u_T4zJks5tyv-9gaJpZM4Mlzhb>
.
|
I am not a facebook employee, I have no clue either. |
@gengjiawen where's this upload script? I don't recall dealing with Maven when we migrated CI to Circle last year. How are people getting into this situation? I've only found instructions for configuring Maven in existing apps here but it seems like that's just using the local React Native npm package. |
It seems that "anyone" could upload to issue and trigger cascading issues for everyone without fixed dep. @ide seemed to know more about it, but tbh I think we could just remove it in favor of a 'local dep' like
|
Where do we need to remove this? Given we can't prevent random people from creating a |
I think the upload script is react-native/ReactAndroid/release.gradle Lines 106 to 122 in 6c58035
|
Gotcha. It does not look like we actually run that anywhere. So far, I don't think these uploads to Maven are coming from our side. |
Weired, the repo is owned by official https://bintray.com/bintray/jcenter/com.facebook.react:react-native/view#, not Facebook. From the meta we can see the version info. It not publish all the versions.
Maybe bintray has some robot do the thing. @hramos @ide @grabbou Maybe email them officially to tell them stop this thing. |
The version cause the problem is in jcenter (bintray.com), not uploaded to maven. |
Hey folks, Baruch here, Developer Advocate with JFrog, the maintainer of Bintray (and As it was mentioned in the opening comment of this issue, the version of react-native in Maven Central and
Pros of this approach:
Cons:
Pros:
Cons:
We, in Bintray, tried to find the middle ground. The way it works is everybody can create their own repositories, and publish their packages there. They will be most of the time public, but they won't be considered "official" in any way. Pros:
Cons:
And that's exactly what happened. Someone, realizing the fact that form one side, We unlinked the fake package from We'll review our inclusion request process and make our best effort to prevent such incidents in the future. Thank you for understanding. P.S. the best way to prevent impostors from abusing your namespace is to publish the artifacts yourselves. I understand that you might not want to put your trust in Bintray after this incident, but considering you do have users who resolve Sorry again for the mess! |
It seems like gradle doesn't support restricting dependencies to specific repos (here, node_modules/): gradle/gradle#1369. |
Was reading issue #19259. Curious, does the changes cause some issues with RN plugins which are used in RN projects as well? I've noticed some weird behaviour in our app since yesterday (not sure if it's related) |
Thanks for the thorough reply @jbaruch. It seems like there isn't much actionable stuff left to do here so I'm gonna go ahead and close this issue. |
Wallmart are hosting all react-native versions on maven here Following code does work! implementation "com.walmartlabs.ern:react-native:0.59.4" |
Description
A really old version of react-native is being hosted on maven central and jcenter.
Please remove it to avoid confusions.
http://search.maven.org/#artifactdetails%7Ccom.facebook.react%7Creact-native%7C0.20.1%7Caar
https://bintray.com/bintray/jcenter/com.facebook.react%3Areact-native
Additional Information
The text was updated successfully, but these errors were encountered: