diff --git a/docs/manual.org b/docs/manual.org index fe2c8556..e9638481 100644 --- a/docs/manual.org +++ b/docs/manual.org @@ -61,14 +61,13 @@ See [[https://bazel.build/external/overview#bzlmod][the Bzlmod documentation]] for background information. Then you can use the ~elisp_library~, ~elisp_cc_module~, ~elisp_binary~, and ~elisp_test~ rules. See the rule documentation below and the examples in the ~examples~ directory for details. -Note that the C++ code used by ~rules_elisp~ requires at least C++17, but Bazel -still compiles with C++11 by default. See -[[https://github.com/abseil/abseil-cpp/blob/master/FAQ.md#how-to-i-set-the-c-dialect-used-to-build-abseil][the -Abseil FAQ]] how to correctly change the C++ standard for your project. #+INCLUDE: elisp/elisp_library.org + #+INCLUDE: elisp/elisp_cc_module.org + #+INCLUDE: elisp/elisp_binary.org + #+INCLUDE: elisp/elisp_test.org * Load path management @@ -658,6 +657,7 @@ toolchains of type ~@rules_elisp//elisp:toolchain_type~; see are created using the `elisp_toolchain` rule. #+INCLUDE: elisp/toolchains/elisp_toolchain.org + #+INCLUDE: elisp/toolchains/elisp_emacs_binary.org * Indices diff --git a/elisp/elisp_library.bzl b/elisp/elisp_library.bzl index bdc50e4f..2ce5f145 100644 --- a/elisp/elisp_library.bzl +++ b/elisp/elisp_library.bzl @@ -1,4 +1,4 @@ -# Copyright 2020-2025 Google LLC +# Copyright 2020-2026 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -78,8 +78,8 @@ To add a load path entry for the current package, specify `.` here.""", }, doc = """Byte-compiles Emacs Lisp source files and makes the compiled output available to dependencies. All sources are byte-compiled. -`elisp_library`, `elisp_binary`, and `elisp_test` rules depending on this binary -can then use `load` or `require` to load them. +`elisp_library`, `elisp_binary`, and `elisp_test` rules depending on this +library can then use `load` or `require` to load them. By default, libraries need to be loaded using a filename relative to the repository root, i.e., package/file. If you want to add @@ -92,7 +92,7 @@ ensure that files get only loaded in their byte-compiled form. The source files in `srcs` can also list shared objects. The rule treats them as Emacs modules and doesn’t try to byte-compile them. You can use -e.g. `cc_binary` with `linkshared = True` to create shared objects.""", +e.g. `cc_binary` with `linkshared = True` to create shared objects.""", provides = [EmacsLispInfo], toolchains = [Label("//elisp:toolchain_type")], implementation = _elisp_library_impl, diff --git a/elisp/elisp_test.bzl b/elisp/elisp_test.bzl index e36c1a74..954742ba 100644 --- a/elisp/elisp_test.bzl +++ b/elisp/elisp_test.bzl @@ -133,7 +133,7 @@ you don’t control.""", "skip_tags": attr.string_list( doc = """List of test tags to skip. This attribute contains a list of tag names; if a test is tagged with one of the tags from this list, it is -skipped. This can be useful to e.g. skip tests that are flaky or only work in +skipped. This can be useful to e.g. skip tests that are flaky or only work in interactive mode. Use the `:tags` keyword argument to `ert-deftest` to tag tests.""", ), diff --git a/index.html b/index.html index 1d2dcf61..810adab7 100644 --- a/index.html +++ b/index.html @@ -124,10 +124,6 @@

3 Usageelisp_library, elisp_cc_module, elisp_binary, and elisp_test rules. See the rule documentation below and the examples in the examples directory for details. -Note that the C++ code used by rules_elisp requires at least C++17, but Bazel -still compiles with C++11 by default. See -the -Abseil FAQ how to correctly change the C++ standard for your project.

Rule: elisp_library (name, [fatal_warnings], srcs, [outs], [data], [load_path], [deps])
@@ -139,8 +135,8 @@

3 Usageelisp_library, elisp_binary, and elisp_test rules depending on this binary -can then use load or require to load them. +elisp_library, elisp_binary, and elisp_test rules depending on this +library can then use load or require to load them.

By default, libraries need to be loaded using a filename relative to the repository root, i.e., package/​file. If you want to add @@ -153,7 +149,7 @@

3 Usagesrcs can also list shared objects. The rule treats them as Emacs modules and doesn’t try to byte-compile them. You can use -e.g. cc_binary with linkshared = True to create shared objects. +e.g. cc_binary with linkshared = True to create shared objects.

The elisp_library rule supports the following attributes: @@ -190,6 +186,7 @@

3 Usage
Rule: elisp_cc_module (name, [srcs], [deps], [data], [copts], [linkopts], [local_defines])
@@ -262,6 +259,7 @@

3 Usage
Rule: elisp_binary (name, [fatal_warnings], src, [data], [deps], [interactive], [input_args], [output_args])
@@ -323,6 +321,7 @@

3 Usage
Rule: elisp_test (name, [fatal_warnings], srcs, [data], [deps], [skip_tests], [skip_tags])
@@ -391,7 +390,7 @@

3 Usageskip_tags

List of test tags to skip. This attribute contains a list of tag names; if a test is tagged with one of the tags from this list, it is -skipped. This can be useful to e.g. skip tests that are flaky or only work in +skipped. This can be useful to e.g. skip tests that are flaky or only work in interactive mode. Use the :tags keyword argument to ert-deftest to tag tests. List of strings; optional; default: [].

@@ -1320,6 +1319,7 @@

9 Starlark infrastructu

+
Rule: elisp_emacs_binary (name, [mode], srcs, readme, [module_header], [builtin_features], [dump_mode])