Open brunobowden opened 8 years ago
cc @tomball, @kstanger
watchOS support is waiting on adding Bitcode support to the non-jre libraries distributed with J2ObjC:
I'm not sure how useful transpiled code will be in a watch app, as (thanks to JRE inter-dependencies) a minimal hello-world command-line app is 7M. We're in the process of factoring out as many classes as possible for a minimal iOS app (hello-world's System.out use pulls in much of java.io, for example), but it's hard to fight most Java developers' inclination to include every Java library they can find on GitHub in their apps. Yes, JavaCard https://en.wikipedia.org/wiki/Java_Card apps were less than 64k, but no one expected them to use Jackson, Dagger, Guava, etc.
So we'll certainly get to this, but I don't see how watchOS support has a high priority.
On Mon, Oct 26, 2015 at 11:23 PM Bruno Bowden notifications@github.com wrote:
cc @tomball https://github.com/tomball, @kstanger https://github.com/kstanger
watchOS support is waiting on adding Bitcode support to the non-jre libraries distributed with J2ObjC:
google/j2objc#651 https://github.com/google/j2objc/issues/651
— Reply to this email directly or view it on GitHub https://github.com/j2objc-contrib/j2objc-gradle/issues/525#issuecomment-151387198 .
Fair points, especially when considering adding a lot of other libraries. For now, I'll look at watchOS support with only JRE and not the other libraries... though with stripped logic, it would radically cut down the binary size for third party libraries.
On Tue, Oct 27, 2015 at 8:53 AM Tom Ball notifications@github.com wrote:
I'm not sure how useful transpiled code will be in a watch app, as (thanks to JRE inter-dependencies) a minimal hello-world command-line app is 7M. We're in the process of factoring out as many classes as possible for a minimal iOS app (hello-world's System.out use pulls in much of java.io, for example), but it's hard to fight most Java developers' inclination to include every Java library they can find on GitHub in their apps. Yes, JavaCard https://en.wikipedia.org/wiki/Java_Card apps were less than 64k, but no one expected them to use Jackson, Dagger, Guava, etc.
So we'll certainly get to this, but I don't see how watchOS support has a high priority.
On Mon, Oct 26, 2015 at 11:23 PM Bruno Bowden notifications@github.com wrote:
cc @tomball https://github.com/tomball, @kstanger https://github.com/kstanger
watchOS support is waiting on adding Bitcode support to the non-jre libraries distributed with J2ObjC:
google/j2objc#651 https://github.com/google/j2objc/issues/651
— Reply to this email directly or view it on GitHub < https://github.com/j2objc-contrib/j2objc-gradle/issues/525#issuecomment-151387198
.
— Reply to this email directly or view it on GitHub https://github.com/j2objc-contrib/j2objc-gradle/issues/525#issuecomment-151548473 .
The bitcode size may indeed be much smaller, but don't forget that bitcode apps get built by Apple during distribution, so they may just plump back up. Tardis https://en.wikipedia.org/wiki/TARDIS technology is still in the future. :-)
On Tue, Oct 27, 2015 at 10:38 AM Bruno Bowden notifications@github.com wrote:
Fair points, especially when considering adding a lot of other libraries. For now, I'll look at watchOS support with only JRE and not the other libraries... though with stripped logic, it would radically cut down the binary size for third party libraries.
On Tue, Oct 27, 2015 at 8:53 AM Tom Ball notifications@github.com wrote:
I'm not sure how useful transpiled code will be in a watch app, as (thanks to JRE inter-dependencies) a minimal hello-world command-line app is 7M. We're in the process of factoring out as many classes as possible for a minimal iOS app (hello-world's System.out use pulls in much of java.io, for example), but it's hard to fight most Java developers' inclination to include every Java library they can find on GitHub in their apps. Yes, JavaCard https://en.wikipedia.org/wiki/Java_Card apps were less than 64k, but no one expected them to use Jackson, Dagger, Guava, etc.
So we'll certainly get to this, but I don't see how watchOS support has a high priority.
On Mon, Oct 26, 2015 at 11:23 PM Bruno Bowden notifications@github.com wrote:
cc @tomball https://github.com/tomball, @kstanger https://github.com/kstanger
watchOS support is waiting on adding Bitcode support to the non-jre libraries distributed with J2ObjC:
google/j2objc#651 https://github.com/google/j2objc/issues/651
— Reply to this email directly or view it on GitHub <
https://github.com/j2objc-contrib/j2objc-gradle/issues/525#issuecomment-151387198
.
— Reply to this email directly or view it on GitHub < https://github.com/j2objc-contrib/j2objc-gradle/issues/525#issuecomment-151548473
.
— Reply to this email directly or view it on GitHub https://github.com/j2objc-contrib/j2objc-gradle/issues/525#issuecomment-151582035 .
I believe these are necessary steps to get this working (may not be complete):
1) j2objcConfig: extraObjcCompilerArgs '-emit-llvm'
2) use_frameworks! in Podfile ???
Please, help to me at this topic https://github.com/google/j2objc/issues/780 about watchOS warning.
Requires bitcode support, i.e. adding that as a target for the clang build. Also it appears that bitcode support for the J2ObjC libraries is currently limited to the jre only.