[TOC]
Gitiles requires Buck to build.
sudo apt-get install ant
cd ${HOME}
git clone https://github.com/facebook/buck.git
cd buck
ant
sudo ln -s ${PWD}/bin/buck /usr/bin/buck
cd /path/to/gitiles
git submodule update --init
buck build all
buck test
cd /path/to/repositories # Don't run from the gitiles repo.
/path/to/gitiles/tools/run_dev.sh
This will recompile and start a development server. Open
http://localhost:8080/ to view your local copy of gitiles, which
will serve any repositories under /path/to/repositories
.
To run unit tests, run buck test
.
If you'd like to use Eclipse to edit Gitiles, first generate a project file:
./bucklets/tools/eclipse.py --src --exclude=servlet-api_2_5
Import the project in Eclipse:
File -> Import -> Existing Projects into Workpace
The project only needs to be rebuilt if the source roots or third-party libraries have changed. For best results, ensure the project is closed in Eclipse before rebuilding.
Running Gitiles from Eclipse requires setting the
com.google.gitiles.sourcePath
system property. The property value has to be
the root folder of the Gitiles source code, for example:
-Dcom.google.gitiles.sourcePath=/home/johndoe/git/gitiles
Java code in Gitiles follows the Google Java Style Guide with a 100-column limit.
Code should be automatically formatted using google-java-format prior to sending a code review. There is currently no Eclipse formatter, but the tool can be run from the command line:
java -jar /path/to/google-java-format-1.0-all-deps.jar -i path/to/java/File.java
CSS in Gitiles follows the SUIT CSS naming conventions.
Gitiles uses Gerrit for code review: https://gerrit-review.googlesource.com/
Gitiles uses the "git push" workflow with server https://gerrit.googlesource.com/gitiles. You will need a generated cookie.
Gerrit depends on "Change-Id" annotations in your commit message. If you try to push a commit without one, it will explain how to install the proper git-hook:
curl -Lo `git rev-parse --git-dir`/hooks/commit-msg \
https://gerrit-review.googlesource.com/tools/hooks/commit-msg
chmod +x `git rev-parse --git-dir`/hooks/commit-msg
Before you create your local commit (which you'll push to Gerrit) you will need to set your email to match your Gerrit account:
git config --local --add user.email [email protected]
Normally you will create code reviews by pushing for master:
git push origin HEAD:refs/for/master