Earlier Versions
Name | Size | Uploaded | Game Version | Downloads | |
r43beta beta | 4.81 KB | Jan 1, 2011 | 4.0.3a | 95 | Download |
r29beta beta | 3.69 KB | Dec 21, 2010 | 4.0.3a | 102 | Download |
r25beta beta | 3.71 KB | Dec 21, 2010 | 4.0.3a | 76 | Download |
r20beta beta | 2.79 KB | Dec 20, 2010 | 4.0.3a | 48 | Download |
r16beta beta | 2.76 KB | Dec 17, 2010 | 4.0.3a | 47 | Download |
r44 alpha | 6.62 KB | Jan 1, 2011 | 4.0.3a | 16 | Download |
r43 alpha | 6.63 KB | Jan 1, 2011 | 4.0.3a | 10 | Download |
r41 alpha | 6.48 KB | Jan 1, 2011 | 4.0.3a | 11 | Download |
r40 alpha | 11.06 KB | Jan 1, 2011 | 4.0.3a | 12 | Download |
r39 alpha | 6.21 KB | Dec 26, 2010 | 4.0.3a | 13 | Download |
r38 alpha | 5.93 KB | Dec 25, 2010 | 4.0.3a | 11 | Download |
r37 alpha | 5.99 KB | Dec 25, 2010 | 4.0.3a | 8 | Download |
r36 alpha | 5.58 KB | Dec 22, 2010 | 4.0.3a | 16 | Download |
r34 alpha | 5.58 KB | Dec 22, 2010 | 4.0.3a | 12 | Download |
r33 alpha | 5.58 KB | Dec 22, 2010 | 4.0.3a | 8 | Download |
r32 alpha | 5.54 KB | Dec 22, 2010 | 4.0.3a | 13 | Download |
r31 alpha | 5.36 KB | Dec 22, 2010 | 4.0.3a | 8 | Download |
r30 alpha | 5.37 KB | Dec 22, 2010 | 4.0.3a | 10 | Download |
r29 alpha | 5.33 KB | Dec 21, 2010 | 4.0.3a | 10 | Download |
r28 alpha | 5.31 KB | Dec 21, 2010 | 4.0.3a | 10 | Download |
r27 alpha | 5.23 KB | Dec 21, 2010 | 4.0.3a | 8 | Download |
r26 alpha | 5.16 KB | Dec 21, 2010 | 4.0.3a | 11 | Download |
r25 alpha | 5.11 KB | Dec 21, 2010 | 4.0.3a | 11 | Download |
r24 alpha | 5.08 KB | Dec 21, 2010 | 4.0.3a | 9 | Download |
r23 alpha | 5.00 KB | Dec 21, 2010 | 4.0.3a | 10 | Download |
r22 alpha | 4.69 KB | Dec 20, 2010 | 4.0.3a | 15 | Download |
r21 alpha | 4.44 KB | Dec 20, 2010 | 4.0.3a | 10 | Download |
r20 alpha | 3.87 KB | Dec 20, 2010 | 4.0.3a | 10 | Download |
r19 alpha | 3.85 KB | Dec 20, 2010 | 4.0.3a | 9 | Download |
r18 alpha | 3.64 KB | Dec 19, 2010 | 4.0.3a | 16 | Download |
r16 alpha | 3.48 KB | Dec 17, 2010 | 4.0.3a | 10 | Download |
r15 alpha | 3.44 KB | Dec 17, 2010 | 4.0.3a | 10 | Download |
r14 alpha | 3.18 KB | Dec 17, 2010 | 4.0.3a | 10 | Download |
r13 alpha | 3.13 KB | Dec 17, 2010 | 4.0.3a | 8 | Download |
r10 alpha | 2.98 KB | Dec 17, 2010 | 4.0.3a | 10 | Download |
r9 alpha | 2.42 KB | Dec 17, 2010 | 4.0.3a | 9 | Download |
r8 alpha | 2.36 KB | Dec 15, 2010 | 4.0.3a | 17 | Download |
r7 alpha | 1.80 KB | Dec 5, 2010 | 4.0.3a | 18 | Download |
r6 alpha | 1.75 KB | Dec 1, 2010 | 4.0.3a | 20 | Download |
r3 alpha | 5.29 KB | Dec 1, 2010 | 4.0.3a | 14 | Download |
r2 alpha | 5.25 KB | Dec 1, 2010 | 4.0.3a | 10 | Download |
r1 alpha | 1.24 KB | Dec 1, 2010 | 4.0.3a | 14 | Download |
Description
LibBuilder is a tool for building multiple-file libraries. It manages a "workspace" for libraries equivalent to the addon table that gets passed as an argument to every file in a standalone addon.
Although you could have a functional setup without using LibBuilder by setting a "loading" flag in the table LibStub passes your library if it should load, the main advantage of LibBuilder is that it automatically checks if you forgot to "close" the library (with LibBuilder you call CloseLib; with the alternate setup you'd clear the "loading" flag).
To create a new workspace, get a reference to LibBuilder from LibStub and call its :NewLib() method, providing your library's major and minor version. At the beginning of each file in your library, call the :GetLib() method to get the major version, minor version, and workspace. After completing your library, make sure to call :CloseLib() so that LibBuilder knows where your library ends and the next one begins (if another library uses LibBuilder).
Note that LibBuilder does not provide a built-in feature to tell if your library should load (ie. if it's already loaded as an embed from another addon); I suggest storing a "canLoad" field in your workspace and having each file check that before running.
Add a comment