Merge branch 'stable-0.2-7' into stable-0.2

* stable-0.2-7:
  Set version to 0.2-7.1
  Fix formatting of Soy files
  Bump bazel version to 1.2.0
  Backport all build-related commits from master to stable-0.2
  Enable more error-prone checks
  Enable error-prone checks by default
  Update bazel options to align with gerrit's
  tools/eclipse/project.sh: Use bazel query to find project.py
  Harmonize build rule names to use hyphen instead of underscore
  Check BLOB content size before trying to render it
  BlameCacheImpl: Avoid NPE if path does not exist
  Navbar: Fix handling of [home] and [logo] metalinks
  Don't render navbar.md metadata in html
  Format with google-java-format 1.7
  Do not retain body in RevisionParser walk
  Remove unnecessary parseBody call from LogServlet
  Ensure RevTag is parsed before using its body
  Ensure RevCommit is parsed before using its content
  Require a RevWalk when building CommitData
  Convert /** @param */ to {@param} in Soy.
  RefServlet: Use full refname in link
  Automatically format all build files with buildifier lint mode

Change-Id: I8b140d3893d45370e7e8141e980048cd2ad292f5
diff --git a/resources/com/google/gitiles/templates/BlameDetail.soy b/resources/com/google/gitiles/templates/BlameDetail.soy
index cdeeb3e..fa68ac7 100644
--- a/resources/com/google/gitiles/templates/BlameDetail.soy
+++ b/resources/com/google/gitiles/templates/BlameDetail.soy
@@ -24,11 +24,16 @@
   {@param breadcrumbs: ?}  /** breadcrumbs for this page. */
   {@param data: ?}  /** blob data, matching the params for .blobBox. */
   {@param? regions: ?}  /** for non-binary files, list of regions, one per line, with the following
-      keys: abbrevSha: abbreviated SHA-1 of revision for this line; if missing, assume blame info is
-      missing. author: author information with at least "name" and "relativeTime" keys. time: time
-      of the revision. blameUrl: URL for a blame of this file at this commit. commitUrl: URL for
-      detail about the commit. diffUrl: URL for a diff of this file at this commit. class: class
-      name for tr. All keys but "class" are optional. */
+      keys:
+        abbrevSha: abbreviated SHA-1 of revision for this line; if missing, assume blame info is
+          missing.
+        author: author information with at least "name" and "relativeTime" keys.
+        time: time of the revision.
+        blameUrl: URL for a blame of this file at this commit.
+        commitUrl: URL for detail about the commit.
+        diffUrl: URL for a diff of this file at this commit.
+        class: class name for tr. All keys but "class" are optional.
+      */
   {@inject staticUrls: ?}
 {if $regions}
   {call .header data="all"}
diff --git a/resources/com/google/gitiles/templates/LogDetail.soy b/resources/com/google/gitiles/templates/LogDetail.soy
index 354453c..6b9a573 100644
--- a/resources/com/google/gitiles/templates/LogDetail.soy
+++ b/resources/com/google/gitiles/templates/LogDetail.soy
@@ -98,17 +98,21 @@
   {@param sha: ?}  /** commit SHA-1. */
   {@param url: ?}  /** URL to commit detail page. */
   {@param shortMessage: ?}  /** short commit message. */
