Add an OpenDev theme into our Gerrit image

This provides an HTML-only PolyGerrit plugin consistent with our
Gitea theming, generously provided by Paladox (many thanks!).

Since we have to split some roles in the build playbook, also name
the temporary patching role to make the build console a little
easier to read.

Change-Id: I3baf17d04b2dca34fc23dcab91c00544cedf0ca6
This commit is contained in:
Paladox 2020-12-03 23:51:34 +00:00 committed by Jeremy Stanley
parent 70ef807b3e
commit d7b726140d
3 changed files with 84 additions and 1 deletions

View File

@ -23,6 +23,8 @@ COPY release.war /var/gerrit/bin/gerrit.war
RUN mkdir /var/gerrit/plugins && \ RUN mkdir /var/gerrit/plugins && \
unzip -jo /var/gerrit/bin/gerrit.war WEB-INF/plugins/* -d /var/gerrit/plugins unzip -jo /var/gerrit/bin/gerrit.war WEB-INF/plugins/* -d /var/gerrit/plugins
COPY opendevtheme.html /var/gerrit/plugins/opendevtheme.html
FROM gerrit as gerrit-2 FROM gerrit as gerrit-2
# Only Gerrit 2.14, 2.15, and 2.16 need this COPY # Only Gerrit 2.14, 2.15, and 2.16 need this COPY

View File

@ -0,0 +1,70 @@
<!--
Copyright (C) 2019 The Android Open Source Project
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<dom-module id="opendev-styles">
<script>
if (window.Polymer) {
Gerrit.install((plugin) => {
if (window.localStorage.getItem('dark-theme')) {
plugin.registerStyleModule('app-theme', 'opendev-dark-style');
} else {
plugin.registerStyleModule('app-theme', 'opendev-light-style');
}
plugin.registerStyleModule('app-theme', 'opendev-common-style');
});
}
</script>
</dom-module>
<dom-module id="opendev-light-style">
<template>
<style>
html {
--header-background: white;
--header-text-color: #001133;
}
</style>
</template>
</dom-module>
<dom-module id="opendev-dark-style">
<template>
<style>
html {
--header-background: #3b3d3f;
--header-text-color: #e8eaed;
}
</style>
</template>
</dom-module>
<dom-module id="opendev-common-style">
<template>
<style>
html {
--header-title-content: "opendev";
--header-icon: url("https://opendev.org/img/opendev-sm.png");
--header-icon-size: 1.2em;
--border-width: 0 0 3px 0;
--border-style: solid;
--box-shadow: 0 3px 3px 2px rgba(0,0,0,0.075), 0 0 2px rgba(0,0,0,0.2);
--header-border-bottom: 4px solid;
--header-border-image: linear-gradient(to right, #ed1944 15%, #ed1944 15%, #ed1944 85%, #ed1944 85%) 1;
}
</style>
</template>
</dom-module>

View File

@ -1,6 +1,7 @@
- hosts: all - hosts: all
tasks: tasks:
- shell: | - name: Patch Gerrit's webapp routes to not shadow x/
shell: |
cd /home/zuul/src/gerrit.googlesource.com/gerrit cd /home/zuul/src/gerrit.googlesource.com/gerrit
# Disable the x/ redirection since we have x/ projects # Disable the x/ redirection since we have x/ projects
sed -i -e 's|"/x/\*"\,$|//"/x/*",|g' java/com/google/gerrit/httpd/raw/StaticModule.java sed -i -e 's|"/x/\*"\,$|//"/x/*",|g' java/com/google/gerrit/httpd/raw/StaticModule.java
@ -9,6 +10,16 @@
roles: roles:
- role: bazelisk-build - role: bazelisk-build
zuul_work_dir: /home/zuul/src/gerrit.googlesource.com/gerrit zuul_work_dir: /home/zuul/src/gerrit.googlesource.com/gerrit
- hosts: all
tasks:
- name: Install OpenDev theme plugin
copy:
src: opendevtheme.html
dest: /home/zuul/src/gerrit.googlesource.com/gerrit/opendevtheme.html
- hosts: all
roles:
- build-docker-image - build-docker-image
- hosts: localhost - hosts: localhost