errors and warnings / manifest / W4337
W4337 warning
build.load-order entry that names no file of the build
- area
- manifest (x4xxx)
- fails the build
- with --deny-warnings
An entry of build.load-order (or of a flavor's build.flavor-load-order)
names no file of the build, so the build leaves it out of the TOC. Entries
are paths from the package root: a source is src/… (build.src), a
library's file is its output path (libs/LibStub/LibStub.lua), and a glob
must match at least one of them. A source is matched by its case, as the
build orders it (src/Core.lua is not src/core.lua; the message names
the file's spelling). A typo, a file that moved, or a file outside
build.src (an addon's libs/ folder kept next to src/) all end up
here, and the AddOn then loads without that file.
Fix the path, move the file under build.src, or make the libraries
dependencies.
Example
{ "package": { "name": "playground", "version": "0.1.0", "wowlua": "^0.13" }, "flavors": { "camelot": {} }, "build": { "load-order": ["src/Libs/libs.xml", "src/main.lua"] }}print("loaded"){ "package": { "name": "playground", "version": "0.1.0", "wowlua": "^0.13" }, "flavors": { "camelot": {} }, "build": { "load-order": ["src/main.lua"] }}print("loaded")The compiler reports it like this:
warning[W4337]: `build.load-order` entry `src/Libs/libs.xml` names no file of the build = in wowlua.json = help: entries are paths from the package root (`src/…` for sources), or the output path of a library's file; the build leaves this one out
Offline
$ wowlua explain W4337 W4337 (warning): build.load-order entry that names no file of the build