aboutsummaryrefslogtreecommitdiffhomepage
path: root/site
diff options
context:
space:
mode:
authorGravatar Tobias Werth <twerth@google.com>2016-06-21 12:38:10 +0000
committerGravatar Philipp Wollermann <philwo@google.com>2016-06-21 14:47:17 +0000
commitab3518874ad8363185e75ea3ac1490c04ee2f82d (patch)
tree308c09c691decfc873a01d03f916d0c01059a9c8 /site
parent176ab1d99568a1f596425e935bc904fed6acd1dd (diff)
Bring contribution page up to date.
-- MOS_MIGRATED_REVID=125441622
Diffstat (limited to 'site')
-rw-r--r--site/contributing.md43
1 files changed, 25 insertions, 18 deletions
diff --git a/site/contributing.md b/site/contributing.md
index 0e135faaa3..e25e7c5bd0 100644
--- a/site/contributing.md
+++ b/site/contributing.md
@@ -55,17 +55,22 @@ don't have IDE support for other languages in Bazel right now.
### Creating an Eclipse project
-To work with Eclipse, install the [e4b](https://github.com/bazelbuild/e4b)
-plugin and import the Bazel workspace as a Bazel project
-(`Import project > Others`). You can select `//src/main/java/...` and
-`//src/test/java/...` as target to build and the corresponding directory to
-track.
+To work with Eclipse:
+
+* Install the [e4b](https://github.com/bazelbuild/e4b) plugin.
+* Change the path to the Bazel binary in the plugin preferences.
+* Import the Bazel workspace as a Bazel project (`File` > `New` > `Other` >
+ `Import Bazel Workspace`).
+* Select `src > main > java` and `src > test > java` as directories and add
+ `//src/main/java/...` and `//src/test/java/...` as targets.
### Creating an IntelliJ project
-To work with IntelliJ, run `sh scripts/setup-intellij.sh` from the root of the
-source tree and it will create the necessary project files. You can then open
-the folder as a project in IntelliJ.
+To work with IntelliJ:
+
+* Run `sh scripts/setup-intellij.sh` from the root of the source tree to create
+ the necessary project files.
+* Open the folder as a project in IntelliJ.
<a name="compile-bazel"></a>
### Compiling Bazel
@@ -76,13 +81,13 @@ compiling it:
* `sh compile.sh` bootstraps Bazel from scratch, first compiling it without using
Bazel, then rebuilding it again using the just built Bazel and optionally runs
tests, too. The resulting binary can be found at `output/bazel`.
-* `bazel build //src:bazel` builds the Bazel binary using Bazel and the
- resulting binary can be found at `bazel-bin/src/bazel`. This is the recommended
- way of rebuilding Bazel once you have bootstrapped it.
+* `bazel build //src:bazel` builds the Bazel binary using `bazel` from your PATH
+ and the resulting binary can be found at `bazel-bin/src/bazel`. This is the
+ recommended way of rebuilding Bazel once you have bootstrapped it.
In addition to the Bazel binary, you might want to build the various tools Bazel
-uses. They are located in `//src/java_tools`, `//src/objc_tools` and
-`//src/tools` and their directories contain README files describing their
+uses. They are located in `//src/java_tools/...`, `//src/objc_tools/...` and
+`//src/tools/...` and their directories contain README files describing their
respective utility.
When modifying Bazel, you want to make sure that the following still works:
@@ -96,7 +101,8 @@ When modifying Bazel, you want to make sure that the following still works:
### Debugging Bazel
-Start creating a debug configuration for both C++ and Java in your bazelrc with the following:
+Start creating a debug configuration for both C++ and Java in your `.bazelrc`
+with the following:
```
build:debug -c dbg
@@ -105,8 +111,8 @@ build:debug --copt="-g"
build:debug --strip="never"
```
-Then you can rebuild Bazel with `bazel build --config debug //src:bazel` and use your favorite
-debugger to start debugging.
+Then you can rebuild Bazel with `bazel build --config debug //src:bazel` and use
+your favorite debugger to start debugging.
For debugging the C++ client you can just run it from gdb or lldb as you normally would.
But if you want to debug the Java code, you must attach to the server using the following:
@@ -128,8 +134,9 @@ Bazel is organized in several parts:
* Server code in `src/main/java` and `src/test/java`.
* Core code which is mostly composed of [SkyFrame](docs/skyframe.html) and some
utilities.
- * [Skylark](docs/skylark/index.html) rules are defined in `tools/build_rules`.
- If you want to add rules, consider using [Skylark](docs/skylark/index.html)
+ * Rules written in Bazel's extension language
+ [Skylark](docs/skylark/index.html) are defined in `tools/build_rules`. If
+ you want to add rules, consider using [Skylark](docs/skylark/index.html)
first.
* Builtin rules in `com.google.devtools.build.lib.rules` and in
`com.google.devtools.build.lib.bazel.rules`.