-  {@param message: ?}  /** list of commit message parts, where each part contains: text: raw text of
-      the part. url: optional URL that should be linked to from the part. */
+  {@param message: ?}  /** list of commit message parts, where each part contains:
+      text: raw text of the part.
+      url: optional URL that should be linked to from the part.
+      */
   {@param author: ?}  /** author information with at least "name" and "relativeTime" keys. */
   {@param committer: ?}  /** committer information with at least "time" and "relativeTime" keys. */
   {@param branches: ?}  /** list of branches for this entry, with "name" and "url" keys. */
   {@param tags: ?}  /** list of tags for this entry, with "name" and "url" keys. */
   {@param diffTree: ?}  /** unused in this variant. */
   {@param rename: ?}  /** if this entry was a rename or a copy of the path, an object containg:
-      changeType: the change type, "RENAME" or "COPY". oldPath: the old path prior to the rename or
-      copy. newPath: the new path after the rename or copy. score: the similarity score of the
-      rename or copy. */
+      changeType: the change type, "RENAME" or "COPY".
+      oldPath: the old path prior to the rename or copy.
+      newPath: the new path after the rename or copy.
+      score: the similarity score of the rename or copy.
+      */
 <a class="u-sha1 u-monospace CommitLog-sha1" href="{$url}">{$abbrevSha}</a>
 {sp}<a href="{$url}">{$shortMessage}</a>
 {sp}<span class="CommitLog-author" title="{$author.email}">{msg desc="commit author name"}by {$author.name}{/msg}</span>
@@ -151,17 +155,21 @@
   {@param sha: ?}  /** commit SHA-1. */
   {@param url: ?}  /** URL to commit detail page. */
   {@param shortMessage: ?}  /** short commit message. */
-  {@param message: ?}  /** list of commit message parts, where each part contains: text: raw text of
-      the part. url: optional URL that should be linked to from the part. */
+  {@param message: ?}  /** list of commit message parts, where each part contains:
+      text: raw text of the part.
+      url: optional URL that should be linked to from the part.
+      */
   {@param author: ?}  /** author information with at least "name" and "relativeTime" keys. */
   {@param committer: ?}  /** committer information with at least "time" and "relativeTime" keys. */
   {@param branches: ?}  /** list of branches for this entry, with "name" and "url" keys. */
   {@param tags: ?}  /** list of tags for this entry, with "name" and "url" keys. */
   {@param diffTree: ?}  /** unused in this variant. */
   {@param rename: ?}  /** if this entry was a rename or a copy of the path, an object containg:
-      changeType: the change type, "RENAME" or "COPY". oldPath: the old path prior to the rename or
-      copy. newPath: the new path after the rename or copy. score: the similarity score of the
-      rename or copy. */
+      changeType: the change type, "RENAME" or "COPY".
+      oldPath: the old path prior to the rename or copy.
+      newPath: the new path after the rename or copy.
+      score: the similarity score of the rename or copy.
+      */
 {delcall gitiles.logEntry variant="'oneline'" data="all" /}
 {/deltemplate}
 
@@ -174,17 +182,21 @@
   {@param sha: ?}  /** commit SHA-1. */
   {@param url: ?}  /** URL to commit detail page. */
   {@param shortMessage: ?}  /** short commit message. */
-  {@param message: ?}  /** list of commit message parts, where each part contains: text: raw text of
-      the part. url: optional URL that should be linked to from the part. */
+  {@param message: ?}  /** list of commit message parts, where each part contains:
+      text: raw text of the part.
+      url: optional URL that should be linked to from the part.
+      */
   {@param author: ?}  /** author information with at least "name" and "relativeTime" keys. */
   {@param committer: ?}  /** committer information with at least "time" and "relativeTime" keys. */
   {@param branches: ?}  /** list of branches for this entry, with "name" and "url" keys. */
   {@param tags: ?}  /** list of tags for this entry, with "name" and "url" keys. */
   {@param diffTree: ?}  /** unused in this variant. */
   {@param rename: ?}  /** if this entry was a rename or a copy of the path, an object containg:
-      changeType: the change type, "RENAME" or "COPY". oldPath: the old path prior to the rename or
-      copy. newPath: the new path after the rename or copy. score: the similarity score of the
-      rename or copy. */
+      changeType: the change type, "RENAME" or "COPY".
+      oldPath: the old path prior to the rename or copy.
+      newPath: the new path after the rename or copy.
+      score: the similarity score of the rename or copy.
+      */
 <div class="u-monospace Metadata">
 <table>
   <tr>
