2012-11-14 2 views
3

J'essaie d'utiliser j2objc pour traduire du code java. Mon code utilise google bibliothèque goyave, lorsque je tente d'importer une classeEst-ce que j2objc supporte la goyave?

import com.google.common.collect.Maps; 

Je reçois un message d'erreur indiquant qu'il ne peut pas être résolu.

The import com.google.common cannot be resolved 

Y a-t-il quelque chose de spécial qui doit être fait pour permettre le support de Guava dans le convertisseur j2objc?

Répondre

3

Une traduction de Guava ne fait actuellement pas partie de la distribution j2objc, mais il est prévu d'inclure un grand sous-ensemble de cette bibliothèque (y compris Maps). Quels projets font aujourd'hui télécharger la source de goyave, puis traduire les classes qu'ils veulent utiliser. Un problème avec cette approche est la détermination de la fermeture des classes dépendantes; c'est-à-dire, de quelles classes de gavas dépendent les cartes, et quelles sont les dépendances de ces classes, et ainsi de suite. Nous laissons javac déterminer que:

$ javac -d /tmp/guava -sourcepath <guava-source-paths> com.google.common.collect.Maps 
$ cd /tmp/guava 

$ find com -name '*.class' > /tmp/all-classes.list # list all classes 
$ fgrep -v '$' < /tmp/all-classes.list > /tmp/classes.list # get rid of inner classes 
$ sed -s '/class$/java/' </tmp/classes.list> /tmp/source-files 

Un outil qui détermine la liste des fichiers source est prévu pour la prochaine version.