Getting the Project Source Code
You can start with the phoneME Advanced technology
by downloading the project source code.
You can either download the project source code bundle
or checkout the source code from the
repository.
|
Note:
The
phoneME Project Downloads page contains
the most recent stable releases of the phoneME Advanced project.
The trunk version available from the repository
contains current source code under active development.
|
Download the Project Source Code Bundle
Start by creating a directory to contain the project source code.
Then download the the zip bundle from the
phoneME Project Downloads page and unpack the zip bundle.
The name of the zip bundle will be something like
phoneme_advanced-milestone-rel-src-buildnum-date.zip.
% mkdir phoneme-advanced
% cd phoneme-advanced
% wget http://download.java.net/mobileembedded/phoneme/advanced/bundle.zip
% unzip bundle.zip
|
Note:
The version of the project source code
that you can download as a zip bundle
differs from the version that you can checkout from the
Subversion repository.
The zip bundle is a snapshot of the repository,
based on the state of the repository at the most recent milestone.
Basically, the purpose of the zip bundle
is to provide a convenient download for evaluation purposes.
Real development is supported through the
Subversion repository.
|
Checkout the Project Source Code Repository
The project source code repository is modularly organized into larger pieces
called components that can be managed independently.
The main benefit of this modularity is that components
can be shared between phoneME Feature and phoneME Advanced
or among the various optional packages.
The minimal set of components needed to build CDC
are cdc and tools.
So start by checking out these components
with a Subversion client:
% mkdir phoneme-advanced
% cd phoneme-advanced
% svn checkout https://phoneme.dev.java.net/svn/phoneme/components/cdc/trunk cdc
% svn checkout https://phoneme.dev.java.net/svn/phoneme/components/tools/trunk tools
To check out a working copy of the repository,
you'll need to get a java.net account
because the Subversion client
requires authentication with the
Subversion repository server.
Authentication realm: CollabNet SCM Repository
Username: duke
Password for 'duke':
Other Components in the Project Source Code Repository
The project source code repository is constantly evolving,
but the table below describes
the components that are currently available.
The URL for each component is
https://phoneme.dev.java.net/svn/phoneme/components/name/trunk.
| Component |
Description |
| cdc |
CDC libraries, VM and build system. |
| tools |
Build scripts and tools. |
| midp |
MIDP implementation. |
| pcsl |
PCSL implementation. |
| javacall |
JavaCall porting layer used by MIDP and optional packages. |
| jpeg |
JPEG implementation. |
| abstractions |
Abstractions shared by optional packages. |
| jsrnnn |
Each component for an optional package implementation
has a component name with the form jsrnnn. |
|
Update the Project Source Code
You can update your copy of the project source code repository
to keep it in sync with the latest changes on the project site.
For example,
% cd phoneme-advanced/cdc
% svn update
Browse the Project Source Code
Once you've downloaded the project source code,
you may want to explore and see how it's structured.
The phoneme-advanced directory
contains the components that you've selected:
cdc and tools.
cdc contains three main directory hierarchies:
-
build contains the CDC build system which is a set of makefiles
and scripts for building the CDC Java runtime environment
with different build options and for different platforms.
-
src contains the source code hierarchy including platform-independent source code and target-specific source code.
-
test contains test programs.
tools contains build scripts and tools
shared by the all of the components.
See the
CDC Build System Guide
for more information about the structure of the CDC build system,
and the
CDC Porting Guide
for more information about the structure of the source code hierarchy.
|