Skip to content

Commit

Permalink
Switch --incompatible_depset_is_not_iterable
Browse files Browse the repository at this point in the history
  • Loading branch information
guibou committed Jun 26, 2019
1 parent 32f392d commit 3e5abd1
Show file tree
Hide file tree
Showing 11 changed files with 29 additions and 28 deletions.
2 changes: 0 additions & 2 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -37,14 +37,12 @@ build\
--incompatible_new_actions_api=false\
--incompatible_no_support_tools_in_action_inputs=false\
--incompatible_require_ctx_in_configure_features=false\
--incompatible_depset_is_not_iterable=false\
--incompatible_depset_union=false
test\
--incompatible_disable_deprecated_attr_params=false\
--incompatible_new_actions_api=false\
--incompatible_no_support_tools_in_action_inputs=false\
--incompatible_require_ctx_in_configure_features=false\
--incompatible_depset_is_not_iterable=false\
--incompatible_depset_union=false

# test environment does not propagate locales by default
Expand Down
2 changes: 1 addition & 1 deletion haskell/cabal.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ def _prepare_cabal_inputs(hs, cc, dep_info, cc_info, tool_inputs, tool_input_man
package_databases = dep_info.package_databases
extra_headers = cc_info.compilation_context.headers
extra_include_dirs = cc_info.compilation_context.includes
extra_lib_dirs = [file.dirname for file in ghci_extra_libs]
extra_lib_dirs = [file.dirname for file in ghci_extra_libs.to_list()]
args.add_all([name, setup, cabal.dirname, package_database.dirname])
args.add_all(package_databases, map_each = _dirname, format_each = "--package-db=%s")
args.add_all(extra_include_dirs, format_each = "--extra-include-dirs=%s")
Expand Down
8 changes: 4 additions & 4 deletions haskell/cc.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -51,18 +51,18 @@ def cc_interop_info(ctx):
for cc in ccs:
cc_ctx = cc.compilation_context
hdrs.append(cc_ctx.headers)
include_args.extend(["-I" + include for include in cc_ctx.includes])
include_args.extend(["-I" + include for include in cc_ctx.includes.to_list()])
cpp_flags.extend(
[
"-D" + define
for define in cc_ctx.defines
for define in cc_ctx.defines.to_list()
] + [
f
for include in cc_ctx.quote_includes
for include in cc_ctx.quote_includes.to_list()
for f in ["-iquote", include]
] + [
f
for include in cc_ctx.system_includes
for include in cc_ctx.system_includes.to_list()
for f in ["-isystem", include]
],
)
Expand Down
2 changes: 1 addition & 1 deletion haskell/private/actions/link.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ def _darwin_create_extra_linker_flags_file(hs, cc, objects_dir, executable, dyna
done
""".format(
nm = cc.tools.nm,
solibs = " ".join(["\"" + l.path + "\"" for l in solibs]),
solibs = " ".join(["\"" + l.path + "\"" for l in solibs.to_list()]),
out = linker_flags_file.path,
),
)
Expand Down
5 changes: 3 additions & 2 deletions haskell/private/actions/repl.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,9 @@ def build_haskell_repl(

# NOTE: We can avoid constructing this in the future by instead generating
# a dedicated package configuration file defining the required libraries.
library_path = [lib.dirname for lib in ghci_extra_libs]
libraries = [get_lib_name(lib) for lib in ghci_extra_libs]
ghci_extra_libs_list = ghci_extra_libs.to_list()
library_path = [lib.dirname for lib in ghci_extra_libs_list]
libraries = [get_lib_name(lib) for lib in ghci_extra_libs_list]

repl_file = hs.actions.declare_file(target_unique_name(hs, "repl"))

Expand Down
6 changes: 3 additions & 3 deletions haskell/private/haskell_impl.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -658,7 +658,7 @@ def haskell_toolchain_libraries_impl(ctx):
])

library_dict = {}
for package in ordered:
for package in ordered.to_list():
target = libraries[package]

# Construct CcInfo
Expand All @@ -669,7 +669,7 @@ def haskell_toolchain_libraries_impl(ctx):
# don't import dynamic libraries in profiling mode.
libs = {
get_static_hs_lib_name(hs.toolchain.version, lib): {"static": lib}
for lib in target[HaskellImportHack].static_profiling_libraries
for lib in target[HaskellImportHack].static_profiling_libraries.to_list()
}
else:
# Workaround for https://github.com/tweag/rules_haskell/issues/881
Expand All @@ -678,7 +678,7 @@ def haskell_toolchain_libraries_impl(ctx):
# dynamic libHSrts and the static libCffi and libHSrts.
libs = {
get_dynamic_hs_lib_name(hs.toolchain.version, lib): {"dynamic": lib}
for lib in target[HaskellImportHack].dynamic_libraries
for lib in target[HaskellImportHack].dynamic_libraries.to_list()
}
for lib in target[HaskellImportHack].static_libraries.to_list():
name = get_static_hs_lib_name(with_profiling, lib)
Expand Down
2 changes: 1 addition & 1 deletion haskell/private/java.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ def java_interop_info(ctx):
env_dict = dict()
uniq_classpath = collections.uniq([
f.path
for f in inputs
for f in inputs.to_list()
])

if len(uniq_classpath) > 0:
Expand Down
9 changes: 5 additions & 4 deletions haskell/private/path_utils.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ def make_path(libs, prefix = None, sep = None):

sep = sep if sep else ":"

for lib in libs:
for lib in libs.to_list():
lib_dir = paths.dirname(lib.path)
if prefix:
lib_dir = paths.join(prefix, lib_dir)
Expand Down Expand Up @@ -291,7 +291,7 @@ def link_libraries(libs, args, prefix_optl = False):
# https://github.com/tweag/rules_haskell/issues/873.
cc_libs = depset(direct = [
lib
for lib in libs
for lib in libs.to_list()
if not get_lib_name(lib).startswith("HS")
])

Expand All @@ -306,8 +306,9 @@ def link_libraries(libs, args, prefix_optl = False):
args.add_all(cc_libs, map_each = get_lib_name, format_each = libfmt)
args.add_all(cc_libs, map_each = get_dirname, format_each = dirfmt, uniquify = True)
else:
args.extend([libfmt % get_lib_name(lib) for lib in cc_libs])
args.extend(depset(direct = [dirfmt % lib.dirname for lib in cc_libs]).to_list())
cc_libs_list = cc_libs.to_list()
args.extend([libfmt % get_lib_name(lib) for lib in cc_libs_list])
args.extend([dirfmt % lib.dirname for lib in cc_libs_list])

# tests in /tests/unit_tests/BUILD
def parent_dir_path(path):
Expand Down
2 changes: 1 addition & 1 deletion haskell/protobuf.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ def _haskell_proto_aspect_impl(target, ctx):
transitive_proto_paths = target.proto.transitive_proto_path

args.add_all([
"-I{0}={1}".format(_proto_path(s, transitive_proto_paths), s.path)
"-I{0}={1}".format(_proto_path(s, transitive_proto_paths.to_list()), s.path)
for s in target.proto.transitive_sources.to_list()
])

Expand Down
15 changes: 8 additions & 7 deletions haskell/providers.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ def _get_unique_lib_files(cc_info):
# https://github.com/tweag/rules_haskell/issues/917
libs_by_filename = {}
filenames = []
for lib_to_link in libs_to_link:
for lib_to_link in libs_to_link.to_list():
if lib_to_link.dynamic_library:
lib = lib_to_link.dynamic_library
elif lib_to_link.interface_library:
Expand Down Expand Up @@ -322,31 +322,32 @@ def create_link_config(hs, cc_info, binary, args, dynamic = None, pic = None):
# https://github.com/tweag/rules_haskell/issues/873.
cc_static_libs = depset(direct = [
lib
for lib in static_libs
for lib in static_libs.to_list()
if not get_lib_name(lib).startswith("HS")
])
cc_dynamic_libs = depset(direct = [
lib
for lib in dynamic_libs
for lib in dynamic_libs.to_list()
if not get_lib_name(lib).startswith("HS")
])

package_name = target_unique_name(hs, "link-config").replace("_", "-").replace("@", "-")
conf_path = paths.join(package_name, package_name + ".conf")
conf_file = hs.actions.declare_file(conf_path)
libs = (cc_static_libs + cc_dynamic_libs).to_list()
write_package_conf(hs, conf_file, {
"name": package_name,
"extra-libraries": [
get_lib_name(lib)
for lib in cc_static_libs + cc_dynamic_libs
for lib in libs
],
"library-dirs": depset(direct = [
rel_to_pkgroot(lib.dirname, conf_file.dirname)
for lib in cc_static_libs + cc_dynamic_libs
for lib in libs
]),
"dynamic-library-dirs": depset(direct = [
rel_to_pkgroot(lib.dirname, conf_file.dirname)
for lib in cc_static_libs + cc_dynamic_libs
for lib in libs
]),
# XXX: Set user_link_flags.
"ld-options": depset(direct = [
Expand All @@ -356,7 +357,7 @@ def create_link_config(hs, cc_info, binary, args, dynamic = None, pic = None):
keep_filename = False,
prefix = "@loader_path" if hs.toolchain.is_darwin else "$ORIGIN",
)
for lib in dynamic_libs
for lib in dynamic_libs.to_list()
]),
})
cache_file = ghc_pkg_recache(hs, conf_file)
Expand Down
4 changes: 2 additions & 2 deletions hazel/third_party/cabal2bazel/bzl/cabal_package.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -365,7 +365,7 @@ def _get_build_attrs(
paths_module = _paths_module(desc)
extra_modules_dict = _conditions_dict(extra_modules)
other_modules_dict = _conditions_dict(build_info.otherModules)
for condition in depset(extra_modules_dict.keys() + other_modules_dict.keys()):
for condition in extra_modules_dict.keys() + other_modules_dict.keys():
srcs[condition] = []
deps[condition] = []
cdeps[condition] = []
Expand Down Expand Up @@ -479,7 +479,7 @@ def _get_build_attrs(
"-w",
]),
defines = [o[2:] for o in build_info.ccOptions if o.startswith("-D")],
textual_hdrs = list(headers),
textual_hdrs = headers.to_list(),
deps = ["@haskell_rts//:lib"] + select(cdeps) + cc_deps + elibs_targets,
visibility = ["//visibility:public"],
linkstatic = select({
Expand Down

0 comments on commit 3e5abd1

Please sign in to comment.