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

watchOS build support #525

Open
brunobowden opened this issue Oct 21, 2015 · 6 comments
Open

watchOS build support #525

brunobowden opened this issue Oct 21, 2015 · 6 comments
Assignees

Comments

@brunobowden
Copy link
Contributor

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.

@brunobowden brunobowden self-assigned this Oct 21, 2015
@brunobowden brunobowden added this to the 0.6 Release milestone Oct 21, 2015
@brunobowden brunobowden changed the title Working build for watchOS watchOS build support Oct 23, 2015
@brunobowden
Copy link
Contributor Author

cc @tomball, @kstanger

watchOS support is waiting on adding Bitcode support to the non-jre libraries distributed with J2ObjC:

google/j2objc#651

@tomball
Copy link

tomball commented Oct 27, 2015

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 [email protected]
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 google/j2objc#651


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

@brunobowden
Copy link
Contributor Author

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 [email protected] 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 [email protected]
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 google/j2objc#651


Reply to this email directly or view it on GitHub
<
#525 (comment)

.


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

@tomball
Copy link

tomball commented Oct 27, 2015

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 [email protected]
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 [email protected] 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 [email protected]
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 google/j2objc#651


Reply to this email directly or view it on GitHub
<

#525 (comment)

.


Reply to this email directly or view it on GitHub
<
#525 (comment)

.


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

@brunobowden
Copy link
Contributor Author

I believe these are necessary steps to get this working (may not be complete):

  1. j2objcConfig:
    extraObjcCompilerArgs '-emit-llvm'

  2. use_frameworks! in Podfile ???

@yurevich1
Copy link

Please, help to me at this topic google/j2objc#780 about watchOS warning.

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

No branches or pull requests

3 participants