forked from google/j2objc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME
52 lines (42 loc) · 2.74 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
This package contains the Java and Objective-C source files to build the JRE
emulation library for J2ObjC. The Objective-C sources are all in the Classes
directory, like most Xcode projects. All Objective-C sources were created for
this project.
Java source files come from four sources:
* Android Open Source: these are in the android directory. We're updating our
Android sources to the latest in the Android Git repositories on
https://android.googlesource.com/platform/, so all updated code is in
android/platform/. Every package in android/platform has an associated
repository on https://android.googlesource.com/platform/.
The older Android code is in android/frameworks/ and android/libcore, and
will gradually move to android/platform as we continue to update.
* OpenJDK: these files are in the openjdk directory. They are updated from the
OpenJDK mercurial repository at http://hg.openjdk.java.net/. Some of the files
have been modified for use by this project and in some cases to increase
compatibility with Android's JDK where its functionality differs from the Java
RI.
* Apache Harmony Project: these files are rooted in the apache_harmony
directory, and have the same directory structure as that project. Some of
these files have been modified for use by this project, including some that
have Objective-C native code. We are migrating these classes and tests to
their Android equivalents where available, so this tree will shrink as well.
* Apple Public Source: these files are in the apple_apsl directory, and were
modified for use by this project.
* The remaining sources were created for this project: sources are in the
Classes directory, tests are in the misc_tests directory. Classes that are
either mapped to Foundation classes or natively implemented have empty
Java versions in the stubl_classes directory, so that jre_emul.jar has
definitions for them during translation.
The icu4c directory contains copies of those ICU4C (International Components
or Unicode, for C/C++) header files that aredistributed with the iOS SDK.
These headers should only be used when building the jre_emul library, since
those headers are not available on macOS.
The reason the Android, Apache Harmony, Apple, and ICU files are separated is
simple: give credit where it's due. The Android and J2ObjC sources are from
Google, while the Apache Harmony, Apple and ICU projects are from other
respected teams. We appreciate the hard work that went into all these
projects.
Finally, there are some files in Classes that look like Java classes, but
have Objective-C suffixes. These are drop-in replacements for translated
classes; for example, Classes/java/util/HashMap.h (and .m) defines a faster
implementation than its translated code equivalent.