diff options
Diffstat (limited to 'third_party/gerrit')
-rw-r--r-- | third_party/gerrit/0001-Syntax-highlight-nix.patch | 37 | ||||
-rw-r--r-- | third_party/gerrit/0001-Use-detzip-in-download_bower.py.patch | 25 | ||||
-rw-r--r-- | third_party/gerrit/0002-Syntax-highlight-nix.patch | 24 | ||||
-rw-r--r-- | third_party/gerrit/0002-Syntax-highlight-rules.pl.patch | 37 | ||||
-rw-r--r-- | third_party/gerrit/0003-Add-titles-to-CLs-over-HTTP.patch (renamed from third_party/gerrit/0004-Add-titles-to-CLs-over-HTTP.patch) | 62 | ||||
-rw-r--r-- | third_party/gerrit/0003-Syntax-highlight-rules.pl.patch | 46 | ||||
-rw-r--r-- | third_party/gerrit/0005-When-using-local-fonts-always-assume-Gerrit-is-mount.patch | 26 | ||||
-rw-r--r-- | third_party/gerrit/0006-Always-use-Google-Fonts.patch | 28 | ||||
-rw-r--r-- | third_party/gerrit/default.nix | 58 |
9 files changed, 137 insertions, 206 deletions
diff --git a/third_party/gerrit/0001-Syntax-highlight-nix.patch b/third_party/gerrit/0001-Syntax-highlight-nix.patch new file mode 100644 index 0000000000..bdc3fd3b55 --- /dev/null +++ b/third_party/gerrit/0001-Syntax-highlight-nix.patch @@ -0,0 +1,37 @@ +From 084e4f92fb58f7cd85303ba602fb3c40133c8fcc Mon Sep 17 00:00:00 2001 +From: Luke Granger-Brown <git@lukegb.com> +Date: Thu, 2 Jul 2020 23:02:32 +0100 +Subject: [PATCH 1/3] Syntax highlight nix + +--- + .../app/embed/diff/gr-syntax-layer/gr-syntax-layer-worker.ts | 1 + + resources/com/google/gerrit/server/mime/mime-types.properties | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/polygerrit-ui/app/embed/diff/gr-syntax-layer/gr-syntax-layer-worker.ts b/polygerrit-ui/app/embed/diff/gr-syntax-layer/gr-syntax-layer-worker.ts +index a9f88bdd81..385249f280 100644 +--- a/polygerrit-ui/app/embed/diff/gr-syntax-layer/gr-syntax-layer-worker.ts ++++ b/polygerrit-ui/app/embed/diff/gr-syntax-layer/gr-syntax-layer-worker.ts +@@ -93,6 +93,7 @@ const LANGUAGE_MAP = new Map<string, string>([ + ['text/x-vhdl', 'vhdl'], + ['text/x-yaml', 'yaml'], + ['text/vbscript', 'vbscript'], ++ ['text/x-nix', 'nix'], + ]); + + const CLASS_PREFIX = 'gr-diff gr-syntax gr-syntax-'; +diff --git a/resources/com/google/gerrit/server/mime/mime-types.properties b/resources/com/google/gerrit/server/mime/mime-types.properties +index 2f9561ba2e..739818ec05 100644 +--- a/resources/com/google/gerrit/server/mime/mime-types.properties ++++ b/resources/com/google/gerrit/server/mime/mime-types.properties +@@ -149,6 +149,7 @@ mscin = text/x-mscgen + msgenny = text/x-msgenny + nb = text/x-mathematica + nginx.conf = text/x-nginx-conf ++nix = text/x-nix + nsh = text/x-nsis + nsi = text/x-nsis + nt = text/n-triples +-- +2.37.3 + diff --git a/third_party/gerrit/0001-Use-detzip-in-download_bower.py.patch b/third_party/gerrit/0001-Use-detzip-in-download_bower.py.patch deleted file mode 100644 index 7d197795b7..0000000000 --- a/third_party/gerrit/0001-Use-detzip-in-download_bower.py.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 621cadcc1dd71e9397c21cf8cf0f1aae4f6f7057 Mon Sep 17 00:00:00 2001 -From: Luke Granger-Brown <git@lukegb.com> -Date: Thu, 2 Jul 2020 23:02:09 +0100 -Subject: [PATCH 1/7] Use detzip in download_bower.py - ---- - tools/js/download_bower.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tools/js/download_bower.py b/tools/js/download_bower.py -index d541b565a9..ffdae60f95 100755 ---- a/tools/js/download_bower.py -+++ b/tools/js/download_bower.py -@@ -110,7 +110,7 @@ def main(): - args.b, '--quiet', 'install', '%s#%s' % (args.p, args.v))) - bc = os.path.join(cwd, 'bower_components') - subprocess.check_call( -- ['zip', '-q', '--exclude', '.bower.json', '-r', cached, args.n], -+ ['detzip', '--exclude', '.bower.json', cached, args.n], - cwd=bc) - - if args.s: --- -2.32.0 - diff --git a/third_party/gerrit/0002-Syntax-highlight-nix.patch b/third_party/gerrit/0002-Syntax-highlight-nix.patch deleted file mode 100644 index 256da0a3c9..0000000000 --- a/third_party/gerrit/0002-Syntax-highlight-nix.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 924647c354576ade0dc46fdf30596967f58bb4c6 Mon Sep 17 00:00:00 2001 -From: Luke Granger-Brown <git@lukegb.com> -Date: Thu, 2 Jul 2020 23:02:32 +0100 -Subject: [PATCH 2/7] Syntax highlight nix - ---- - .../app/elements/diff/gr-syntax-layer/gr-syntax-layer.ts | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/polygerrit-ui/app/elements/diff/gr-syntax-layer/gr-syntax-layer.ts b/polygerrit-ui/app/elements/diff/gr-syntax-layer/gr-syntax-layer.ts -index 081d28d749..2762ccc625 100644 ---- a/polygerrit-ui/app/elements/diff/gr-syntax-layer/gr-syntax-layer.ts -+++ b/polygerrit-ui/app/elements/diff/gr-syntax-layer/gr-syntax-layer.ts -@@ -99,6 +99,7 @@ const LANGUAGE_MAP = new Map<string, string>([ - ['text/x-vhdl', 'vhdl'], - ['text/x-yaml', 'yaml'], - ['text/vbscript', 'vbscript'], -+ ['application/x-mix-transfer', 'nix'], - ]); - const ASYNC_DELAY = 10; - --- -2.32.0 - diff --git a/third_party/gerrit/0002-Syntax-highlight-rules.pl.patch b/third_party/gerrit/0002-Syntax-highlight-rules.pl.patch new file mode 100644 index 0000000000..4b91e2c354 --- /dev/null +++ b/third_party/gerrit/0002-Syntax-highlight-rules.pl.patch @@ -0,0 +1,37 @@ +From aedf8ac8fa5113843bcd83ff85e2d9f3bffdb16c Mon Sep 17 00:00:00 2001 +From: Luke Granger-Brown <git@lukegb.com> +Date: Thu, 2 Jul 2020 23:02:43 +0100 +Subject: [PATCH 2/3] Syntax highlight rules.pl + +--- + .../app/embed/diff/gr-syntax-layer/gr-syntax-layer-worker.ts | 1 + + resources/com/google/gerrit/server/mime/mime-types.properties | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/polygerrit-ui/app/embed/diff/gr-syntax-layer/gr-syntax-layer-worker.ts b/polygerrit-ui/app/embed/diff/gr-syntax-layer/gr-syntax-layer-worker.ts +index 385249f280..7cb3068494 100644 +--- a/polygerrit-ui/app/embed/diff/gr-syntax-layer/gr-syntax-layer-worker.ts ++++ b/polygerrit-ui/app/embed/diff/gr-syntax-layer/gr-syntax-layer-worker.ts +@@ -68,6 +68,7 @@ const LANGUAGE_MAP = new Map<string, string>([ + ['text/x-perl', 'perl'], + ['text/x-pgsql', 'pgsql'], // postgresql + ['text/x-php', 'php'], ++ ['text/x-prolog', 'prolog'], + ['text/x-properties', 'properties'], + ['text/x-protobuf', 'protobuf'], + ['text/x-puppet', 'puppet'], +diff --git a/resources/com/google/gerrit/server/mime/mime-types.properties b/resources/com/google/gerrit/server/mime/mime-types.properties +index 739818ec05..58eb727bf9 100644 +--- a/resources/com/google/gerrit/server/mime/mime-types.properties ++++ b/resources/com/google/gerrit/server/mime/mime-types.properties +@@ -200,6 +200,7 @@ rq = application/sparql-query + rs = text/x-rustsrc + rss = application/xml + rst = text/x-rst ++rules.pl = text/x-prolog + README.md = text/x-gfm + s = text/x-gas + sas = text/x-sas +-- +2.37.3 + diff --git a/third_party/gerrit/0004-Add-titles-to-CLs-over-HTTP.patch b/third_party/gerrit/0003-Add-titles-to-CLs-over-HTTP.patch index 8e78e5f535..c4edee3a40 100644 --- a/third_party/gerrit/0004-Add-titles-to-CLs-over-HTTP.patch +++ b/third_party/gerrit/0003-Add-titles-to-CLs-over-HTTP.patch @@ -1,30 +1,30 @@ -From 32bf13d8316f93828d2ff47ccfca38d4e7a634b1 Mon Sep 17 00:00:00 2001 +From f49c50ca9a84ca374b7bd91c171bbea0457f2c7a Mon Sep 17 00:00:00 2001 From: Luke Granger-Brown <git@lukegb.com> Date: Thu, 2 Jul 2020 23:03:02 +0100 -Subject: [PATCH 4/7] Add titles to CLs over HTTP +Subject: [PATCH 3/3] Add titles to CLs over HTTP --- .../gerrit/httpd/raw/IndexHtmlUtil.java | 13 +++- .../google/gerrit/httpd/raw/IndexServlet.java | 8 ++- - .../google/gerrit/httpd/raw/StaticModule.java | 6 +- + .../google/gerrit/httpd/raw/StaticModule.java | 5 +- .../gerrit/httpd/raw/TitleComputer.java | 67 +++++++++++++++++++ .../gerrit/httpd/raw/PolyGerritIndexHtml.soy | 4 +- - 5 files changed, 90 insertions(+), 8 deletions(-) + 5 files changed, 89 insertions(+), 8 deletions(-) create mode 100644 java/com/google/gerrit/httpd/raw/TitleComputer.java diff --git a/java/com/google/gerrit/httpd/raw/IndexHtmlUtil.java b/java/com/google/gerrit/httpd/raw/IndexHtmlUtil.java -index 8d52f5ad50..a9cfceb3b6 100644 +index 72bfe40c3b..439bd73b44 100644 --- a/java/com/google/gerrit/httpd/raw/IndexHtmlUtil.java +++ b/java/com/google/gerrit/httpd/raw/IndexHtmlUtil.java -@@ -39,6 +39,7 @@ import java.util.Arrays; - import java.util.Collections; +@@ -41,6 +41,7 @@ import java.util.Collections; import java.util.HashMap; + import java.util.HashSet; import java.util.Map; +import java.util.Optional; import java.util.Set; import java.util.function.Function; -@@ -60,13 +61,14 @@ public class IndexHtmlUtil { +@@ -62,13 +63,14 @@ public class IndexHtmlUtil { String faviconPath, Map<String, String[]> urlParameterMap, Function<String, SanitizedContent> urlInScriptTagOrdainer, @@ -38,35 +38,35 @@ index 8d52f5ad50..a9cfceb3b6 100644 canonicalURL, cdnPath, faviconPath, urlParameterMap, urlInScriptTagOrdainer)) - .putAll(dynamicTemplateData(gerritApi, requestedURL)); + .putAll(dynamicTemplateData(gerritApi, requestedURL, titleComputer)); - Set<String> enabledExperiments = experimentFeatures.getEnabledExperimentFeatures(); - - if (!enabledExperiments.isEmpty()) { -@@ -77,7 +79,9 @@ public class IndexHtmlUtil { + Set<String> enabledExperiments = new HashSet<>(); + enabledExperiments.addAll(experimentFeatures.getEnabledExperimentFeatures()); + // Add all experiments enabled through url +@@ -81,7 +83,8 @@ public class IndexHtmlUtil { /** Returns dynamic parameters of {@code index.html}. */ public static ImmutableMap<String, Object> dynamicTemplateData( - GerritApi gerritApi, String requestedURL) throws RestApiException, URISyntaxException { -+ GerritApi gerritApi, -+ String requestedURL, -+ TitleComputer titleComputer) throws RestApiException, URISyntaxException { ++ GerritApi gerritApi, String requestedURL, TitleComputer titleComputer) ++ throws RestApiException, URISyntaxException { ImmutableMap.Builder<String, Object> data = ImmutableMap.builder(); Map<String, SanitizedContent> initialData = new HashMap<>(); Server serverApi = gerritApi.config().server(); -@@ -128,6 +132,9 @@ public class IndexHtmlUtil { - // Don't render data +@@ -129,6 +132,10 @@ public class IndexHtmlUtil { } + data.put("gerritInitialData", initialData); ++ + Optional<String> title = titleComputer.computeTitle(requestedURL); + title.ifPresent(s -> data.put("title", s)); + - data.put("gerritInitialData", initialData); return data.build(); } + diff --git a/java/com/google/gerrit/httpd/raw/IndexServlet.java b/java/com/google/gerrit/httpd/raw/IndexServlet.java -index 3f2c2028ae..7861c007df 100644 +index fcb821e5ae..e1464b992b 100644 --- a/java/com/google/gerrit/httpd/raw/IndexServlet.java +++ b/java/com/google/gerrit/httpd/raw/IndexServlet.java -@@ -46,13 +46,15 @@ public class IndexServlet extends HttpServlet { +@@ -48,13 +48,15 @@ public class IndexServlet extends HttpServlet { private final ExperimentFeatures experimentFeatures; private final SoySauce soySauce; private final Function<String, SanitizedContent> urlOrdainer; @@ -83,7 +83,7 @@ index 3f2c2028ae..7861c007df 100644 this.canonicalUrl = canonicalUrl; this.cdnPath = cdnPath; this.faviconPath = faviconPath; -@@ -67,6 +69,7 @@ public class IndexServlet extends HttpServlet { +@@ -69,6 +71,7 @@ public class IndexServlet extends HttpServlet { (s) -> UnsafeSanitizedContentOrdainer.ordainAsSafe( s, SanitizedContent.ContentKind.TRUSTED_RESOURCE_URI); @@ -91,33 +91,31 @@ index 3f2c2028ae..7861c007df 100644 } @Override -@@ -85,7 +88,8 @@ public class IndexServlet extends HttpServlet { +@@ -86,7 +89,8 @@ public class IndexServlet extends HttpServlet { faviconPath, parameterMap, urlOrdainer, -- requestUrl); -+ requestUrl, +- getRequestUrl(req)); ++ getRequestUrl(req), + titleComputer); renderer = soySauce.renderTemplate("com.google.gerrit.httpd.raw.Index").setData(templateData); } catch (URISyntaxException | RestApiException e) { throw new IOException(e); diff --git a/java/com/google/gerrit/httpd/raw/StaticModule.java b/java/com/google/gerrit/httpd/raw/StaticModule.java -index bb1eb92525..6b20c504d2 100644 +index 15dcf42e0e..9f56bf33ce 100644 --- a/java/com/google/gerrit/httpd/raw/StaticModule.java +++ b/java/com/google/gerrit/httpd/raw/StaticModule.java -@@ -224,11 +224,13 @@ public class StaticModule extends ServletModule { +@@ -241,10 +241,11 @@ public class StaticModule extends ServletModule { @CanonicalWebUrl @Nullable String canonicalUrl, @GerritServerConfig Config cfg, GerritApi gerritApi, - ExperimentFeatures experimentFeatures) { + ExperimentFeatures experimentFeatures, + TitleComputer titleComputer) { - String cdnPath = - options.useDevCdn() ? options.devCdn() : cfg.getString("gerrit", null, "cdnPath"); + String cdnPath = options.devCdn().orElse(cfg.getString("gerrit", null, "cdnPath")); String faviconPath = cfg.getString("gerrit", null, "faviconPath"); - return new IndexServlet(canonicalUrl, cdnPath, faviconPath, gerritApi, experimentFeatures); -+ return new IndexServlet(canonicalUrl, cdnPath, faviconPath, gerritApi, -+ experimentFeatures, titleComputer); ++ return new IndexServlet(canonicalUrl, cdnPath, faviconPath, gerritApi, experimentFeatures, titleComputer); } @Provides @@ -195,7 +193,7 @@ index 0000000000..8fd2053ad0 + } +} diff --git a/resources/com/google/gerrit/httpd/raw/PolyGerritIndexHtml.soy b/resources/com/google/gerrit/httpd/raw/PolyGerritIndexHtml.soy -index 11717fb8a4..1ae9046360 100644 +index dbfef44dfe..347ee75aab 100644 --- a/resources/com/google/gerrit/httpd/raw/PolyGerritIndexHtml.soy +++ b/resources/com/google/gerrit/httpd/raw/PolyGerritIndexHtml.soy @@ -33,10 +33,12 @@ @@ -213,5 +211,5 @@ index 11717fb8a4..1ae9046360 100644 <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0">{\n} -- -2.32.0 +2.37.3 diff --git a/third_party/gerrit/0003-Syntax-highlight-rules.pl.patch b/third_party/gerrit/0003-Syntax-highlight-rules.pl.patch deleted file mode 100644 index 02bb3397ea..0000000000 --- a/third_party/gerrit/0003-Syntax-highlight-rules.pl.patch +++ /dev/null @@ -1,46 +0,0 @@ -From be348f64eda257ae0af1f89552548d3e8eca3688 Mon Sep 17 00:00:00 2001 -From: Luke Granger-Brown <git@lukegb.com> -Date: Thu, 2 Jul 2020 23:02:43 +0100 -Subject: [PATCH 3/7] Syntax highlight rules.pl - ---- - .../diff/gr-syntax-layer/gr-syntax-layer.ts | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - -diff --git a/polygerrit-ui/app/elements/diff/gr-syntax-layer/gr-syntax-layer.ts b/polygerrit-ui/app/elements/diff/gr-syntax-layer/gr-syntax-layer.ts -index 2762ccc625..598e14589f 100644 ---- a/polygerrit-ui/app/elements/diff/gr-syntax-layer/gr-syntax-layer.ts -+++ b/polygerrit-ui/app/elements/diff/gr-syntax-layer/gr-syntax-layer.ts -@@ -103,6 +103,10 @@ const LANGUAGE_MAP = new Map<string, string>([ - ]); - const ASYNC_DELAY = 10; - -+const FILENAME_OVERRIDES = new Map<string, string>([ -+ ['rules.pl', 'prolog'], -+]); -+ - const CLASS_SAFELIST = new Set<string>([ - 'gr-diff gr-syntax gr-syntax-attr', - 'gr-diff gr-syntax gr-syntax-attribute', -@@ -241,10 +245,17 @@ export class GrSyntaxLayer implements DiffLayer { - } - } - -+ _basename(filename: string): string { -+ const pieces = filename.split(/\//); -+ return pieces[pieces.length-1]; -+ } -+ - _getLanguage(metaInfo: DiffFileMetaInfo) { - // The Gerrit API provides only content-type, but for other users of - // gr-diff it may be more convenient to specify the language directly. -- return metaInfo.language ?? LANGUAGE_MAP.get(metaInfo.content_type); -+ return metaInfo.language ?? -+ FILENAME_OVERRIDES.get(this._basename(metaInfo.name)) ?? -+ LANGUAGE_MAP.get(metaInfo.content_type); - } - - /** --- -2.32.0 - diff --git a/third_party/gerrit/0005-When-using-local-fonts-always-assume-Gerrit-is-mount.patch b/third_party/gerrit/0005-When-using-local-fonts-always-assume-Gerrit-is-mount.patch deleted file mode 100644 index b664ea0ea6..0000000000 --- a/third_party/gerrit/0005-When-using-local-fonts-always-assume-Gerrit-is-mount.patch +++ /dev/null @@ -1,26 +0,0 @@ -From bd7db44cabb6de64f03adbaf5e24c73e022a8932 Mon Sep 17 00:00:00 2001 -From: Luke Granger-Brown <git@lukegb.com> -Date: Sat, 11 Jul 2020 00:45:57 +0000 -Subject: [PATCH 5/7] When using local fonts, always assume Gerrit is mounted - at the root. - ---- - polygerrit-ui/app/rollup.config.js | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/polygerrit-ui/app/rollup.config.js b/polygerrit-ui/app/rollup.config.js -index d93b5eab39..c862c9bbae 100644 ---- a/polygerrit-ui/app/rollup.config.js -+++ b/polygerrit-ui/app/rollup.config.js -@@ -50,7 +50,7 @@ const importLocalFontMetaUrlResolver = function() { - name: 'import-meta-url-resolver', - resolveImportMeta: function (property, data) { - if(property === 'url' && data.moduleId.endsWith('/@polymer/font-roboto-local/roboto.js')) { -- return 'new URL("..", document.baseURI).href'; -+ return 'new URL("/", document.baseURI).href'; - } - return null; - } --- -2.32.0 - diff --git a/third_party/gerrit/0006-Always-use-Google-Fonts.patch b/third_party/gerrit/0006-Always-use-Google-Fonts.patch deleted file mode 100644 index 5b817d0b55..0000000000 --- a/third_party/gerrit/0006-Always-use-Google-Fonts.patch +++ /dev/null @@ -1,28 +0,0 @@ -From d71f51afe12a280b92831070a583b15c8b6bc2f4 Mon Sep 17 00:00:00 2001 -From: Luke Granger-Brown <git@lukegb.com> -Date: Sat, 11 Jul 2020 00:46:13 +0000 -Subject: [PATCH 6/7] Always use Google Fonts. - -We're not a corporate, and we're not behind the GFW. Always use Google Fonts, -because even though we no longer get the caching benefits (boo, browsers), -it is still a better geographically-distributed CDN. ---- - java/com/google/gerrit/httpd/raw/IndexHtmlUtil.java | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/java/com/google/gerrit/httpd/raw/IndexHtmlUtil.java b/java/com/google/gerrit/httpd/raw/IndexHtmlUtil.java -index a9cfceb3b6..9c287c6e45 100644 ---- a/java/com/google/gerrit/httpd/raw/IndexHtmlUtil.java -+++ b/java/com/google/gerrit/httpd/raw/IndexHtmlUtil.java -@@ -184,7 +184,7 @@ public class IndexHtmlUtil { - if (urlParameterMap.containsKey("ce")) { - data.put("polyfillCE", "true"); - } -- if (urlParameterMap.containsKey("gf")) { -+ if (/* urlParameterMap.containsKey("gf") || */ true) { - data.put("useGoogleFonts", "true"); - } - --- -2.32.0 - diff --git a/third_party/gerrit/default.nix b/third_party/gerrit/default.nix index f886a0426d..a137946264 100644 --- a/third_party/gerrit/default.nix +++ b/third_party/gerrit/default.nix @@ -1,10 +1,6 @@ { depot, pkgs, ... }: let - detzip = depot.nix.buildGo.program { - name = "detzip"; - srcs = [ ./detzip.go ]; - }; bazelRunScript = pkgs.writeShellScriptBin "bazel-run" '' yarn config set cache-folder "$bazelOut/external/yarn_cache" export HOME="$bazelOut/external/home" @@ -14,11 +10,10 @@ let bazelTop = pkgs.buildFHSUserEnv { name = "bazel"; targetPkgs = pkgs: [ - (pkgs.bazel.override { enableNixHacks = true; }) - detzip - pkgs.jdk11_headless + (pkgs.bazel_5.override { enableNixHacks = true; }) + pkgs.jdk17_headless pkgs.zlib - pkgs.python + pkgs.python3 pkgs.curl pkgs.nodejs pkgs.yarn @@ -28,7 +23,7 @@ let runScript = "/bin/bazel-run"; }; bazel = bazelTop // { override = x: bazelTop; }; - version = "3.4.0"; + version = "3.9.1"; in pkgs.lib.makeOverridable pkgs.buildBazelPackage { pname = "gerrit"; @@ -36,33 +31,31 @@ pkgs.lib.makeOverridable pkgs.buildBazelPackage { src = pkgs.fetchgit { url = "https://gerrit.googlesource.com/gerrit"; - rev = "471c1c15a7bc294d10e246df43812942b5ac8a13"; + rev = "620a819cbf3c64fff7a66798822775ad42c91d8e"; branchName = "v${version}"; - sha256 = "sha256:0ayj0bcsxjln8qydkj9j7yiqibmjgd3bcpqvgsdzdx072wzx01c0"; + sha256 = "sha256:1mdxbgnx3mpxand4wq96ic38bb4yh45q271h40jrk7dk23sgmz02"; fetchSubmodules = true; }; patches = [ - ./0001-Use-detzip-in-download_bower.py.patch - ./0002-Syntax-highlight-nix.patch - ./0003-Syntax-highlight-rules.pl.patch - ./0004-Add-titles-to-CLs-over-HTTP.patch - ./0005-When-using-local-fonts-always-assume-Gerrit-is-mount.patch - ./0006-Always-use-Google-Fonts.patch + ./0001-Syntax-highlight-nix.patch + ./0002-Syntax-highlight-rules.pl.patch + ./0003-Add-titles-to-CLs-over-HTTP.patch ]; - bazelTarget = "release api-skip-javadoc"; + bazelTargets = [ "release" "api-skip-javadoc" ]; inherit bazel; bazelFlags = [ "--repository_cache=" "--disk_cache=" ]; + removeRulesCC = false; fetchConfigured = true; fetchAttrs = { - sha256 = "sha256:16a1lbz40bc7217ldwf7x8yzlzxc714h965ldjnmfbvi3jq3hk6y"; + sha256 = "sha256:119mqli75c9fy05ddrlh2brjxb354yvv1ijjkk1y1yqcaqppwwb8"; preBuild = '' rm .bazelversion ''; @@ -87,7 +80,7 @@ pkgs.lib.makeOverridable pkgs.buildBazelPackage { # Removing top-level symlinks along with their markers. # This is needed because they sometimes point to temporary paths (?). # For example, in Tensorflow-gpu build: - # platforms -> NIX_BUILD_TOP/tmp/install/35282f5123611afa742331368e9ae529/_embedded_binaries/platforms + #sha256:06bmzbcb9717s4b016kcbn8nr9pgaz04i8bnzg7ybkbdwpl8vxvv"; platforms -> NIX_BUILD_TOP/tmp/install/35282f5123611afa742331368e9ae529/_embedded_binaries/platforms find $bazelOut/external -maxdepth 1 -type l | while read symlink; do name="$(basename "$symlink")" rm -rf "$symlink" "$bazelOut/external/@$name.marker" @@ -103,13 +96,17 @@ pkgs.lib.makeOverridable pkgs.buildBazelPackage { echo '${bazel.name}' > $bazelOut/external/.nix-bazel-version # Gerrit fixups: - # Remove polymer-bridges and ba-linkify, they're in-repo - rm -rf $bazelOut/external/yarn_cache/v6/npm-polymer-bridges-* - rm -rf $bazelOut/external/yarn_cache/v6/npm-ba-linkify-* # Normalize permissions on .yarn-{tarball,metadata} files - find $bazelOut/external/yarn_cache \( -name .yarn-tarball.tgz -or -name .yarn-metadata.json \) -exec chmod 644 {} + + test -d $bazelOut/external/yarn_cache && find $bazelOut/external/yarn_cache \( -name .yarn-tarball.tgz -or -name .yarn-metadata.json \) -exec chmod 644 {} + + + mkdir $bazelOut/_bits/ + find . -name node_modules -prune -print | while read d; do + echo "$d" "$(dirname $d)" + mkdir -p $bazelOut/_bits/$(dirname $d) + cp -R "$d" "$bazelOut/_bits/$(dirname $d)/node_modules" + done - (cd $bazelOut/ && tar czf $out --sort=name --mtime='@1' --owner=0 --group=0 --numeric-owner external/) + (cd $bazelOut/ && tar czf $out --sort=name --mtime='@1' --owner=0 --group=0 --numeric-owner external/ _bits/) runHook postInstall ''; @@ -118,6 +115,15 @@ pkgs.lib.makeOverridable pkgs.buildBazelPackage { buildAttrs = { preConfigure = '' rm .bazelversion + + [ "$(ls -A $bazelOut/_bits)" ] && cp -R $bazelOut/_bits/* ./ || true + ''; + postPatch = '' + # Disable all errorprone checks, since we might be using a different version. + sed -i \ + -e '/-Xep:/d' \ + -e '/-XepExcludedPaths:/a "-XepDisableAllChecks",' \ + tools/BUILD ''; installPhase = '' mkdir -p "$out"/webapps/ "$out"/share/api/ @@ -147,4 +153,6 @@ pkgs.lib.makeOverridable pkgs.buildBazelPackage { "webhooks" ]; }; + + meta.ci.targets = [ "deps" ]; } |