Skip to content
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

io.reactivex:rxjava:1.X - J2ObjC continuous build #43

Open
brunobowden opened this issue Oct 1, 2015 · 2 comments
Open

io.reactivex:rxjava:1.X - J2ObjC continuous build #43

brunobowden opened this issue Oct 1, 2015 · 2 comments
Assignees
Labels

Comments

@brunobowden
Copy link
Contributor

Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.

@benjchristensen, @zsxwing, @akarnokd - FYI for you all - no need to take action. This concerns supporting translation of the RxJava library to Objective-C such that it can be used on iOS. This issue is specifically for testing the translation as part of a continuous build using Google's Java to Objective-C conversion tool, known as "J2ObjC".

Since you're using the Netflix Nebula testing framework. I'd suggest looking at the newly release Gradle TestKit which was heavily influenced by Nebula:
https://docs.gradle.org/2.6-rc-1/userguide/test_kit.html

@advayDev1 - What's easier about RxJava is that it already uses a Gradle Build. Since the 2.0 release isn't finalized, I'd suggest supporting the 1.0.14 release. It also has the benefit of having no external dependencies except for testing:

From their 1.0.14 build.gradle: https://github.com/ReactiveX/RxJava/blob/v1.0.14/build.gradle

buildscript {
  repositories { jcenter() }
  dependencies { classpath 'com.netflix.nebula:gradle-rxjava-project-plugin:2.2.3' }
}

description = 'RxJava: Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.'

apply plugin: 'rxjava-project'
apply plugin: 'java'

dependencies {
    testCompile 'junit:junit-dep:4.10'
    testCompile 'org.mockito:mockito-core:1.8.5'
}
...
@brunobowden brunobowden self-assigned this Oct 1, 2015
@akarnokd
Copy link

akarnokd commented Oct 1, 2015

Sounds great. How will you manage the unsafe/regular distinction in our code? If not too much burden, I'd like to know how well the 2.0 branch translates to Objective-C (in its current state).

@brunobowden
Copy link
Contributor Author

Someone was trying to use RxJava and reported a crash with sun.misc.Unsafe
https://groups.google.com/forum/#!searchin/j2objc-discuss/RxJava/j2objc-discuss/LjunwVJs2O0/gV5sMU08EwAJ

Quoting @tomball:
"Please retry with the very latest source. Keith recently updated
sun.misc.Unsafe
https://github.com/google/j2objc/commits/master/jre_emul/Classes/sun/misc/Unsafe.java
to
use c11 atomic intrinsics, which should make that class both more correct
and stable."

I'll ping the thread to ask if the problem was resolved. We really need to
get all the unit tests running as well if you want to have confidence in
the output.

On Thu, Oct 1, 2015 at 12:05 AM David Karnok [email protected]
wrote:

Sounds great. How will you manage the unsafe/regular distinction in our
code? If not too much burden, I'd like to know how well the 2.0 branch
translates to Objective-C (in its current state).


Reply to this email directly or view it on GitHub
#43 (comment)
.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants