Buck: lua_library()
Support Ukraine. Help Provide Humanitarian Aid to Ukraine.


This is liable to change in the future.

A lua_library() rule is used to group together Lua sources to be packaged into a top-level lua_binary rule.


  • name (required) #

    The short name for this build target.

  • srcs (defaults to []) #

    The set of .lua files included in this library.

  • base_module (defaults to None) #

    The package for which the given specified sources and resources should reside in their final location in the top-level binary. If unset, the project relative directory that houses the BUCK file is used.

  • deps (defaults to []) #

    Other lua_library() rules which list srcs from which this rule imports modules.

  • visibility (defaults to []) #

    List of build target patterns that identify the build rules that can include this rule as a dependency, for example, by listing it in their deps or exported_deps attributes. For more information, see visibility.

  • licenses (defaults to []) #

    Set of license files for this library. To get the list of license files for a given build rule and all of its dependencies, you can use buck query.

  • labels (defaults to []) #

    Set of arbitrary strings which allow you to annotate a build rule with tags that can be searched for over an entire dependency tree using buck query attrfilter().


# A rule that includes a single .py file.
  name = 'fileutil',
  srcs = ['fileutil.lua'],

# A rule that uses glob() to include all sources in the directory which the
# rule is defined.  It also lists a resource file that gets packaged with
# the sources in this rule.
  name = 'testutil',
  srcs = glob(['testutil/**/*.lua'],