From a9bb94b9bca5f6e79e18ec4326d05455363fc41d Mon Sep 17 00:00:00 2001 From: David Ostrovsky Date: Tue, 11 Sep 2018 07:55:13 +0200 Subject: [PATCH 1/5] Bazel: Replace PACKAGE_NAME constant with package_name() function PACKAGE_NAME was deprecated in favor of package_name() function and is going to be removed in future Bazel releases. Moreover Bazel is trying to set --incompatible_package_name_is_a_function=true per default to enforce Bazel users to stop using it: [1]. [1] https://github.com/bazelbuild/bazel/issues/5827 Change-Id: I4d1a6ccbeae611fdd0e9c1e9fdd89b6dd1294f36 --- tools/bzl/js.bzl | 2 +- tools/bzl/license.bzl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/bzl/js.bzl b/tools/bzl/js.bzl index 16f412ea0b..e4563a69c0 100644 --- a/tools/bzl/js.bzl +++ b/tools/bzl/js.bzl @@ -426,4 +426,4 @@ _vulcanize_rule = rule( def vulcanize(*args, **kwargs): """Vulcanize runs vulcanize and crisper on a set of sources.""" - _vulcanize_rule(*args, pkg = PACKAGE_NAME, **kwargs) + _vulcanize_rule(*args, pkg = native.package_name(), **kwargs) diff --git a/tools/bzl/license.bzl b/tools/bzl/license.bzl index f0114465c5..d059216ec6 100644 --- a/tools/bzl/license.bzl +++ b/tools/bzl/license.bzl @@ -39,7 +39,7 @@ def license_test(name, target): if target[0] not in ":/": target = ":" + target if target[0] != "/": - target = "//" + PACKAGE_NAME + target + target = "//" + native.package_name() + target forbidden = "//lib:LICENSE-DO_NOT_DISTRIBUTE" native.genquery( From 22dd03aea0c0ce401078ea0840523989bd921cbc Mon Sep 17 00:00:00 2001 From: David Ostrovsky Date: Tue, 11 Sep 2018 08:26:56 +0200 Subject: [PATCH 2/5] Bazel: Remove deprecated FileType FileType is deprecated: [1] and should be replaced with list of strings. [1] https://docs.bazel.build/versions/master/skylark/lib/FileType.html Change-Id: Ifd9b9ac4ad35ae70aaf7ffc4e358792c80f12486 --- tools/bzl/gwt.bzl | 2 +- tools/bzl/pkg_war.bzl | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/bzl/gwt.bzl b/tools/bzl/gwt.bzl index c50c2179c4..f32bd67928 100644 --- a/tools/bzl/gwt.bzl +++ b/tools/bzl/gwt.bzl @@ -17,7 +17,7 @@ load("//tools/bzl:genrule2.bzl", "genrule2") load("//tools/bzl:java.bzl", "java_library2") -jar_filetype = FileType([".jar"]) +jar_filetype = [".jar"] BROWSERS = [ "chrome", diff --git a/tools/bzl/pkg_war.bzl b/tools/bzl/pkg_war.bzl index e5bae52256..3bf56af553 100644 --- a/tools/bzl/pkg_war.bzl +++ b/tools/bzl/pkg_war.bzl @@ -14,7 +14,7 @@ # War packaging. -jar_filetype = FileType([".jar"]) +jar_filetype = [".jar"] LIBS = [ "//gerrit-war:init", From be475660db5dfc42afc8c65f4ac3bdb3b702c741 Mon Sep 17 00:00:00 2001 From: David Ostrovsky Date: Tue, 11 Sep 2018 08:29:28 +0200 Subject: [PATCH 3/5] Bazel: Change deprecated single file attribute parameter single_file attribute is deprecated: [1] and should be replaced with allow_single_file. [1] https://docs.bazel.build/versions/master/skylark/lib/attr.html#parameters-3 Change-Id: I72f955ac47764c4eeb1ad65ab1f4b27db590521f --- tools/bzl/gwt.bzl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/bzl/gwt.bzl b/tools/bzl/gwt.bzl index f32bd67928..c51e914269 100644 --- a/tools/bzl/gwt.bzl +++ b/tools/bzl/gwt.bzl @@ -228,7 +228,7 @@ gwt_binary = rule( default = Label("@bazel_tools//tools/zip:zipper"), cfg = "host", executable = True, - single_file = True, + allow_single_file = True, ), }, outputs = { From 04fb6d5f0f9ebf573d034fad84041cd2bfb6c2e3 Mon Sep 17 00:00:00 2001 From: David Pursehouse Date: Wed, 12 Sep 2018 10:16:10 +0900 Subject: [PATCH 4/5] Specify charset when constructing PrintWriter Change-Id: I79170cbcbc573b037542a439592ca8de063fbd47 --- .../com/google/gerrit/server/index/SiteIndexer.java | 10 ++++++++-- .../server/index/account/AllAccountsIndexer.java | 3 +-- .../gerrit/server/index/group/AllGroupsIndexer.java | 3 +-- .../util/http/testutil/FakeHttpServletResponse.java | 3 ++- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/index/SiteIndexer.java b/gerrit-server/src/main/java/com/google/gerrit/server/index/SiteIndexer.java index 69e1cf115d..c13209fa64 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/index/SiteIndexer.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/index/SiteIndexer.java @@ -15,11 +15,13 @@ package com.google.gerrit.server.index; import static com.google.common.base.Preconditions.checkNotNull; +import static java.nio.charset.StandardCharsets.UTF_8; import com.google.common.base.Stopwatch; import com.google.common.util.concurrent.ListenableFuture; import com.google.common.util.concurrent.MoreExecutors; import java.io.OutputStream; +import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; @@ -64,7 +66,7 @@ public abstract class SiteIndexer> { protected int totalWork = -1; protected OutputStream progressOut = NullOutputStream.INSTANCE; - protected PrintWriter verboseWriter = new PrintWriter(NullOutputStream.INSTANCE); + protected PrintWriter verboseWriter = newPrintWriter(NullOutputStream.INSTANCE); public void setTotalWork(int num) { totalWork = num; @@ -75,7 +77,7 @@ public abstract class SiteIndexer> { } public void setVerboseOut(OutputStream out) { - verboseWriter = new PrintWriter(checkNotNull(out)); + verboseWriter = newPrintWriter(checkNotNull(out)); } public abstract Result indexAll(I index); @@ -86,6 +88,10 @@ public abstract class SiteIndexer> { new ErrorListener(future, desc, progress, ok), MoreExecutors.directExecutor()); } + protected PrintWriter newPrintWriter(OutputStream out) { + return new PrintWriter(new OutputStreamWriter(out, UTF_8)); + } + private static class ErrorListener implements Runnable { private final ListenableFuture future; private final String desc; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/index/account/AllAccountsIndexer.java b/gerrit-server/src/main/java/com/google/gerrit/server/index/account/AllAccountsIndexer.java index 1b84e8e5a7..c7c740ba3c 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/index/account/AllAccountsIndexer.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/index/account/AllAccountsIndexer.java @@ -30,7 +30,6 @@ import com.google.gwtorm.server.OrmException; import com.google.gwtorm.server.SchemaFactory; import com.google.inject.Inject; import com.google.inject.Singleton; -import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import java.util.concurrent.Callable; @@ -62,7 +61,7 @@ public class AllAccountsIndexer extends SiteIndexer ids; diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/index/group/AllGroupsIndexer.java b/gerrit-server/src/main/java/com/google/gerrit/server/index/group/AllGroupsIndexer.java index ec486b54a9..5ad0f1ed97 100644 --- a/gerrit-server/src/main/java/com/google/gerrit/server/index/group/AllGroupsIndexer.java +++ b/gerrit-server/src/main/java/com/google/gerrit/server/index/group/AllGroupsIndexer.java @@ -29,7 +29,6 @@ import com.google.gwtorm.server.OrmException; import com.google.gwtorm.server.SchemaFactory; import com.google.inject.Inject; import com.google.inject.Singleton; -import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import java.util.concurrent.Callable; @@ -61,7 +60,7 @@ public class AllGroupsIndexer extends SiteIndexer uuids; diff --git a/gerrit-util-http/src/test/java/com/google/gerrit/util/http/testutil/FakeHttpServletResponse.java b/gerrit-util-http/src/test/java/com/google/gerrit/util/http/testutil/FakeHttpServletResponse.java index 2b1a07e4fd..f6b3e30fea 100644 --- a/gerrit-util-http/src/test/java/com/google/gerrit/util/http/testutil/FakeHttpServletResponse.java +++ b/gerrit-util-http/src/test/java/com/google/gerrit/util/http/testutil/FakeHttpServletResponse.java @@ -25,6 +25,7 @@ import com.google.common.collect.ListMultimap; import com.google.common.net.HttpHeaders; import java.io.ByteArrayOutputStream; import java.io.IOException; +import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.nio.charset.Charset; import java.util.Collection; @@ -106,7 +107,7 @@ public class FakeHttpServletResponse implements HttpServletResponse { public synchronized PrintWriter getWriter() { checkState(outputStream == null, "getOutputStream() already called"); if (writer == null) { - writer = new PrintWriter(actualBody); + writer = new PrintWriter(new OutputStreamWriter(actualBody, UTF_8)); } return writer; } From 02e04a3a2b02abf27b540f32e8ef7204d19573f2 Mon Sep 17 00:00:00 2001 From: David Pursehouse Date: Wed, 12 Sep 2018 10:18:42 +0900 Subject: [PATCH 5/5] Bazel: Make 'DefaultCharset' an ERROR when compiling with ErrorProne toolchain Change-Id: I6cc3b0323731a0ff4aa2d743938742ecc3900c74 --- tools/BUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/BUILD b/tools/BUILD index 2571e759ad..cd34fe99bf 100644 --- a/tools/BUILD +++ b/tools/BUILD @@ -68,7 +68,7 @@ java_package_configuration( "-Xep:CannotMockFinalClass:WARN", "-Xep:ClassCanBeStatic:WARN", "-Xep:ClassNewInstance:WARN", - "-Xep:DefaultCharset:WARN", + "-Xep:DefaultCharset:ERROR", "-Xep:DoubleCheckedLocking:WARN", "-Xep:ElementsCountedInLoop:WARN", "-Xep:EqualsHashCode:WARN",