Apache Harmony is retired at the Apache Software Foundation since Nov 16, 2011.

The information on these pages may be out of date, or may refer to resources that have moved or have been made read-only.
For more information please refer to the Apache Attic

Apache Harmony Source Code

We provide tarballs of the source code, you can just download a stable milestone build or a recent snapshot.

And if you want to be on the bleeding-edge of the development effort, access repository. The Harmony project uses the Subversion® version control system. If you're new to Subversion, you can check out the online book about Subversion.


Currently, we are using Subversion 1.1.x (there are separate versions of the book covering 1.0 and 1.1).

Web Access to Subversion

If you just want to browse the source code, you can use the ViewCVS web interface to Subversion. This is current at all times.

Normal Subversion Access

Anyone can check code out of Subversion repository. You only need to specify a username and password in order to update the Subversion repository, and only Harmony committers have the permissions to do that. We run Subversion over standard HTTP/HTTPS, so hopefully you won't have problems with intervening firewalls.

Check out from Subversion

Again, anyone can do this. Use a command like:

svn checkout http://svn.apache.org/repos/asf/harmony/enhanced/java/trunk

Commit Changes to Subversion

Any Harmony committer should have a shell account on svn.apache.org. Before you can commit, you'll need to set a Subversion password for yourself. To do that, log in to svn.apache.org and run the command svnpasswd.

Once your password is set, you can use a command like this to commit:

svn commit

If Subversion can't figure out your username, you can tell it explicitly:

svn --username you commit

Subversion will prompt you for a password, and once you enter it once, it will remember it for you.


This is the password you configured with svnpasswd, not your shell or other password.

Write-access assumes HTTPS connection, so you may need to perform svn switch prior to committing.

Back to top