diff --git a/resources/com/google/gitiles/templates/ObjectDetail.soy b/resources/com/google/gitiles/templates/ObjectDetail.soy
index b3a13e3..f755720 100644
--- a/resources/com/google/gitiles/templates/ObjectDetail.soy
+++ b/resources/com/google/gitiles/templates/ObjectDetail.soy
@@ -22,15 +22,23 @@
   {@param sha: ?}  /** commit SHA-1. */
   {@param tree: ?}  /** tree SHA-1. */
   {@param treeUrl: ?}  /** tree URL. */
-  {@param parents: ?}  /** list of parent objects with the following keys: sha: SHA-1. url: URL to
-      view the parent commit. diffUrl: URL to display diffs relative to this parent. blameUrl:
-      optional URL to display blame of a file at this parent. */
-  {@param message: ?}  /** list of commit message parts, where each part contains: text: raw text of
-      the part. url: optional URL that should be linked to from the part. */
-  {@param diffTree: ?}  /** list of changed tree entries with the following keys: changeType: string
-      matching an org.eclipse.jgit.diff.DiffEntry.ChangeType constant. path: (new) path of the tree
-      entry. oldPath: old path, only for renames and copies. url: URL to a detail page for the tree
-      entry. diffUrl: URL to a diff page for the tree entry's diff in this commit. */
+  {@param parents: ?}  /** list of parent objects with the following keys:
+      sha: SHA-1.
+      url: URL to view the parent commit.
+      diffUrl: URL to display diffs relative to this parent.
+      blameUrl: optional URL to display blame of a file at this parent.
+      */
+  {@param message: ?}  /** list of commit message parts, where each part contains:
+      text: raw text of the part.
+      url: optional URL that should be linked to from the part.
+      */
+  {@param diffTree: ?}  /** list of changed tree entries with the following keys:
+      changeType: string matching an org.eclipse.jgit.diff.DiffEntry.ChangeType constant.
+      path: (new) path of the tree entry.
+      oldPath: old path, only for renames and copies.
+      url: URL to a detail page for the tree entry.
+      diffUrl: URL to a diff page for the tree entry's diff in this commit.
+      */
   {@param logUrl: ?}  /** URL to a log page starting at this commit. */
   {@param archiveUrl: ?}  /** URL to a download link of this commit as an archive. */
   {@param archiveType: ?}  /** type of the archive to download. */
@@ -143,10 +151,13 @@
   {@param? logUrl: ?}  /** optional URL to a log for this path. */
   {@param? archiveUrl: ?}  /** optional URL to a download link of this tree as an archive. */
   {@param? archiveType: ?}  /** type of the archive to download, if archiveUrl is set. */
-  {@param entries: ?}  /** list of entries with the following keys: type: entry type, matching one
-      of the constant names defined in org.eclipse.jgit.lib.FileMode. name: tree entry name. url:
-      URL to link to. targetName: name of a symlink target, required only if type == 'SYMLINK'.
-      targetUrl: optional url of a symlink target, required only if type == 'SYMLINK'. */
+  {@param entries: ?}  /** list of entries with the following keys:
+      type: entry type, matching one of the constant names defined in org.eclipse.jgit.lib.FileMode.
+      name: tree entry name.
+      url: URL to link to.
+      targetName: name of a symlink target, required only if type == 'SYMLINK'.
+      targetUrl: optional url of a symlink target, required only if type == 'SYMLINK'.
+      */
   {@param? readmePath: ?}  /** optional path of the selected README.md file. */
   {@param? readmeHtml: ?}  /** optional rendered README.md contents. */
 <div class="TreeDetail">
@@ -315,8 +326,10 @@
  */
 {template .message_ visibility="private"}
   {@param className: ?}  /** CSS class name for <pre> block. */
-  {@param message: ?}  /** list of message parts, where each part contains: text: raw text of the
-      part. url: optional URL that should be linked to from the part. */
+  {@param message: ?}  /** list of message parts, where each part contains:
+      text: raw text of the part.
+      url: optional URL that should be linked to from the part.
+      */
 <pre class="{$className}">
   {for $part in $message}
     {if $part.url}<a href="{$part.url}">{$part.text}</a>{else}{$part.text}{/if}