Merge "Merge branch 'stable-3.6'"
diff --git a/java/com/google/gerrit/server/mail/send/MailSoySauceLoader.java b/java/com/google/gerrit/server/mail/send/MailSoySauceLoader.java
index ad1703d..8ee8fc2 100644
--- a/java/com/google/gerrit/server/mail/send/MailSoySauceLoader.java
+++ b/java/com/google/gerrit/server/mail/send/MailSoySauceLoader.java
@@ -14,8 +14,9 @@
package com.google.gerrit.server.mail.send;
+import static com.google.common.base.Preconditions.checkArgument;
+
import com.google.common.io.CharStreams;
-import com.google.common.io.Resources;
import com.google.gerrit.server.config.SitePaths;
import com.google.gerrit.server.plugincontext.PluginSetContext;
import com.google.inject.Inject;
@@ -26,6 +27,7 @@
import com.google.template.soy.shared.SoyAstCache;
import java.io.IOException;
import java.io.Reader;
+import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
@@ -137,6 +139,8 @@
}
// Otherwise load the template as a resource.
- builder.add(Resources.getResource(logicalPath), logicalPath);
+ URL resource = this.getClass().getClassLoader().getResource(logicalPath);
+ checkArgument(resource != null, "resource %s not found.", logicalPath);
+ builder.add(resource, logicalPath);
}
}
diff --git a/java/com/google/gerrit/testing/InMemoryModule.java b/java/com/google/gerrit/testing/InMemoryModule.java
index b9daa13..86ceb60 100644
--- a/java/com/google/gerrit/testing/InMemoryModule.java
+++ b/java/com/google/gerrit/testing/InMemoryModule.java
@@ -37,6 +37,7 @@
import com.google.gerrit.server.FanOutExecutor;
import com.google.gerrit.server.GerritPersonIdent;
import com.google.gerrit.server.GerritPersonIdentProvider;
+import com.google.gerrit.server.LibModuleType;
import com.google.gerrit.server.PluginUser;
import com.google.gerrit.server.api.GerritApiModule;
import com.google.gerrit.server.api.PluginApiModule;
@@ -243,13 +244,19 @@
bind(AllChangesIndexer.class).toProvider(Providers.of(null));
bind(AllGroupsIndexer.class).toProvider(Providers.of(null));
- String indexTypeCfg = cfg.getString("index", null, "type");
- IndexType indexType = new IndexType(indexTypeCfg != null ? indexTypeCfg : "fake");
- // For custom index types, callers must provide their own module.
- if (indexType.isLucene()) {
- install(luceneIndexModule());
- } else if (indexType.isFake()) {
- install(fakeIndexModule());
+ // Index lib module has a higher priority than index type configuration.
+ String indexModule =
+ cfg.getString("index", null, "install" + LibModuleType.INDEX_MODULE_TYPE.getConfigKey());
+ if (indexModule != null) {
+ install(indexModule(indexModule));
+ } else {
+ String indexTypeCfg = cfg.getString("index", null, "type");
+ IndexType indexType = new IndexType(indexTypeCfg != null ? indexTypeCfg : "fake");
+ if (indexType.isLucene()) {
+ install(luceneIndexModule());
+ } else if (indexType.isFake()) {
+ install(fakeIndexModule());
+ }
}
bind(ServerInformationImpl.class);
bind(ServerInformation.class).to(ServerInformationImpl.class);
diff --git a/plugins/BUILD b/plugins/BUILD
index 7862b1c..32efa3e 100644
--- a/plugins/BUILD
+++ b/plugins/BUILD
@@ -64,6 +64,7 @@
"//java/com/google/gerrit/server/logging",
"//java/com/google/gerrit/server/schema",
"//java/com/google/gerrit/server/util/time",
+ "//java/com/google/gerrit/proto",
"//java/com/google/gerrit/util/cli",
"//java/com/google/gerrit/util/http",
"//java/com/google/gerrit/util/logging",
diff --git a/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section.ts b/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section.ts
index 8fa2e90..2c83ed3 100644
--- a/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section.ts
+++ b/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section.ts
@@ -403,9 +403,9 @@
permission: PermissionArrayItem<EditablePermissionInfo>
): string | undefined {
if (this.section?.id === GLOBAL_NAME) {
- return this.capabilities?.[permission.id].name;
+ return this.capabilities?.[permission.id]?.name;
} else if (AccessPermissions[permission.id]) {
- return AccessPermissions[permission.id].name;
+ return AccessPermissions[permission.id]?.name;
} else if (permission.value.label) {
let behalfOf = '';
if (permission.id.startsWith('labelAs-')) {
diff --git a/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section_test.ts b/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section_test.ts
index f4d81c4..1c4c437 100644
--- a/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section_test.ts
+++ b/polygerrit-ui/app/elements/admin/gr-access-section/gr-access-section_test.ts
@@ -224,6 +224,12 @@
element.capabilities![permission.id].name
);
+ permission = {
+ id: 'non-existent' as GitRef,
+ value: {rules: {}},
+ };
+ assert.isUndefined(element.computePermissionName(permission));
+
element.section.id = 'refs/for/*' as GitRef;
permission = {
id: 'abandon' as GitRef,
diff --git a/polygerrit-ui/app/elements/settings/gr-settings-view/gr-settings-view.ts b/polygerrit-ui/app/elements/settings/gr-settings-view/gr-settings-view.ts
index 76259b9..c4bafac 100644
--- a/polygerrit-ui/app/elements/settings/gr-settings-view/gr-settings-view.ts
+++ b/polygerrit-ui/app/elements/settings/gr-settings-view/gr-settings-view.ts
@@ -449,8 +449,8 @@
>Save changes</gr-button
>
</fieldset>
- <gr-edit-preferences id="editPrefs"></gr-edit-preferences>
- <gr-menu-editor></gr-menu-editor>
+ <gr-edit-preferences id="EditPreferences"></gr-edit-preferences>
+ <gr-menu-editor id="Menu"></gr-menu-editor>
<h2
id="ChangeTableColumns"
class=${this.computeHeaderClass(this.changeTableChanged)}
diff --git a/polygerrit-ui/app/elements/settings/gr-settings-view/gr-settings-view_test.ts b/polygerrit-ui/app/elements/settings/gr-settings-view/gr-settings-view_test.ts
index ae42619..6a8f575 100644
--- a/polygerrit-ui/app/elements/settings/gr-settings-view/gr-settings-view_test.ts
+++ b/polygerrit-ui/app/elements/settings/gr-settings-view/gr-settings-view_test.ts
@@ -369,8 +369,8 @@
Save changes
</gr-button>
</fieldset>
- <gr-edit-preferences id="editPrefs"> </gr-edit-preferences>
- <gr-menu-editor> </gr-menu-editor>
+ <gr-edit-preferences id="EditPreferences"> </gr-edit-preferences>
+ <gr-menu-editor id="Menu"> </gr-menu-editor>
<h2 id="ChangeTableColumns">Change Table Columns</h2>
<fieldset id="changeTableColumns">
<gr-change-table-editor> </gr-change-table-editor>
diff --git a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-change-actions-js-api.ts b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-change-actions-js-api.ts
index 79c73f1..82528cd 100644
--- a/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-change-actions-js-api.ts
+++ b/polygerrit-ui/app/elements/shared/gr-js-api-interface/gr-change-actions-js-api.ts
@@ -133,19 +133,16 @@
setActionOverflow(type: ActionType, key: string, overflow: boolean) {
this.reporting.trackApi(this.plugin, 'actions', 'setActionOverflow');
- // TODO(TS): remove return, unclear why it was written
this.ensureEl().setActionOverflow(type, key, overflow);
}
setActionPriority(type: ActionType, key: string, priority: ActionPriority) {
this.reporting.trackApi(this.plugin, 'actions', 'setActionPriority');
- // TODO(TS): remove return, unclear why it was written
this.ensureEl().setActionPriority(type, key, priority);
}
setActionHidden(type: ActionType, key: string, hidden: boolean) {
this.reporting.trackApi(this.plugin, 'actions', 'setActionHidden');
- // TODO(TS): remove return, unclear why it was written
this.ensureEl().setActionHidden(type, key, hidden);
}
@@ -156,7 +153,6 @@
remove(key: string) {
this.reporting.trackApi(this.plugin, 'actions', 'remove');
- // TODO(TS): remove return, unclear why it was written
this.ensureEl().removeActionButton(key);
}