Skip to content

Latest commit

 

History

History
 
 

jre_emul

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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.