--- title: Development layout: default ---

# Development

The ActionBarSherlock library along with its plugins and sample applications are all built using Apache Maven. Maven will automate the process of compiling and assembling the `apklib`, `jar`s, and `apk`s for each module.

Using Maven is NOT a requirement for contributing to development. It is merely used for automated testing and releasing of the libary and its sample applications.

### Prerequisites

Maven compilation requires that you have the `ANDROID_HOME` environment variable defined as the path to your Android SDK directory.

For example, the following line is in my `~/.bash_profile` which sets this variable:

    export ANDROID_HOME=/home/jake/vendor/android_sdk/

### Compiling

Once the prerequisites have been successfully installed, building is as easy as running `mvn clean package`. The `apklib` for the library will be located in the `actionbarsherlock/target/` folder.

You can find a `jar` for each plugin in its respective `target/` folder. The `apk`s for each of the samples are their respective `target/` folders as well.

### IDE

Even though the project uses Maven, each folder within the repository still maintains the standard Android project layout. By specifying the desired folder as an existing source for a new Android project, you should be able to successfully import the sources.

The library should be created as a project first. Any plugins and/or sample applications you also wish to create projects for can then be created.

If your IDE supports Maven you can point it at the parent `pom.xml` file in the root of the repository which will load all of the modules automatically.

### Code Style

Since a large portion of the source code is ported from the Android Open Source Project its conventions are followed in ActionBarSherlock. Detailed information can be found on the AOSP Code Guidelines page.

# Getting The Code

The source code repository is hosted on GitHub at JakeWharton/ActionBarSherlock.

The GitHub project is also the location of the issue tracker as well as the source code to this website.