Function: bazel--package-name

bazel--package-name is a natively compiled function defined in bazel.el.

Signature

(bazel--package-name BUILD-FILE-DIRECTORY REPOSITORY-ROOT)

Documentation

Return the Bazel package name for BUILD-FILE-DIRECTORY.

BUILD-FILE-DIRECTORY must be a Bazel package, i.e., it must contain a BUILD file. REPOSITORY-ROOT is the Bazel repository root directory. BUILD-FILE-DIRECTORY and REPOSITORY-ROOT can be directory or file names.

Source Code

;; Defined in /nix/store/ws8pkszjvcad1rgzqw6wja7qxacylfhn-emacs-packages-deps/share/emacs/site-lisp/elpa/bazel-20261002.1510/bazel.el
(defun bazel--package-name (build-file-directory repository-root)
  "Return the Bazel package name for BUILD-FILE-DIRECTORY.
BUILD-FILE-DIRECTORY must be a Bazel package, i.e., it must
contain a BUILD file.  REPOSITORY-ROOT is the Bazel repository
root directory.  BUILD-FILE-DIRECTORY and REPOSITORY-ROOT can be
directory or file names."
  (declare (ftype (function (string string) (or string null))))
  (cl-check-type build-file-directory string)
  (cl-check-type repository-root string)
  (cond ((file-equal-p repository-root build-file-directory) "")
        ((file-in-directory-p build-file-directory repository-root)
         (let ((package-name
                (file-relative-name build-file-directory repository-root)))
           ;; Only return package-name if we can confirm it is the local
           ;; relative file name of a BUILD file.
           (and package-name
                (not (file-remote-p package-name))
                (not (file-name-absolute-p package-name))
                (not (string-prefix-p "." package-name))
                (directory-file-name package-name))))))