ReactiveX / RxKotlin

RxJava bindings for Kotlin
Apache License 2.0
7.04k stars 456 forks source link

RxJavaMath extensions #55

Closed maxandron closed 7 years ago

maxandron commented 8 years ago

Hi,

I really dislike the RxJavaMath library because it requires me to wrap my existing observables. With Kotlin we can easily do this with extension methods.

With your permission, would love to add it to the library. This will entail a new RxJavaMath dependency though.

What do you think?

JakeWharton commented 8 years ago

To avoid putting the dependency on everyone using this library, it would have to be another module under the RxKotlin project. This would let you choose which extensions to use based on which of the Java projects you were using.

On Wed, Mar 9, 2016, 4:25 AM Ron Suhodrev notifications@github.com wrote:

Hi,

I really dislike the RxJavaMath library because it requires me to wrap my existing observables. With kotlin we can easily do this with extension methods.

With your permission, would love to add it to the library. This will entail a new RxJavaMath dependency though.

What do you think?

— Reply to this email directly or view it on GitHub https://github.com/ReactiveX/RxKotlin/issues/55.

maxandron commented 8 years ago

Should I structure the folders in a similar way to how https://github.com/square/retrofit is structured? (Put a folder named RxKotlinMath at the root of this repository?)

MarioAriasC commented 8 years ago

In our case RxKotlin is the project AND only module. AFAIK, and you should take it with a grain of salt, we need to have a module for RxKotlin and other for RxKotlinMath. Namely two modules in a project.

That will require deep changes on build.gradle

thomasnield commented 8 years ago

Maybe RxKotlinMath should be a separate project then...

MarioAriasC commented 8 years ago

Also I dunno how it will work with Bintray (that actually is failing at this very moment)

MarioAriasC commented 8 years ago

I like the idea of having several RxKotlin* modules under ReactiveX/RxKotlin umbrella, it will promote Kotlin in general, I don't think that is impossible to sort it out just difficult.

Once we have the first one we could add more things

Let me sort out the whole "BintrayGate" and we could think on something...

@cy6erGn0m ^^^ What do you think?

MarioAriasC commented 8 years ago

I sorted it out the "BintrayGate", we could start discussing this again

JakeWharton commented 8 years ago

Multi-modules should be relatively simple if that's the approach forward.

On Sat, Mar 19, 2016, 11:22 PM Mario Arias notifications@github.com wrote:

I sorted it out the "BintrayGate", we could start discussing this again

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/ReactiveX/RxKotlin/issues/55#issuecomment-198839192

maxandron commented 8 years ago

As I see it, the pro for multi-modules is that everything is in one place (easier to find for users) and the con is that discontinuing support for the module might be more messy than in a different project.

In my opinion though, making multiple rxkotlin modules is the best way

jakubkrolewski commented 8 years ago

I don't think that the RxKotlin project should contain extensions to every possible RxJava* library. Instead, RxJava* libraries should provide Kotlin modules. So in my opinion, this issue should be closed and an issues "Add Kotlin module" should be added to RxJavaMath. I think this is a similar approach that @JakeWharton used for the https://github.com/JakeWharton/RxBinding library. The code in Kotlin modules is generated automatically, so maybe this is also possible for RxJavaMath.

thomasnield commented 7 years ago

FYI, I started an rxkotlin-math library. I plan on using this quite a bit so it should grow fairly quickly.

https://github.com/thomasnield/rxkotlin-math

stepango commented 7 years ago

@maxandron rxKotlin not the best place for math extension. Since https://github.com/thomasnield/rxkotlin-math is out I think it's better to continue the discussion there.

thomasnield commented 7 years ago

@stepango @maxandron not quite out Maven-wise but will be soon!