-
Notifications
You must be signed in to change notification settings - Fork 7.6k
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
Kotlin Language Adaptor #292
Conversation
Conflicts: rxjava-core/src/main/java/rx/util/functions/Functions.java
RxJava-pull-requests #165 FAILURE |
Is a problem with the Perm-Gen memory size when compiling the scala module after you download the kotlin libraries for the first time. The problem disappear growing up the Perm-Gen size, or running the whole process a second time |
Thank you for submitting this, I am not ignoring it due to lack of interest, I'm just overly busy at the moment but I will get around to this! |
No problem |
@MarioAriasC you might want to redo this on a feature branch as there's a lot of clutter (merge commits, whoops I forgot this) here. I'll review anyway, but we are interested in merging concise, complete commits. make sense? Let me know if you need git syntax help. |
@@ -0,0 +1,59 @@ | |||
buildscript { | |||
repositories { | |||
mavenCentral() |
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 redundant
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.
Needed by Kotlin Gradle plugin
looks good to me. sufficient unit tests, etc. cleanup the files, build.gradle, and commit, then ask @benjchristensen! |
dependencies { | ||
compile project(':rxjava-core') | ||
compile 'org.jetbrains.kotlin:kotlin-stdlib:0.5.748' | ||
provided 'junit:junit-dep:4.10' |
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.
looking at your source, I don't see use of junit outside tests, mark this testCompile
@adriancole Any help with git syntax (and other things) will be very appreciated |
sure. It looks like you are 7 commits ahead of master (merges plus the other things you've added) do Then, you do hope this helps. |
We are getting very close to being able to pull this in (with some refactoring) now that pull #300 is coming. |
Does Kotlin support closure/function coercion like Java 8 or Groovy 2.2 (http://docs.codehaus.org/display/GROOVY/2013/07/09/First+beta+of+Groovy+2.2+available) or allow dynamic generation of extension methods? I see that Kotlin has extension methods, but every method must be defined manually. I'm interested in a mechanism to automatically coerce from Kotlin functions to RxJava Function/Action classes, or dynamically generate the extension methods. Here's how I generate the extension methods dynamically in Groovy: https://github.com/Netflix/RxJava/blob/master/language-adaptors/rxjava-groovy/src/main/java/rx/lang/groovy/RxGroovyExtensionModule.java#L84 |
For background on the previous questions and why it has been so long in responding to this pull request look at release 0.11.0 which significantly changes how we do language adaptors: https://github.com/Netflix/RxJava/releases/tag/rxjava-0.11.0 |
Kotlin support function coercion is called SAM (Single Abstract Method) Conversions, this support was introduced in M5.2 and completed in M6 http://blog.jetbrains.com/kotlin/2013/08/kotlin-m6-is-here/ Personally I used it in other project and works fine, but sometimes the compiler can infer the actual type of the interface, in those cases we could fall back on Extension methods. |
That sounds like it could "just work" without anything special then. If not then perhaps the extension methods can fix where we have issues. Can you give it a try against the new rxjava-core? If coercion is all that's needed then it's simple. If you find issues and extension methods would help, or there are extras that would benefit Kotlin (make it more idiomatic etc) that can be added through a utility class, extension methods etc, it would be great to get an updated pull request. If nothing else, examples of Kotlin code using RxJava would be great if coercion handles all needed cases. |
@benjchristensen I'll close this pull request and open a new one. I have several problems with Git and gradle related to my changes. I want to start fresh, will be more easy for all of us |
Langauge adaptor for kotlin