j2objc-contrib / j2objc-common-libs-e2e-test

End-to-end tests for translating, compiling, and linking common Java libraries into Objective C using j2objc
https://github.com/j2objc-contrib
Apache License 2.0
12 stars 5 forks source link

junit:junit - J2ObjC continuous build #16

Open brunobowden opened 8 years ago

brunobowden commented 8 years ago

A programmer-oriented testing framework for Java.

@stefanbirkner, @Tibor17 - FYI for you both. This is to support translation of your Java library to Objective-C such that it can be used on iOS. This bug is specifically for testing this as part of a continuous build using Google's J2ObjC conversion tool.

@advayDev1 FYI

Tibor17 commented 8 years ago

What Java libraries you are translating to C, Maven or JUnit? Who nowadays spends own time with translating Java to C. It's kind of strange to me to see this activity in Google after Oracle has made investment to GC, JustInTime Compiler and Java Realtime JVM. If iOS has problem with Java itself then the issues must be communicated with JVM vendor and not to make workarounds.

On Fri, Sep 25, 2015 at 10:30 PM, Bruno Bowden notifications@github.com wrote:

A programmer-oriented testing framework for Java.

@stefanbirkner https://github.com/stefanbirkner, @Tibor17 https://github.com/Tibor17 - FYI for you both. This is to support translation of your Java library to Objective-C such that it can be used on iOS. This bug is specifically for testing this as part of a continuous build using Google's J2ObjC conversion tool.

@advayDev1 https://github.com/advayDev1 FYI

— Reply to this email directly or view it on GitHub https://github.com/j2objc-contrib/j2objc-common-libs-e2e-test/issues/16.

Cheers Tibor

advayDev1 commented 8 years ago

Hi @Tibor17, we are not manually translating anything to Objective C; we are merely setting up continuous testing that verifies JUnit can be automatically translated from Java to Objective C using our build tool j2objc-gradle with Google's j2objc translator.

Also to be clear this project is not affiliated with Google. (j2objc itself is run by Google, but this project is run by @brunobowden and myself).

brunobowden commented 8 years ago

It would be ideal to run a modern JVM on iOS but that isn't permitted by Apple's terms. J2ObjC is a workaround to that by translating source to source.

Quoting from Wikipedia:

Java running on an iOS platform currently is outside the bounds of the iOS SDK Agreement. The guideline in question is rule 3.3.2, which reads and which was changed after Sept 2010:

3.3.2 — An Application may not itself install or launch other executable code by any means, including without limitation through the use of a plug-in architecture, calling other frameworks, other APIs or otherwise. No interpreted code may be downloaded or used in an Application except for code that is interpreted and run by Apple’s Documented APIs and built-in interpreter(s).

On Fri, Sep 25, 2015, 5:19 PM Advay Mengle notifications@github.com wrote:

Hi @Tibor17 https://github.com/Tibor17, we are not manually translating anything to Objective C; we are merely setting up continuous testing that verifies JUnit can be automatically translated from Java to Objective C using our build tool j2objc-gradle https://github.com/j2objc-contrib/j2objc-gradle with Google's j2objc https://github.com/google/j2objc translator.

Also to be clear this project is not affiliated with Google. (j2objc itself is run by Google, but this project is run by @brunobowden https://github.com/brunobowden and myself).

— Reply to this email directly or view it on GitHub https://github.com/j2objc-contrib/j2objc-common-libs-e2e-test/issues/16#issuecomment-143381676 .

brunobowden commented 8 years ago

@Tibor17 - we both agree that this shouldn't be necessary but this is the only proper way this can be done. Google's "Inbox", "Docs" and "Spreadsheet" apps on iOS all use translated java code via J2ObjC. @advayDev1 and I are both ex-Google engineers who are interested in extending the support to a wider range of libraries.