aboutsummaryrefslogtreecommitdiffstats
path: root/core/modulemanager.lua
Commit message (Collapse)AuthorAgeFilesLines
* modulemanager: Allow modules to expose module.ready - to be called after initMatthew Wild2023-11-301-0/+4
| | | | | | | | This is a shortcut for module:on_ready() which exposes the functionality in an idiomatic way consistent with module.load, module.unload, etc. module.ready runs when the module is loaded and the server has finished starting up.
* core: Prefix module imports with prosody namespaceKim Alvefur2023-03-171-10/+10
|
* core.modulemanager: Fix global flag on per-host instances of shared modules ↵Kim Alvefur2022-04-041-0/+1
| | | | | | | | | (fix #1736) This flag is something of a shortcut for `module.host == "*"` and should always be equal to that. Its absence on the proxy object made the property of the global module instance visible, causing problems such as with URL reporting in mod_http
* core.modulemanager: Save module metadata for potential later useKim Alvefur2022-02-051-1/+2
| | | | Makes it reachable from the shell if nothing else
* modulemanager: Shorten metadata keys to improve readability and memorabilityMatthew Wild2022-02-041-5/+5
|
* modulemanager: Add plugin load filter that reads module metadata from sourceMatthew Wild2022-02-041-0/+32
| | | | | | | | | | | | | | | | | | | | | Metadata in modules is added using lines formatted as: --% key: value Where key is a valid identifier string, and value is also a string (leading and trailing whitespace are trimmed during parsing). The initial supported keys are: --% requires_core_features: feature1, feature2, ... --% conflicts_core_features: feature1, feature2. ... These 'features' map to features reported by the new core.features module. A benefit of this load-time metadata approach compared to e.g. something like module:requires()/module:conflicts() is that we can continue to look in module search paths for a suitable module. Aborting an already-loaded module due to a version conflict would be too late.
* modulemanager, moduleapi: Switch to new pluginloader interfaceMatthew Wild2022-02-041-2/+7
|
* core.modulemanager: Remove compat for mod_console rename in 0.8Kim Alvefur2022-01-051-7/+0
| | | | | Should no longer be needed, especially since mod_admin_telnet morphed into mod_admin_shell and mod_admin_socket
* core.modulemanager: Load mod_smacks on ComponentsKim Alvefur2021-12-201-0/+1
| | | | Since it applies to s2s on Components as well as on VirtualHosts.
* core.modulemanager: Inherit mod_server_contact_info onto components #1270Kim Alvefur2021-05-271-0/+1
|
* core.modulemanager: Fix resource location compat with LuaRocks 2.xKim Alvefur2021-01-161-1/+1
| | | | | The path doesn't include lua version, at least least on Debian, which still has luarocks 2.x
* core.modulemanager: Fix error if installer path missingKim Alvefur2020-10-111-1/+1
| | | | | Happens if run outside prosody. Noticed because because the storage tests fail.
* core.modulemanager: Add compat for LuaRocks 2.xKim Alvefur2020-10-071-0/+7
|
* core.modulemanager: Locate resources of LuaRocks-installed modulesKim Alvefur2020-10-071-0/+31
| | | | | | | Extra non-code files included with a `copy_directories` directive in a LuaRocks manifest will be copied into a per-module and per-version directory under /lib/luarocks/ and all this is there to dig that out so it can be used in e.g. moduleapi :load_resource().
* core.modulemanager: Silence warning about unused err variable [luacheck]Kim Alvefur2019-12-201-1/+2
|
* Merge 0.11->trunkKim Alvefur2019-11-231-2/+23
|\
| * core.modulemanager: Split lists across multiple lines for improved readabilityKim Alvefur2019-09-291-2/+18
| | | | | | | | Patches will also be easier to read.
| * mod_s2s_bidi: Enables bi-directional streams via XEP-0288Kim Alvefur2019-09-081-1/+1
| |
| * modulemanager: Set module status on successful or failed module loadMatthew Wild2019-03-191-0/+5
| |
* | core.modulemanager: Disable mod_vcard if mod_vcard_legacy is enabled to ↵Kim Alvefur2019-11-231-0/+5
|/ | | | prevent conflict (#1469)
* modulemanager: Fix issues introduced in previous commit acf74ad0b795 [thanks ↵Matthew Wild2018-10-261-7/+4
| | | | luacheck, scansion]
* Many things: switch from hacky multi-arg xpcall implementations to a ↵Matthew Wild2018-10-261-7/+2
| | | | standard util.xpcall
* modulemanager: Expose function to get the list of modules that should be ↵Matthew Wild2018-06-201-4/+13
| | | | loaded on a host
* core: Use prosody.hosts instead of _G.hosts for consistencyKim Alvefur2018-03-291-1/+1
|
* vairious: Add annotation when an empty environment is set [luacheck]Kim Alvefur2018-02-281-0/+1
|
* core: Split some very long lines [luacheck]Kim Alvefur2017-03-041-1/+2
|
* modulemanager: Silence log message about attempts to load already loaded ↵Kim Alvefur2016-03-191-1/+3
| | | | modules for shared modules
* loggingmanager,modulemanager,moduleapi: Ignore warning about accessing ↵Kim Alvefur2016-02-181-1/+1
| | | | _G.unpack [luacheck]
* loggingmanager,modulemanager,moduleapi: Localize unpack compatible with Lua 5.2+Kim Alvefur2016-02-181-1/+2
|
* core.*: Remove use of module() functionKim Alvefur2015-02-211-3/+15
|
* modulemanager: Add luacheck annotationsMatthew Wild2015-05-061-3/+4
|
* modulemanager: Remove unused import of pcall #luacheckMatthew Wild2015-05-061-2/+2
|
* core.module{manager,api}: Fix for 010b141e91ed (Thanks v1ct0r)Kim Alvefur2014-09-231-1/+1
|
* core.modulemanager, core.moduleapi: Hack around dependency loopKim Alvefur2014-09-171-1/+1
|
* Merge 0.9->0.10Matthew Wild2014-08-281-1/+1
|\
| * modulemanager: Reduce warning to debug level message about modules already ↵Kim Alvefur2014-08-271-1/+1
| | | | | | | | being loaded, it's probably just module:depends()
* | mod_s2s_auth_certs: Split PKIX based certificate checking from mod_s2s into ↵Kim Alvefur2014-07-251-1/+1
| | | | | | | | new plugin
* | Merge 0.9->0.10Kim Alvefur2014-03-251-1/+1
|\|
| * modulemanager: Load mod_saslauth on components by defaultKim Alvefur2014-03-221-1/+1
| |
* | modulemanager: Always load a platform-specific module, add stub modules for ↵Kim Alvefur2014-01-261-1/+1
| | | | | | | | Windows and unknown platforms
* | Remove all trailing whitespaceFlorian Zeitz2013-08-091-13/+13
|/
* modulemanager: add missing ipairs import.Marco Cirillo2013-04-011-1/+1
|
* modulemanager: add function to retrieve module items from a specific host ↵Marco Cirillo2013-04-011-1/+18
| | | | entity.
* core.*: Complete removal of all traces of the "core" section and ↵Kim Alvefur2013-03-231-6/+6
| | | | section-related code.
* modulemanager: Set module.reloading when a module is reloading, and when ↵Matthew Wild2012-11-221-3/+6
| | | | loading make the saved state available in module.saved_state (if any)
* hostmanager, modulemanager: Ensure hosts[*].modules always exists.Waqas Hussain2012-09-131-4/+1
|
* Eliminate direct setfenv usageFlorian Zeitz2012-06-081-9/+10
|
* modulemanager, moduleapi: Turn module.event_handlers into a multitable and ↵Matthew Wild2012-05-191-6/+7
| | | | track object->event->handler associations correctly (thanks Zash)
* moduleapi, modulemanager: Re-structure module.event_handlers so that the ↵Matthew Wild2012-05-181-2/+2
| | | | same handler can harmlessly handle multiple events (thanks Zash)
* modulemanager: Components should inherit mod_s2s from global modules_enabled tooMatthew Wild2012-05-161-1/+1
|