Skip to content

Commit d45f901

Browse files
committed
Replace custom set library by Skylib's sets (#1799)
1 parent 1bc0dd5 commit d45f901

File tree

16 files changed

+61
-187
lines changed

16 files changed

+61
-187
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,5 @@
33
*.swp
44
*.swo
55
__pycache__
6+
/.direnv
7+
/.envrc

haskell/c2hs.bzl

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ load(
1818
"target_unique_name",
1919
)
2020
load(":private/set.bzl", "set")
21+
load("@bazel_skylib//lib:sets.bzl", "sets")
2122
load(":private/version_macros.bzl", "version_macro_includes")
2223

2324
def _c2hs_library_impl(ctx):
@@ -62,7 +63,7 @@ def _c2hs_library_impl(ctx):
6263
]
6364
args.add_all(chi_includes)
6465

65-
version_macro_headers = set.empty()
66+
version_macro_headers = sets.make()
6667
if ctx.attr.version:
6768
dep_info = gather_dep_info(ctx.attr.name, ctx.attr.deps)
6869
(version_macro_headers, version_macro_flags) = version_macro_includes(dep_info)
@@ -78,7 +79,7 @@ def _c2hs_library_impl(ctx):
7879
depset(cc.files),
7980
depset(hs.toolchain.bindir),
8081
depset(hs.toolchain.libdir),
81-
set.to_depset(version_macro_headers),
82+
depset(sets.to_list(version_macro_headers)),
8283
inputs,
8384
]),
8485
input_manifests = input_manifests,

