* You need Maven 3. Homebrew is possibly easiest: brew update brew install maven * You need to prepare the repo before you can use it. * Use `preprocess.sh` to build manifests etc. to keep Eclipse happy. The output is ignored by Git, and the Fennec merge script skips them, too. * The `fennec-code-drop.sh` script does this for you, as well as running tests. * To run Android tests, you'll need to create .project and .classpath in `test`, too. * To make changes to generated files. * strings.xml doesn't exist. Modify strings.xml.in. * AndroidManifest.xml doesn't exist. Modify the file fragments in manifests/. * The same goes for other files that are produced by preprocess.sh. * If you want to alter a value _to affect our build only_, put it in AndroidManifest.xml.in. * To run the unit and integration test suites: * `mvn test` * `mvn integration-test` with an emulator running or a device connected. * To merge to mozilla-central: MC=~/moz/hg/mozilla-central pushd $MC hg qpop --all hg pull -u hg qnew -m "Android Sync code drop." code-drop popd ./fennec-code-drop.sh $MC pushd $MC # hg add any files that have been added. Removing files that have been # removed is an exercise for the reader. hg qrefresh * If you *know* all tests pass, or you're in an environment that prevents you from running them, you can invoke `fennec-copy-code.sh` directly (with the appropriate environment variables.) * To build mozilla-central: # You can do a partial build if you know what you're doing. make -f client.mk make -C objdir-fennec package adb install -r objdir-fennec/dist/fennec*.apk * You'll need subgit to work with external dependency clones. http://rustyklophaus.com/articles/20100124-SubmodulesAndSubreposDoneRight.html * If for some reason you need to work with the external test-android-sync repo: git remote add -f android-sync-test ~/path/to/test-android-sync git pull -s subtree android-sync-test develop (It's a subtree.)