tree 862697e32961aceedc84a255049b45528d8a0b7d
parent 0fb4bf2f0657065a0da14de055ce296193a17eab
author David Pursehouse <dpursehouse@digital.ai> 1588236305 +0900
committer David Pursehouse <dpursehouse@digital.ai> 1588236386 +0900

Upgrade gitiles-servlet and blame-cache to 0.4

This release aligns the versions of jgit, guava and guice with
the versions used in Gerrit, and also includes several fixes and
improvements.

Full log of changes:

e54582f - Bump version to 0.4
843f3c4 - Bump Bazel version to 3.1.0
663027c - Upgrade guava to 29.0-jre
2cc0a09 - Bump Bazel version to 3.0.0
232000e - Upgrade guice to 4.2.3
0843c10 - Bazel: Remove version check
fe356c2 - Upgrade JGit to 5.7.0.202003110725-r
d0768d0 - Bump Bazel version to 2.2.0
baaf289 - Upgrade JGit to 5.6.1.202002131546-r
c7d8aab - DefaultAccess#getRelativePath: Remove redundant assignment
b3f72b3 - BlameServlet: Use logger's built-in formatting rather than String.format
3d4e60e - SoyConstants: Make constants final
a8a4610 - MarkdownToHtml#parse: Return empty list instead of null
9744512 - GitilesHtmlExtension: Remove redundant return statements
1c0cdf5 - Linkifier: Use COMMENTLINK constant
099cf5f - VisibilityCache: Replace lambda with method reference
e09936e - DevServer: Use correct class in logger instantiation
f435e24 - SoyConstants: Add private default constructor
d95e0e0 - Linkifier: Fix incorrect string formatting placeholders in log calls
fb9a2a9 - Use logger's built-in string formatting rather than concatenation
a373f64 - Bump version to 0.2-12
44dd4c7 - Bump required Bazel version to 2.1.0
da33290 - Upgrade bazlets to latest master revision
314611c - Upgrade bazlets to latest master revision
e04b7be - Bump required Bazel version to 2.1.0
1ae7c38 - ErrorProne: Enable and fix UnusedException check
90c6531 - Upgrade Truth to 1.0.1
bda44cd - Upgrade bazlets to latest master revision
005fbf8 - Upgrade guava to 28.2-jre
143a6fc - Bump bazel version to 2.0.0
54dad4e - Documentation: Refer to bazel test command mention
21fe1e9 - Set version to 0.2-7.1
d5e46bc - Fix formatting of Soy files
bf4f9d4 - Bump bazel version to 1.2.0
ac7f2c9 - Backport all build-related commits from master to stable-0.2
535f943 - Enable more error-prone checks
de5de27 - Enable error-prone checks by default
1ea391f - Update bazel options to align with gerrit's
bb44ea8 - tools/eclipse/project.sh: Use bazel query to find project.py
db00f16 - Harmonize build rule names to use hyphen instead of underscore
73d5fc0 - Check BLOB content size before trying to render it
5524036 - BlameCacheImpl: Avoid NPE if path does not exist
efd30a5 - Navbar: Fix handling of [home] and [logo] metalinks
0785d1b - Don't render navbar.md metadata in html
24e0285 - Format with google-java-format 1.7
67662fb - Do not retain body in RevisionParser walk
ea998ff - Remove unnecessary parseBody call from LogServlet
aae75ed - Ensure RevTag is parsed before using its body
f4ccc3e - Ensure RevCommit is parsed before using its content
153d145 - Require a RevWalk when building CommitData
f525cef - Convert /** @param */ to {@param} in Soy.
0243bf1 - RefServlet: Use full refname in link
4f88b8b - Automatically format all build files with buildifier lint mode

Change-Id: Ib0dc60a52c9118b73a1b5b503d345241d3edfffc