haskell/cabal.bzl

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ load(
2121
"truly_relativize",
2222
)
2323
load(":private/set.bzl", "set")
24+
load("@bazel_skylib//lib:sets.bzl", "sets")
2425
load(":private/validate_attrs.bzl", "typecheck_stackage_extradeps")
2526
load(":haddock.bzl", "generate_unified_haddock_info")
2627
load(
@@ -582,11 +583,11 @@ def _haskell_cabal_library_impl(ctx):
582583
hs_info = HaskellInfo(
583584
package_databases = depset([package_database], transitive = [dep_info.package_databases]),
584585
empty_lib_package_databases = dep_info.empty_lib_package_databases,
585-
version_macros = set.empty(),
586+
version_macros = sets.make(),
586587
source_files = depset(),
587588
boot_files = depset(),
588589
extra_source_files = depset(),
589-
import_dirs = set.empty(),
590+
import_dirs = sets.make(),
590591
hs_libraries = depset(
591592
direct = [lib for lib in [vanilla_library, dynamic_library, profiling_library] if lib],
592593
transitive = [dep_info.hs_libraries],
@@ -881,11 +882,11 @@ def _haskell_cabal_binary_impl(ctx):
881882
hs_info = HaskellInfo(
882883
package_databases = dep_info.package_databases,
883884
empty_lib_package_databases = dep_info.empty_lib_package_databases,
884-
version_macros = set.empty(),
885+
version_macros = sets.make(),
885886
source_files = depset(),
886887
boot_files = depset(),
887888
extra_source_files = depset(),
888-
import_dirs = set.empty(),
889+
import_dirs = sets.make(),
889890
hs_libraries = dep_info.hs_libraries,
890891
deps_hs_libraries = dep_info.deps_hs_libraries,
891892
empty_hs_libraries = dep_info.empty_hs_libraries,
@@ -1933,7 +1934,7 @@ def _stack_snapshot_impl(repository_ctx):
19331934
else:
19341935
visibility = sorted(
19351936
# use set to de-duplicate
1936-
set.to_list(set.from_list([
1937+
sets.to_list(sets.make([
19371938
str(vendored_packages[rdep].relative(":__pkg__"))
19381939
for rdep in reverse_deps[name]
19391940
if rdep in vendored_packages

haskell/doctest.bzl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ load("@bazel_skylib//lib:dicts.bzl", "dicts")
44
load(":cc.bzl", "cc_interop_info", "ghc_cc_program_args")
55
load(":private/context.bzl", "haskell_context", "render_env")
66
load(":private/set.bzl", "set")
7+
load("@bazel_skylib//lib:sets.bzl", "sets")
78
load(
89
"@rules_haskell//haskell:providers.bzl",
910
"HaskellCcLibrariesInfo",
@@ -121,7 +122,7 @@ def _haskell_doctest_single(target, ctx):
121122

122123
if ctx.attr.modules:
123124
inputs = ctx.attr.modules
124-
args.add_all(set.to_list(hs_info.import_dirs), format_each = "-i%s")
125+
args.add_all(sets.to_list(hs_info.import_dirs), format_each = "-i%s")
125126
else:
126127
inputs = [source.path for source in hs_info.source_files.to_list()]
127128

haskell/experimental/private/module.bzl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
load("@bazel_skylib//lib:paths.bzl", "paths")
2+
load("@bazel_skylib//lib:sets.bzl", "sets")
23
load("//haskell:private/path_utils.bzl", "infer_main_module")
34
load(
45
"//haskell:private/dependencies.bzl",
@@ -840,7 +841,7 @@ def build_haskell_modules(
840841
repl_info = struct(
841842
source_files = depset(source_files),
842843
boot_files = depset(boot_files),
843-
import_dirs = set.from_list(import_dirs),
844+
import_dirs = sets.make(import_dirs),
844845
user_compile_flags = user_compile_flags,
845846
),
846847
)

haskell/haddock.bzl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ load(
1717
)
1818
load(":private/context.bzl", "haskell_context", "render_env")
1919
load(":private/set.bzl", "set")
20+
load("@bazel_skylib//lib:sets.bzl", "sets")
2021

2122
def generate_unified_haddock_info(this_package_id, this_package_haddock, this_package_html, deps):
2223
"""Collapse dependencies into a single `HaddockInfo`.

haskell/private/actions/compile.bzl

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ load(
2525
"link_libraries",
2626
)
2727
load(":private/set.bzl", "set")
28+
load("@bazel_skylib//lib:sets.bzl", "sets")
2829
load("//haskell/experimental:providers.bzl", "HaskellModuleInfo")
2930
load(
3031
":private/actions/process_hsc_file.bzl",
@@ -161,7 +162,7 @@ def _compilation_defaults(
161162
# the two must both have the same root; i.e., both plain files,
162163
# both in bin_dir, or both in genfiles_dir.
163164

164-
import_dirs = set.from_list([
165+
import_dirs = sets.make([
165166
hs.src_root,
166167
paths.join(hs.bin_dir.path, hs.src_root),
167168
paths.join(hs.genfiles_dir.path, hs.src_root),
@@ -176,15 +177,15 @@ def _compilation_defaults(
176177
elif s.extension == "hsc":
177178
s0, idir = process_hsc_file(hs, cc, hsc_flags, hsc_inputs, s)
178179
source_files.append(s0)
179-
set.mutable_insert(import_dirs, idir)
180+
sets.insert(import_dirs, idir)
180181
elif s.extension in ["hs-boot", "lhs-boot"]:
181182
boot_files.append(s)
182183
else:
183184
source_files.append(s)
184185

185186
if s in import_dir_map:
186187
idir = import_dir_map[s]
187-
set.mutable_insert(import_dirs, idir)
188+
sets.insert(import_dirs, idir)
188189

189190
# Write the -optP flags to a parameter file because they can be very long on Windows
190191
# e.g. 27Kb for grpc-haskell

haskell/private/actions/process_hsc_file.bzl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ load("@bazel_skylib//lib:paths.bzl", "paths")
44
load(":private/version_macros.bzl", "version_macro_includes")
55
load(":private/path_utils.bzl", "declare_compiled")
66
load(":private/set.bzl", "set")
7+
load("@bazel_skylib//lib:sets.bzl", "sets")
78

89
def process_hsc_file(hs, cc, hsc_flags, hsc_inputs, hsc_file):
910
"""Process a single hsc file.
@@ -108,6 +109,6 @@ def preprocess_hsc_flags_and_inputs(dep_info, user_compile_flags, version):
108109
if version:
109110
(version_macro_headers, version_macro_flags) = version_macro_includes(dep_info)
110111
hsc_flags += ["--cflag=" + x for x in version_macro_flags]
111-
hsc_inputs += set.to_list(version_macro_headers)
112+
hsc_inputs += sets.to_list(version_macro_headers)
112113

113114
return hsc_flags, hsc_inputs

haskell/private/actions/runghc.bzl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ load(
1717
"link_libraries",
1818
)
1919
load("@bazel_skylib//lib:shell.bzl", "shell")
20+
load("@bazel_skylib//lib:sets.bzl", "sets")
2021

2122
def build_haskell_runghc(
2223
hs,
@@ -56,7 +57,7 @@ def build_haskell_runghc(
5657
)
5758

5859
if lib_info != None:
59-
for idir in set.to_list(hs_info.import_dirs):
60+
for idir in sets.to_list(hs_info.import_dirs):
6061
args += ["-i{0}".format(idir)]
6162

6263
link_libraries(

haskell/private/dependencies.bzl

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ load(
44
"HaskellLibraryInfo",
55
)
66
load(":private/set.bzl", "set")
7+
load("@bazel_skylib//lib:sets.bzl", "sets")
78

89
def gather_dep_info(name, deps):
910
"""Collapse dependencies into a single `HaskellInfo`.
@@ -64,7 +65,7 @@ def gather_dep_info(name, deps):
6465
if HaskellInfo in dep
6566
])
6667

67-
import_dirs = set.empty()
68+
import_dirs = sets.make()
6869
for dep in deps:
6970
if HaskellInfo in dep:
7071
import_dirs = set.mutable_union(import_dirs, dep[HaskellInfo].import_dirs)
@@ -83,7 +84,7 @@ def gather_dep_info(name, deps):
8384
acc = HaskellInfo(
8485
package_databases = package_databases,
8586
empty_lib_package_databases = empty_lib_package_databases,
86-
version_macros = set.empty(),
87+
version_macros = sets.make(),
8788
hs_libraries = hs_libraries,
8889
deps_hs_libraries = deps_hs_libraries,
8990
empty_hs_libraries = empty_hs_libraries,

0 commit comments

Comments
 (0)