blob: 1049e8e2da6a2b3bf0dbf6f24d67cda69997e198 [file] [log] [blame]
Lorenz Brun65702192023-08-31 16:27:38 +02001From cdcf80bafba0ff61527a710899002936e2b117d6 Mon Sep 17 00:00:00 2001
2From: Lorenz Brun <lorenz@monogon.tech>
3Date: Thu, 31 Aug 2023 15:52:06 +0200
Lorenz Brunefb028f2020-07-28 17:04:49 +02004Subject: [PATCH] Add support for prepatching
5
6---
Lorenz Brun65702192023-08-31 16:27:38 +02007 internal/go_repository.bzl | 10 ++++++++++
8 1 file changed, 10 insertions(+)
Lorenz Brunefb028f2020-07-28 17:04:49 +02009
10diff --git a/internal/go_repository.bzl b/internal/go_repository.bzl
Lorenz Brun65702192023-08-31 16:27:38 +020011index cb0ac74..5a2a9e2 100644
Lorenz Brunefb028f2020-07-28 17:04:49 +020012--- a/internal/go_repository.bzl
13+++ b/internal/go_repository.bzl
Lorenz Brun65702192023-08-31 16:27:38 +020014@@ -257,6 +257,11 @@ def _go_repository_impl(ctx):
Lorenz Brund13c1c62022-03-30 19:58:58 +020015 if ctx.attr.debug_mode and result.stderr:
Lorenz Brunefb028f2020-07-28 17:04:49 +020016 print("fetch_repo: " + result.stderr)
17
Lorenz Brun65702192023-08-31 16:27:38 +020018+ # TODO(lorenz): Replace this with patch() once the patches argument no longer gets merged with
19+ # the attribute pulled from ctx.
20+ for p in ctx.attr.pre_patches:
21+ ctx.patch(p, 1)
Lorenz Brunefb028f2020-07-28 17:04:49 +020022+
23 # Repositories are fetched. Determine if build file generation is needed.
24 build_file_names = ctx.attr.build_file_name.split(",")
25 existing_build_file = ""
Lorenz Brun65702192023-08-31 16:27:38 +020026@@ -538,6 +543,11 @@ go_repository = repository_rule(
Lorenz Brund13c1c62022-03-30 19:58:58 +020027 Gazelle directives.""",
28 ),
Lorenz Brunefb028f2020-07-28 17:04:49 +020029
30+ # Patches to apply before running gazelle.
Lorenz Brun65702192023-08-31 16:27:38 +020031+ "pre_patches": attr.label_list(
32+ doc = "A list of patches to apply to the repository before gazelle runs.",
33+ ),
Lorenz Brunefb028f2020-07-28 17:04:49 +020034+
35 # Patches to apply after running gazelle.
Lorenz Brund13c1c62022-03-30 19:58:58 +020036 "patches": attr.label_list(
37 doc = "A list of patches to apply to the repository after gazelle runs.",
Lorenz Brunefb028f2020-07-28 17:04:49 +020038--
Lorenz Brun65702192023-08-31 16:27:38 +0200392.41.0
Lorenz Brunefb028f2020-07-28 17:04:49 +020040