Build dev server as a java_binary

Update documentation and run_dev script to reflect reality.

Change-Id: If2468d9084d373b47c385eba3420d0ee55664750
diff --git a/BUCK b/BUCK
index e9083fc..043aa87 100644
--- a/BUCK
+++ b/BUCK
@@ -3,6 +3,7 @@
 TYPE = 'snapshot' if GITILES_VERSION.endswith('-SNAPSHOT') else 'release'
 
 DEPS = [
+  '//gitiles-dev:dev',
   '//gitiles-servlet:servlet',
   '//gitiles-servlet:src',
   '//gitiles-servlet:javadoc',
@@ -14,7 +15,7 @@
   deps = [
     '//gitiles-servlet:servlet',
     '//gitiles-servlet:servlet_tests',
-    '//gitiles-dev:dev',
+    '//gitiles-dev:lib',
   ]
 )
 
diff --git a/README b/README
index a97cae1..dfc8497 100644
--- a/README
+++ b/README
@@ -8,30 +8,38 @@
 
 BUILDING
 
-Gitiles requires Maven (http://maven.apache.org/) to build.
+Gitiles requires Buck (http://facebook.github.io/buck/) to build.
 
-sudo apt-get install maven
-cd gitiles
-mvn compile
+  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
+  buck build all
 
 
 TESTING
 
-cd gitiles
-mvn package
-./tools/run_dev.sh
-open http://localhost:8080/ to view your local copy of gitiles.
+  cd /path/to/repositories
+  /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.
 
 
 ECLIPSE
 
-If you'd like to use Eclipse to edit Gitiles, you will need the m2e
-Eclipse plugin: http://eclipse.org/m2e/
+If you'd like to use Eclipse to edit Gitiles, first generate a project file:
+  ./bucklets/tools/eclipse.py && ./bucklets/tools/eclipse.py --src
 
-File -> Import -> Maven -> Existing Maven Project
+Import the project in Eclipse:
+  File -> Import -> Existing Projects into Workpace
 
-Make sure that all 4 projects are imported:
-gitiles-parent, gitiles-dev, gitiles-servlet, gitiles-war
+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.
 
 
 CODE REVIEW
diff --git a/gitiles-dev/BUCK b/gitiles-dev/BUCK
index b50f58b..0ab7c53 100644
--- a/gitiles-dev/BUCK
+++ b/gitiles-dev/BUCK
@@ -1,5 +1,5 @@
 java_library(
-  name = 'dev',
+  name = 'lib',
   srcs = glob(['src/main/java/**/*.java']),
   deps = [
     '//gitiles-servlet:servlet',
@@ -15,3 +15,10 @@
   ],
   visibility = ['PUBLIC'],
 )
+
+java_binary(
+  name = 'dev',
+  deps = [':lib'],
+  main_class = 'com.google.gitiles.dev.Main',
+  visibility = ['PUBLIC'],
+)
diff --git a/lib/BUCK b/lib/BUCK
index 5a6c80e..3faf33f 100644
--- a/lib/BUCK
+++ b/lib/BUCK
@@ -16,12 +16,14 @@
   name = 'servlet-api_2_5',
   id = 'org.eclipse.jetty.orbit:javax.servlet:2.5.0.v201103041518',
   sha1 = '9c16011c06bc6fe5e9dba080fcb40ddb4b75dc85',
+  unsign = True,
 )
 
 maven_jar(
   name = 'servlet-api_3_0',
   id = 'org.eclipse.jetty.orbit:javax.servlet:3.0.0.v201112011016',
   sha1 = '0aaaa85845fb5c59da00193f06b8e5278d8bf3f8',
+  unsign = True,
 )
 
 maven_jar(
diff --git a/tools/run_dev.sh b/tools/run_dev.sh
index 87156e7..14620d1 100755
--- a/tools/run_dev.sh
+++ b/tools/run_dev.sh
@@ -17,10 +17,14 @@
 set -e
 
 ROOT="$(dirname "$0")/.."
-VERSION="$(grep '^  <version>' "$ROOT/pom.xml" | sed 's/\s*<[^>]*>\s*//g')"
 PROPERTIES=
 if [ "x$1" != "x" ]; then
   PROPERTIES="-Dcom.google.gitiles.configPath=$1"
 fi
 
-java $PROPERTIES -jar "$ROOT/gitiles-dev/target/gitiles-dev-$VERSION.jar"
+(
+  cd "$ROOT"
+  buck build gitiles-dev:dev
+)
+
+exec java $PROPERTIES -jar "$ROOT/buck-out/gen/gitiles-dev/dev.jar"