Merge branch 'stable-2.14'
* stable-2.14:
PluginLoader: Remove stale plugin files from /tmp on startup
Format Java files with google-java-format
Update blame-cache to 0.2-1
Set version to 2.13.8
Upgrade JGit to 4.5.2.201704071617-r
Change-Id: Ia27737010984ba58ff74c844aa252d9b7adffbad
diff --git a/WORKSPACE b/WORKSPACE
index 64a06ae..97fb1fb 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -556,10 +556,10 @@
maven_jar(
name = "blame_cache",
- artifact = "com/google/gitiles:blame-cache:0.2",
+ artifact = "com/google/gitiles:blame-cache:0.2-1",
attach_source = False,
repository = GERRIT,
- sha1 = "519fc548df920123bce986056d2f644663665ae4",
+ sha1 = "da7977e8b140b63f18054214c1d1b86ffa6896cb",
)
# Keep this version of Soy synchronized with the version used in Gitiles.
diff --git a/gerrit-gwtui-common/src/main/java/com/google/gerrit/client/info/ServerInfo.java b/gerrit-gwtui-common/src/main/java/com/google/gerrit/client/info/ServerInfo.java
index 0a37307..dcd1cf1 100644
--- a/gerrit-gwtui-common/src/main/java/com/google/gerrit/client/info/ServerInfo.java
+++ b/gerrit-gwtui-common/src/main/java/com/google/gerrit/client/info/ServerInfo.java
@@ -70,7 +70,8 @@
public final native String replyTooltip() /*-{ return this.reply_tooltip; }-*/;
- public final native boolean showAssigneeInChangesTable() /*-{ return this.show_assignee_in_changes_table || false; }-*/;
+ public final native boolean
+ showAssigneeInChangesTable() /*-{ return this.show_assignee_in_changes_table || false; }-*/;
public final native int updateDelay() /*-{ return this.update_delay || 0; }-*/;
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/config/GetServerInfo.java b/gerrit-server/src/main/java/com/google/gerrit/server/config/GetServerInfo.java
index 925cf64..5c09055 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/config/GetServerInfo.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/config/GetServerInfo.java
@@ -207,7 +207,8 @@
boolean hasAssigneeInIndex =
indexes.getSearchIndex().getSchema().hasField(ChangeField.ASSIGNEE);
info.showAssigneeInChangesTable =
- toBoolean(cfg.getBoolean("change", "showAssigneeInChangesTable", false) && hasAssigneeInIndex);
+ toBoolean(
+ cfg.getBoolean("change", "showAssigneeInChangesTable", false) && hasAssigneeInIndex);
info.largeChange = cfg.getInt("change", "largeChange", 500);
info.replyTooltip =
Optional.ofNullable(cfg.getString("change", null, "replyTooltip")).orElse("Reply and score")
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/plugins/PluginLoader.java b/gerrit-server/src/main/java/com/google/gerrit/server/plugins/PluginLoader.java
index d790fe9..e0afc08 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/plugins/PluginLoader.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/plugins/PluginLoader.java
@@ -79,6 +79,7 @@
private final Path pluginsDir;
private final Path dataDir;
+ private final Path tempDir;
private final PluginGuiceEnvironment env;
private final ServerInformationImpl srvInfoImpl;
private final PluginUser.Factory pluginUserFactory;
@@ -107,6 +108,7 @@
UniversalServerPluginProvider pluginFactory) {
pluginsDir = sitePaths.plugins_dir;
dataDir = sitePaths.data_dir;
+ tempDir = sitePaths.tmp_dir;
env = pe;
srvInfoImpl = sii;
pluginUserFactory = puf;
@@ -325,8 +327,34 @@
}
}
+ private void removeStalePluginFiles() {
+ DirectoryStream.Filter<Path> filter =
+ new DirectoryStream.Filter<Path>() {
+ @Override
+ public boolean accept(Path entry) throws IOException {
+ return entry.getFileName().toString().startsWith("plugin_");
+ }
+ };
+ try (DirectoryStream<Path> files = Files.newDirectoryStream(tempDir, filter)) {
+ for (Path file : files) {
+ log.info("Removing stale plugin file: " + file.toFile().getName());
+ try {
+ Files.delete(file);
+ } catch (IOException e) {
+ log.error(
+ String.format(
+ "Failed to remove stale plugin file %s: %s",
+ file.toFile().getName(), e.getMessage()));
+ }
+ }
+ } catch (IOException e) {
+ log.warn("Unable to discover stale plugin files: " + e.getMessage());
+ }
+ }
+
@Override
public synchronized void start() {
+ removeStalePluginFiles();
log.info("Loading plugins from " + pluginsDir.toAbsolutePath());
srvInfoImpl.state = ServerInformation.State.STARTUP;
rescan();