rufus-lua-win 5.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +69 -0
- data/Rakefile +1 -0
- data/lib/rufus/lua/win.rb +18 -0
- data/lib/rufus/lua/win/version.rb +7 -0
- data/rufus-lua-win.gemspec +23 -0
- data/vendor/lua/bin/liblua.dll +0 -0
- data/vendor/lua/lib/lua/LuaXml.lua +119 -0
- data/vendor/lua/lib/lua/alien.lua +250 -0
- data/vendor/lua/lib/lua/alien/core.dll +0 -0
- data/vendor/lua/lib/lua/alien/struct.dll +0 -0
- data/vendor/lua/lib/lua/base.lua +536 -0
- data/vendor/lua/lib/lua/bin.lua +20 -0
- data/vendor/lua/lib/lua/bit.dll +0 -0
- data/vendor/lua/lib/lua/cdlua.dll +0 -0
- data/vendor/lua/lib/lua/cdluacontextplus.dll +0 -0
- data/vendor/lua/lib/lua/cdluagl.dll +0 -0
- data/vendor/lua/lib/lua/cdluaim.dll +0 -0
- data/vendor/lua/lib/lua/cdluapdf.dll +0 -0
- data/vendor/lua/lib/lua/copas.lua +543 -0
- data/vendor/lua/lib/lua/coxpcall.lua +57 -0
- data/vendor/lua/lib/lua/date.lua +745 -0
- data/vendor/lua/lib/lua/debug_ext.lua +84 -0
- data/vendor/lua/lib/lua/debug_init.lua +2 -0
- data/vendor/lua/lib/lua/des56.dll +0 -0
- data/vendor/lua/lib/lua/dist/config.lua +109 -0
- data/vendor/lua/lib/lua/dist/constraints.lua +271 -0
- data/vendor/lua/lib/lua/dist/depends.lua +601 -0
- data/vendor/lua/lib/lua/dist/git.lua +307 -0
- data/vendor/lua/lib/lua/dist/init.lua +278 -0
- data/vendor/lua/lib/lua/dist/manifest.lua +225 -0
- data/vendor/lua/lib/lua/dist/package.lua +583 -0
- data/vendor/lua/lib/lua/dist/sys.lua +367 -0
- data/vendor/lua/lib/lua/dist/utils.lua +130 -0
- data/vendor/lua/lib/lua/ex.dll +0 -0
- data/vendor/lua/lib/lua/fstable.lua +116 -0
- data/vendor/lua/lib/lua/getopt.lua +273 -0
- data/vendor/lua/lib/lua/git.lua +5 -0
- data/vendor/lua/lib/lua/git/core.dll +0 -0
- data/vendor/lua/lib/lua/git/objects.lua +121 -0
- data/vendor/lua/lib/lua/git/pack.lua +316 -0
- data/vendor/lua/lib/lua/git/protocol.lua +188 -0
- data/vendor/lua/lib/lua/git/repo.lua +283 -0
- data/vendor/lua/lib/lua/git/util.lua +233 -0
- data/vendor/lua/lib/lua/gzio.dll +0 -0
- data/vendor/lua/lib/lua/gzip.lua +81 -0
- data/vendor/lua/lib/lua/iconv.dll +0 -0
- data/vendor/lua/lib/lua/imlua.dll +0 -0
- data/vendor/lua/lib/lua/imlua_fftw.dll +0 -0
- data/vendor/lua/lib/lua/imlua_jp2.dll +0 -0
- data/vendor/lua/lib/lua/imlua_process.dll +0 -0
- data/vendor/lua/lib/lua/imlua_process_omp.dll +0 -0
- data/vendor/lua/lib/lua/io_ext.lua +115 -0
- data/vendor/lua/lib/lua/iuplua.dll +0 -0
- data/vendor/lua/lib/lua/iuplua_mglplot.dll +0 -0
- data/vendor/lua/lib/lua/iuplua_pplot.dll +0 -0
- data/vendor/lua/lib/lua/iupluacd.dll +0 -0
- data/vendor/lua/lib/lua/iupluacontrols.dll +0 -0
- data/vendor/lua/lib/lua/iupluagl.dll +0 -0
- data/vendor/lua/lib/lua/iupluaim.dll +0 -0
- data/vendor/lua/lib/lua/iupluaimglib.dll +0 -0
- data/vendor/lua/lib/lua/iupluatuio.dll +0 -0
- data/vendor/lua/lib/lua/lanes-keeper.lua +302 -0
- data/vendor/lua/lib/lua/lanes.lua +591 -0
- data/vendor/lua/lib/lua/lanes/core.dll +0 -0
- data/vendor/lua/lib/lua/lcs.lua +55 -0
- data/vendor/lua/lib/lua/lemock.lua +659 -0
- data/vendor/lua/lib/lua/lfs.dll +0 -0
- data/vendor/lua/lib/lua/list.lua +375 -0
- data/vendor/lua/lib/lua/logging.lua +189 -0
- data/vendor/lua/lib/lua/logging/console.lua +22 -0
- data/vendor/lua/lib/lua/logging/email.lua +44 -0
- data/vendor/lua/lib/lua/logging/file.lua +55 -0
- data/vendor/lua/lib/lua/logging/rolling_file.lua +81 -0
- data/vendor/lua/lib/lua/logging/socket.lua +35 -0
- data/vendor/lua/lib/lua/logging/sql.lua +64 -0
- data/vendor/lua/lib/lua/loop/base.lua +68 -0
- data/vendor/lua/lib/lua/loop/cached.lua +312 -0
- data/vendor/lua/lib/lua/loop/collection/MapWithArrayOfKeys.lua +64 -0
- data/vendor/lua/lib/lua/loop/collection/ObjectCache.lua +39 -0
- data/vendor/lua/lib/lua/loop/collection/OrderedSet.lua +164 -0
- data/vendor/lua/lib/lua/loop/collection/PriorityQueue.lua +86 -0
- data/vendor/lua/lib/lua/loop/collection/UnorderedArray.lua +32 -0
- data/vendor/lua/lib/lua/loop/collection/UnorderedArraySet.lua +56 -0
- data/vendor/lua/lib/lua/loop/compiler/Arguments.lua +108 -0
- data/vendor/lua/lib/lua/loop/compiler/Conditional.lua +50 -0
- data/vendor/lua/lib/lua/loop/compiler/Expression.lua +215 -0
- data/vendor/lua/lib/lua/loop/component/base.lua +221 -0
- data/vendor/lua/lib/lua/loop/component/contained.lua +71 -0
- data/vendor/lua/lib/lua/loop/component/dynamic.lua +223 -0
- data/vendor/lua/lib/lua/loop/component/intercepted.lua +354 -0
- data/vendor/lua/lib/lua/loop/component/wrapped.lua +195 -0
- data/vendor/lua/lib/lua/loop/debug/Inspector.lua +521 -0
- data/vendor/lua/lib/lua/loop/debug/Matcher.lua +192 -0
- data/vendor/lua/lib/lua/loop/debug/Verbose.lua +266 -0
- data/vendor/lua/lib/lua/loop/debug/Viewer.lua +200 -0
- data/vendor/lua/lib/lua/loop/multiple.lua +105 -0
- data/vendor/lua/lib/lua/loop/object/Exception.lua +57 -0
- data/vendor/lua/lib/lua/loop/object/Publisher.lua +43 -0
- data/vendor/lua/lib/lua/loop/object/Wrapper.lua +39 -0
- data/vendor/lua/lib/lua/loop/scoped.lua +585 -0
- data/vendor/lua/lib/lua/loop/serial/FileStream.lua +48 -0
- data/vendor/lua/lib/lua/loop/serial/Serializer.lua +291 -0
- data/vendor/lua/lib/lua/loop/serial/SocketStream.lua +51 -0
- data/vendor/lua/lib/lua/loop/serial/StringStream.lua +47 -0
- data/vendor/lua/lib/lua/loop/simple.lua +75 -0
- data/vendor/lua/lib/lua/loop/table.lua +71 -0
- data/vendor/lua/lib/lua/loop/thread/CoSocket.lua +416 -0
- data/vendor/lua/lib/lua/loop/thread/IOScheduler.lua +170 -0
- data/vendor/lua/lib/lua/loop/thread/Scheduler.lua +327 -0
- data/vendor/lua/lib/lua/loop/thread/SocketScheduler.lua +88 -0
- data/vendor/lua/lib/lua/loop/thread/Timer.lua +54 -0
- data/vendor/lua/lib/lua/lpeg.dll +0 -0
- data/vendor/lua/lib/lua/ltn12.lua +292 -0
- data/vendor/lua/lib/lua/luaXML_lib.dll +0 -0
- data/vendor/lua/lib/lua/luacurl.dll +0 -0
- data/vendor/lua/lib/lua/luadoc/config.lua +34 -0
- data/vendor/lua/lib/lua/luadoc/doclet/debug.lua +46 -0
- data/vendor/lua/lib/lua/luadoc/doclet/formatter.lua +84 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html.lua +289 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/file.lp +113 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/function.lp +64 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/index.lp +70 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/luadoc.css +286 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/menu.lp +55 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/module.lp +109 -0
- data/vendor/lua/lib/lua/luadoc/doclet/html/table.lp +15 -0
- data/vendor/lua/lib/lua/luadoc/doclet/raw.lua +12 -0
- data/vendor/lua/lib/lua/luadoc/init.lua +58 -0
- data/vendor/lua/lib/lua/luadoc/lp.lua +130 -0
- data/vendor/lua/lib/lua/luadoc/taglet/standard.lua +495 -0
- data/vendor/lua/lib/lua/luadoc/taglet/standard/tags.lua +171 -0
- data/vendor/lua/lib/lua/luadoc/util.lua +233 -0
- data/vendor/lua/lib/lua/luagl.dll +0 -0
- data/vendor/lua/lib/lua/luaglu.dll +0 -0
- data/vendor/lua/lib/lua/luaidl.lua +113 -0
- data/vendor/lua/lib/lua/luaidl/lex.lua +793 -0
- data/vendor/lua/lib/lua/luaidl/pre.lua +149 -0
- data/vendor/lua/lib/lua/luaidl/sin.lua +3631 -0
- data/vendor/lua/lib/lua/luarocks/add.lua +108 -0
- data/vendor/lua/lib/lua/luarocks/admin_remove.lua +87 -0
- data/vendor/lua/lib/lua/luarocks/build.lua +330 -0
- data/vendor/lua/lib/lua/luarocks/build/builtin.lua +253 -0
- data/vendor/lua/lib/lua/luarocks/build/cmake.lua +54 -0
- data/vendor/lua/lib/lua/luarocks/build/command.lua +32 -0
- data/vendor/lua/lib/lua/luarocks/build/make.lua +92 -0
- data/vendor/lua/lib/lua/luarocks/cache.lua +85 -0
- data/vendor/lua/lib/lua/luarocks/cfg.lua +449 -0
- data/vendor/lua/lib/lua/luarocks/command_line.lua +163 -0
- data/vendor/lua/lib/lua/luarocks/deps.lua +654 -0
- data/vendor/lua/lib/lua/luarocks/dir.lua +69 -0
- data/vendor/lua/lib/lua/luarocks/download.lua +90 -0
- data/vendor/lua/lib/lua/luarocks/fetch.lua +321 -0
- data/vendor/lua/lib/lua/luarocks/fetch/cvs.lua +44 -0
- data/vendor/lua/lib/lua/luarocks/fetch/git.lua +81 -0
- data/vendor/lua/lib/lua/luarocks/fetch/git_file.lua +17 -0
- data/vendor/lua/lib/lua/luarocks/fetch/hg.lua +54 -0
- data/vendor/lua/lib/lua/luarocks/fetch/sscm.lua +42 -0
- data/vendor/lua/lib/lua/luarocks/fetch/svn.lua +53 -0
- data/vendor/lua/lib/lua/luarocks/fs.lua +40 -0
- data/vendor/lua/lib/lua/luarocks/fs/lua.lua +676 -0
- data/vendor/lua/lib/lua/luarocks/fs/unix.lua +88 -0
- data/vendor/lua/lib/lua/luarocks/fs/unix/tools.lua +325 -0
- data/vendor/lua/lib/lua/luarocks/fs/win32.lua +107 -0
- data/vendor/lua/lib/lua/luarocks/fs/win32/tools.lua +334 -0
- data/vendor/lua/lib/lua/luarocks/help.lua +101 -0
- data/vendor/lua/lib/lua/luarocks/index.lua +172 -0
- data/vendor/lua/lib/lua/luarocks/install.lua +151 -0
- data/vendor/lua/lib/lua/luarocks/list.lua +35 -0
- data/vendor/lua/lib/lua/luarocks/loader.lua +228 -0
- data/vendor/lua/lib/lua/luarocks/make.lua +71 -0
- data/vendor/lua/lib/lua/luarocks/make_manifest.lua +34 -0
- data/vendor/lua/lib/lua/luarocks/manif.lua +360 -0
- data/vendor/lua/lib/lua/luarocks/manif_core.lua +75 -0
- data/vendor/lua/lib/lua/luarocks/new_version.lua +141 -0
- data/vendor/lua/lib/lua/luarocks/pack.lua +205 -0
- data/vendor/lua/lib/lua/luarocks/path.lua +315 -0
- data/vendor/lua/lib/lua/luarocks/persist.lua +173 -0
- data/vendor/lua/lib/lua/luarocks/refresh_cache.lua +30 -0
- data/vendor/lua/lib/lua/luarocks/remove.lua +135 -0
- data/vendor/lua/lib/lua/luarocks/rep.lua +313 -0
- data/vendor/lua/lib/lua/luarocks/require.lua +6 -0
- data/vendor/lua/lib/lua/luarocks/search.lua +399 -0
- data/vendor/lua/lib/lua/luarocks/show.lua +138 -0
- data/vendor/lua/lib/lua/luarocks/site_config.lua +23 -0
- data/vendor/lua/lib/lua/luarocks/tools/patch.lua +712 -0
- data/vendor/lua/lib/lua/luarocks/tools/tar.lua +144 -0
- data/vendor/lua/lib/lua/luarocks/tools/zip.lua +245 -0
- data/vendor/lua/lib/lua/luarocks/type_check.lua +267 -0
- data/vendor/lua/lib/lua/luarocks/unpack.lua +151 -0
- data/vendor/lua/lib/lua/luarocks/util.lua +420 -0
- data/vendor/lua/lib/lua/luarocks/validate.lua +164 -0
- data/vendor/lua/lib/lua/luars232.dll +0 -0
- data/vendor/lua/lib/lua/luasql/mysql.dll +0 -0
- data/vendor/lua/lib/lua/luasql/postgres.dll +0 -0
- data/vendor/lua/lib/lua/luasql/sqlite3.dll +0 -0
- data/vendor/lua/lib/lua/luaunit.lua +601 -0
- data/vendor/lua/lib/lua/lxp.dll +0 -0
- data/vendor/lua/lib/lua/lxp/lom.lua +60 -0
- data/vendor/lua/lib/lua/math_ext.lua +27 -0
- data/vendor/lua/lib/lua/mbox.lua +53 -0
- data/vendor/lua/lib/lua/md5.lua +19 -0
- data/vendor/lua/lib/lua/md5/core.dll +0 -0
- data/vendor/lua/lib/lua/metalua.lua +0 -0
- data/vendor/lua/lib/lua/metalua/ast_to_string.mlua +553 -0
- data/vendor/lua/lib/lua/metalua/base.lua +104 -0
- data/vendor/lua/lib/lua/metalua/bytecode.lua +0 -0
- data/vendor/lua/lib/lua/metalua/clopts.mlua +204 -0
- data/vendor/lua/lib/lua/metalua/compiler.lua +3 -0
- data/vendor/lua/lib/lua/metalua/dollar.mlua +24 -0
- data/vendor/lua/lib/lua/metalua/extension/H-runtime.mlua +216 -0
- data/vendor/lua/lib/lua/metalua/extension/H.mlua +22 -0
- data/vendor/lua/lib/lua/metalua/extension/anaphoric.mlua +54 -0
- data/vendor/lua/lib/lua/metalua/extension/clist.mlua +149 -0
- data/vendor/lua/lib/lua/metalua/extension/continue.mlua +53 -0
- data/vendor/lua/lib/lua/metalua/extension/localin.mlua +2 -0
- data/vendor/lua/lib/lua/metalua/extension/log.mlua +39 -0
- data/vendor/lua/lib/lua/metalua/extension/match.mlua +374 -0
- data/vendor/lua/lib/lua/metalua/extension/ternary.mlua +10 -0
- data/vendor/lua/lib/lua/metalua/extension/trycatch.mlua +189 -0
- data/vendor/lua/lib/lua/metalua/extension/types-runtime.mlua +159 -0
- data/vendor/lua/lib/lua/metalua/extension/types.mlua +352 -0
- data/vendor/lua/lib/lua/metalua/extension/withdo.mlua +30 -0
- data/vendor/lua/lib/lua/metalua/extension/xglobal-runtime.lua +41 -0
- data/vendor/lua/lib/lua/metalua/extension/xglobal.mlua +20 -0
- data/vendor/lua/lib/lua/metalua/extension/xloop.mlua +100 -0
- data/vendor/lua/lib/lua/metalua/extension/xmatch.mlua +216 -0
- data/vendor/lua/lib/lua/metalua/metaloop.mlua +76 -0
- data/vendor/lua/lib/lua/metalua/mlc.lua +0 -0
- data/vendor/lua/lib/lua/metalua/mlc_xcall.lua +119 -0
- data/vendor/lua/lib/lua/metalua/mlp.lua +0 -0
- data/vendor/lua/lib/lua/metalua/package2.lua +101 -0
- data/vendor/lua/lib/lua/metalua/runtime.lua +3 -0
- data/vendor/lua/lib/lua/metalua/string2.lua +44 -0
- data/vendor/lua/lib/lua/metalua/table2.lua +372 -0
- data/vendor/lua/lib/lua/metalua/walk.mlua +304 -0
- data/vendor/lua/lib/lua/metalua/walk/bindings.mlua +41 -0
- data/vendor/lua/lib/lua/metalua/walk/id.mlua +186 -0
- data/vendor/lua/lib/lua/metalua/walk/scope.lua +54 -0
- data/vendor/lua/lib/lua/mime.lua +87 -0
- data/vendor/lua/lib/lua/mime/core.dll +0 -0
- data/vendor/lua/lib/lua/mobdebug.lua +1484 -0
- data/vendor/lua/lib/lua/modules.lua +16 -0
- data/vendor/lua/lib/lua/object.lua +56 -0
- data/vendor/lua/lib/lua/oil/Exception.lua +26 -0
- data/vendor/lua/lib/lua/oil/arch.lua +27 -0
- data/vendor/lua/lib/lua/oil/arch/basic/client.lua +29 -0
- data/vendor/lua/lib/lua/oil/arch/basic/common.lua +13 -0
- data/vendor/lua/lib/lua/oil/arch/basic/server.lua +27 -0
- data/vendor/lua/lib/lua/oil/arch/cooperative/common.lua +10 -0
- data/vendor/lua/lib/lua/oil/arch/cooperative/server.lua +16 -0
- data/vendor/lua/lib/lua/oil/arch/corba/client.lua +39 -0
- data/vendor/lua/lib/lua/oil/arch/corba/common.lua +58 -0
- data/vendor/lua/lib/lua/oil/arch/corba/intercepted/client.lua +9 -0
- data/vendor/lua/lib/lua/oil/arch/corba/intercepted/server.lua +9 -0
- data/vendor/lua/lib/lua/oil/arch/corba/server.lua +35 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/byref.lua +18 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/client.lua +19 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/common.lua +18 -0
- data/vendor/lua/lib/lua/oil/arch/ludo/server.lua +19 -0
- data/vendor/lua/lib/lua/oil/arch/typed/client.lua +27 -0
- data/vendor/lua/lib/lua/oil/arch/typed/common.lua +9 -0
- data/vendor/lua/lib/lua/oil/arch/typed/server.lua +18 -0
- data/vendor/lua/lib/lua/oil/assert.lua +87 -0
- data/vendor/lua/lib/lua/oil/builder.lua +45 -0
- data/vendor/lua/lib/lua/oil/builder/basic/client.lua +31 -0
- data/vendor/lua/lib/lua/oil/builder/basic/common.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/basic/server.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/cooperative/common.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/cooperative/server.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/corba/client.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/corba/common.lua +24 -0
- data/vendor/lua/lib/lua/oil/builder/corba/gencode.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/corba/intercepted/client.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/corba/intercepted/server.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/corba/server.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/lua/client.lua +11 -0
- data/vendor/lua/lib/lua/oil/builder/lua/server.lua +12 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/byref.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/client.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/common.lua +14 -0
- data/vendor/lua/lib/lua/oil/builder/ludo/server.lua +13 -0
- data/vendor/lua/lib/lua/oil/builder/typed/client.lua +16 -0
- data/vendor/lua/lib/lua/oil/builder/typed/server.lua +12 -0
- data/vendor/lua/lib/lua/oil/compat.lua +846 -0
- data/vendor/lua/lib/lua/oil/component.lua +1 -0
- data/vendor/lua/lib/lua/oil/corba/giop.lua +301 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Codec.lua +1568 -0
- data/vendor/lua/lib/lua/oil/corba/giop/CodecGen.lua +589 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Exception.lua +25 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Indexer.lua +63 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Listener.lua +343 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Messenger.lua +228 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Referrer.lua +180 -0
- data/vendor/lua/lib/lua/oil/corba/giop/Requester.lua +462 -0
- data/vendor/lua/lib/lua/oil/corba/idl.lua +597 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Compiler.lua +133 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Importer.lua +235 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Indexer.lua +95 -0
- data/vendor/lua/lib/lua/oil/corba/idl/Registry.lua +1821 -0
- data/vendor/lua/lib/lua/oil/corba/idl/ir.lua +847 -0
- data/vendor/lua/lib/lua/oil/corba/idl/sysex.lua +21 -0
- data/vendor/lua/lib/lua/oil/corba/iiop/Profiler.lua +200 -0
- data/vendor/lua/lib/lua/oil/corba/intercepted/Listener.lua +158 -0
- data/vendor/lua/lib/lua/oil/corba/intercepted/Requester.lua +181 -0
- data/vendor/lua/lib/lua/oil/corba/services/event.lua +126 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/ConsumerAdmin.lua +50 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/EventFactory.lua +15 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/EventQueue.lua +37 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/ProxyPushConsumer.lua +75 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/ProxyPushSupplier.lua +62 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/SingleDeferredDispatcher.lua +60 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/SingleSynchronousDispatcher.lua +39 -0
- data/vendor/lua/lib/lua/oil/corba/services/event/SupplierAdmin.lua +50 -0
- data/vendor/lua/lib/lua/oil/corba/services/naming.lua +436 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Acceptor.lua +268 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Channels.lua +121 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Connector.lua +147 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Dispatcher.lua +99 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies.lua +86 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/asynchronous.lua +56 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/protected.lua +17 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/synchronous.lua +17 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Proxies/utils.lua +29 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Receiver.lua +110 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Servants.lua +207 -0
- data/vendor/lua/lib/lua/oil/kernel/base/Sockets.lua +44 -0
- data/vendor/lua/lib/lua/oil/kernel/cooperative/Receiver.lua +139 -0
- data/vendor/lua/lib/lua/oil/kernel/intercepted/Listener.lua +47 -0
- data/vendor/lua/lib/lua/oil/kernel/intercepted/Requester.lua +58 -0
- data/vendor/lua/lib/lua/oil/kernel/lua/Dispatcher.lua +76 -0
- data/vendor/lua/lib/lua/oil/kernel/lua/Proxies.lua +69 -0
- data/vendor/lua/lib/lua/oil/kernel/typed/Dispatcher.lua +91 -0
- data/vendor/lua/lib/lua/oil/kernel/typed/Proxies.lua +153 -0
- data/vendor/lua/lib/lua/oil/kernel/typed/Servants.lua +137 -0
- data/vendor/lua/lib/lua/oil/ludo/Codec.lua +66 -0
- data/vendor/lua/lib/lua/oil/ludo/CodecByRef.lua +103 -0
- data/vendor/lua/lib/lua/oil/ludo/Listener.lua +151 -0
- data/vendor/lua/lib/lua/oil/ludo/Referrer.lua +72 -0
- data/vendor/lua/lib/lua/oil/ludo/Requester.lua +107 -0
- data/vendor/lua/lib/lua/oil/oo.lua +1 -0
- data/vendor/lua/lib/lua/oil/port.lua +1 -0
- data/vendor/lua/lib/lua/oil/properties.lua +57 -0
- data/vendor/lua/lib/lua/oil/verbose.lua +133 -0
- data/vendor/lua/lib/lua/package_ext.lua +15 -0
- data/vendor/lua/lib/lua/parser.lua +268 -0
- data/vendor/lua/lib/lua/pl/Date.lua +555 -0
- data/vendor/lua/lib/lua/pl/List.lua +613 -0
- data/vendor/lua/lib/lua/pl/Map.lua +113 -0
- data/vendor/lua/lib/lua/pl/MultiMap.lua +62 -0
- data/vendor/lua/lib/lua/pl/OrderedMap.lua +151 -0
- data/vendor/lua/lib/lua/pl/Set.lua +153 -0
- data/vendor/lua/lib/lua/pl/app.lua +165 -0
- data/vendor/lua/lib/lua/pl/array2d.lua +501 -0
- data/vendor/lua/lib/lua/pl/class.lua +180 -0
- data/vendor/lua/lib/lua/pl/comprehension.lua +286 -0
- data/vendor/lua/lib/lua/pl/config.lua +176 -0
- data/vendor/lua/lib/lua/pl/data.lua +606 -0
- data/vendor/lua/lib/lua/pl/dir.lua +475 -0
- data/vendor/lua/lib/lua/pl/file.lua +70 -0
- data/vendor/lua/lib/lua/pl/func.lua +376 -0
- data/vendor/lua/lib/lua/pl/init.lua +68 -0
- data/vendor/lua/lib/lua/pl/input.lua +173 -0
- data/vendor/lua/lib/lua/pl/lapp.lua +407 -0
- data/vendor/lua/lib/lua/pl/lexer.lua +456 -0
- data/vendor/lua/lib/lua/pl/luabalanced.lua +264 -0
- data/vendor/lua/lib/lua/pl/operator.lua +201 -0
- data/vendor/lua/lib/lua/pl/path.lua +398 -0
- data/vendor/lua/lib/lua/pl/permute.lua +63 -0
- data/vendor/lua/lib/lua/pl/platf/luajava.lua +101 -0
- data/vendor/lua/lib/lua/pl/pretty.lua +285 -0
- data/vendor/lua/lib/lua/pl/seq.lua +551 -0
- data/vendor/lua/lib/lua/pl/sip.lua +344 -0
- data/vendor/lua/lib/lua/pl/strict.lua +70 -0
- data/vendor/lua/lib/lua/pl/stringio.lua +158 -0
- data/vendor/lua/lib/lua/pl/stringx.lua +440 -0
- data/vendor/lua/lib/lua/pl/tablex.lua +817 -0
- data/vendor/lua/lib/lua/pl/template.lua +103 -0
- data/vendor/lua/lib/lua/pl/test.lua +135 -0
- data/vendor/lua/lib/lua/pl/text.lua +243 -0
- data/vendor/lua/lib/lua/pl/utils.lua +550 -0
- data/vendor/lua/lib/lua/pl/xml.lua +689 -0
- data/vendor/lua/lib/lua/profiler.dll +0 -0
- data/vendor/lua/lib/lua/re.lua +248 -0
- data/vendor/lua/lib/lua/rex_onig.dll +0 -0
- data/vendor/lua/lib/lua/rex_pcre.dll +0 -0
- data/vendor/lua/lib/lua/rex_posix.dll +0 -0
- data/vendor/lua/lib/lua/rings.dll +0 -0
- data/vendor/lua/lib/lua/serialize.lua +193 -0
- data/vendor/lua/lib/lua/set.lua +149 -0
- data/vendor/lua/lib/lua/socket.lua +133 -0
- data/vendor/lua/lib/lua/socket/core.dll +0 -0
- data/vendor/lua/lib/lua/socket/ftp.lua +281 -0
- data/vendor/lua/lib/lua/socket/http.lua +350 -0
- data/vendor/lua/lib/lua/socket/smtp.lua +251 -0
- data/vendor/lua/lib/lua/socket/tp.lua +123 -0
- data/vendor/lua/lib/lua/socket/url.lua +297 -0
- data/vendor/lua/lib/lua/ssl.dll +0 -0
- data/vendor/lua/lib/lua/ssl.lua +93 -0
- data/vendor/lua/lib/lua/ssl/https.lua +138 -0
- data/vendor/lua/lib/lua/stable.lua +28 -0
- data/vendor/lua/lib/lua/std.lua +16 -0
- data/vendor/lua/lib/lua/strbuf.lua +32 -0
- data/vendor/lua/lib/lua/strict.lua +45 -0
- data/vendor/lua/lib/lua/string_ext.lua +274 -0
- data/vendor/lua/lib/lua/table_ext.lua +117 -0
- data/vendor/lua/lib/lua/tar.lua +262 -0
- data/vendor/lua/lib/lua/task.dll +0 -0
- data/vendor/lua/lib/lua/tree.lua +81 -0
- data/vendor/lua/lib/lua/unicode.dll +0 -0
- data/vendor/lua/lib/lua/verbose_require.lua +11 -0
- data/vendor/lua/lib/lua/vstruct.lua +86 -0
- data/vendor/lua/lib/lua/vstruct/ast.lua +192 -0
- data/vendor/lua/lib/lua/vstruct/ast/Bitpack.lua +33 -0
- data/vendor/lua/lib/lua/vstruct/ast/Generator.lua +174 -0
- data/vendor/lua/lib/lua/vstruct/ast/IO.lua +45 -0
- data/vendor/lua/lib/lua/vstruct/ast/List.lua +56 -0
- data/vendor/lua/lib/lua/vstruct/ast/Name.lua +20 -0
- data/vendor/lua/lib/lua/vstruct/ast/Repeat.lua +23 -0
- data/vendor/lua/lib/lua/vstruct/ast/Root.lua +19 -0
- data/vendor/lua/lib/lua/vstruct/ast/Table.lua +65 -0
- data/vendor/lua/lib/lua/vstruct/cursor.lua +81 -0
- data/vendor/lua/lib/lua/vstruct/io.lua +45 -0
- data/vendor/lua/lib/lua/vstruct/io/a.lua +24 -0
- data/vendor/lua/lib/lua/vstruct/io/b.lua +28 -0
- data/vendor/lua/lib/lua/vstruct/io/bigendian.lua +21 -0
- data/vendor/lua/lib/lua/vstruct/io/c.lua +25 -0
- data/vendor/lua/lib/lua/vstruct/io/defaults.lua +24 -0
- data/vendor/lua/lib/lua/vstruct/io/endianness.lua +41 -0
- data/vendor/lua/lib/lua/vstruct/io/f.lua +129 -0
- data/vendor/lua/lib/lua/vstruct/io/hostendian.lua +21 -0
- data/vendor/lua/lib/lua/vstruct/io/i.lua +42 -0
- data/vendor/lua/lib/lua/vstruct/io/littleendian.lua +21 -0
- data/vendor/lua/lib/lua/vstruct/io/m.lua +62 -0
- data/vendor/lua/lib/lua/vstruct/io/p.lua +23 -0
- data/vendor/lua/lib/lua/vstruct/io/s.lua +27 -0
- data/vendor/lua/lib/lua/vstruct/io/seekb.lua +18 -0
- data/vendor/lua/lib/lua/vstruct/io/seekf.lua +18 -0
- data/vendor/lua/lib/lua/vstruct/io/seekto.lua +18 -0
- data/vendor/lua/lib/lua/vstruct/io/u.lua +54 -0
- data/vendor/lua/lib/lua/vstruct/io/x.lua +34 -0
- data/vendor/lua/lib/lua/vstruct/io/z.lua +63 -0
- data/vendor/lua/lib/lua/vstruct/lexer.lua +100 -0
- data/vendor/lua/lib/lua/vstruct/pack.lua +142 -0
- data/vendor/lua/lib/lua/vstruct/test.lua +47 -0
- data/vendor/lua/lib/lua/vstruct/test/basic.lua +73 -0
- data/vendor/lua/lib/lua/vstruct/test/common.lua +100 -0
- data/vendor/lua/lib/lua/vstruct/test/fp-bigendian.lua +56 -0
- data/vendor/lua/lib/lua/vstruct/test/fp-littleendian.lua +56 -0
- data/vendor/lua/lib/lua/vstruct/test/struct-test-gen.lua +1230 -0
- data/vendor/lua/lib/lua/vstruct/unpack.lua +126 -0
- data/vendor/lua/lib/lua/wx.dll +0 -0
- data/vendor/lua/lib/lua/xml.lua +75 -0
- data/vendor/lua/lib/lua/zip.dll +0 -0
- data/vendor/lua/lib/lua/zlib.dll +0 -0
- metadata +529 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
--- Additions to the debug module
|
|
2
|
+
module ("debug", package.seeall)
|
|
3
|
+
|
|
4
|
+
require "debug_init"
|
|
5
|
+
require "io_ext"
|
|
6
|
+
require "string_ext"
|
|
7
|
+
|
|
8
|
+
--- To activate debugging set _DEBUG either to any true value
|
|
9
|
+
-- (equivalent to {level = 1}), or as documented below.
|
|
10
|
+
-- @class table
|
|
11
|
+
-- @name _DEBUG
|
|
12
|
+
-- @field level debugging level
|
|
13
|
+
-- @field call do call trace debugging
|
|
14
|
+
-- @field std do standard library debugging (run examples & test code)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
--- Print a debugging message
|
|
18
|
+
-- @param n debugging level, defaults to 1
|
|
19
|
+
-- @param ... objects to print (as for print)
|
|
20
|
+
function say (n, ...)
|
|
21
|
+
local level = 1
|
|
22
|
+
local arg = {n, ...}
|
|
23
|
+
if type (arg[1]) == "number" then
|
|
24
|
+
level = arg[1]
|
|
25
|
+
table.remove (arg, 1)
|
|
26
|
+
end
|
|
27
|
+
if _DEBUG and
|
|
28
|
+
((type (_DEBUG) == "table" and type (_DEBUG.level) == "number" and
|
|
29
|
+
_DEBUG.level >= level)
|
|
30
|
+
or level <= 1) then
|
|
31
|
+
io.writelines (io.stderr, table.concat (list.map (tostring, arg), "\t"))
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
---
|
|
36
|
+
-- The global function <code>debug</code> is an abbreviation for
|
|
37
|
+
-- <code>debug.say (1, ...)</code>
|
|
38
|
+
-- @class function
|
|
39
|
+
-- @name debug
|
|
40
|
+
-- @see say
|
|
41
|
+
getmetatable (_M).__call =
|
|
42
|
+
function (self, ...)
|
|
43
|
+
say (1, ...)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
--- Trace function calls
|
|
47
|
+
-- Use as debug.sethook (trace, "cr"), which is done automatically
|
|
48
|
+
-- when _DEBUG.call is set.
|
|
49
|
+
-- Based on test/trace-calls.lua from the Lua distribution.
|
|
50
|
+
-- @class function
|
|
51
|
+
-- @name trace
|
|
52
|
+
-- @param event event causing the call
|
|
53
|
+
local level = 0
|
|
54
|
+
function trace (event)
|
|
55
|
+
local t = getinfo (3)
|
|
56
|
+
local s = " >>> " .. string.rep (" ", level)
|
|
57
|
+
if t ~= nil and t.currentline >= 0 then
|
|
58
|
+
s = s .. t.short_src .. ":" .. t.currentline .. " "
|
|
59
|
+
end
|
|
60
|
+
t = getinfo (2)
|
|
61
|
+
if event == "call" then
|
|
62
|
+
level = level + 1
|
|
63
|
+
else
|
|
64
|
+
level = math.max (level - 1, 0)
|
|
65
|
+
end
|
|
66
|
+
if t.what == "main" then
|
|
67
|
+
if event == "call" then
|
|
68
|
+
s = s .. "begin " .. t.short_src
|
|
69
|
+
else
|
|
70
|
+
s = s .. "end " .. t.short_src
|
|
71
|
+
end
|
|
72
|
+
elseif t.what == "Lua" then
|
|
73
|
+
s = s .. event .. " " .. (t.name or "(Lua)") .. " <" ..
|
|
74
|
+
t.linedefined .. ":" .. t.short_src .. ">"
|
|
75
|
+
else
|
|
76
|
+
s = s .. event .. " " .. (t.name or "(C)") .. " [" .. t.what .. "]"
|
|
77
|
+
end
|
|
78
|
+
io.writelines (io.stderr, s)
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
-- Set hooks according to _DEBUG
|
|
82
|
+
if type (_DEBUG) == "table" and _DEBUG.call then
|
|
83
|
+
sethook (trace, "cr")
|
|
84
|
+
end
|
|
Binary file
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
-- Luadist configuration
|
|
2
|
+
|
|
3
|
+
module ("dist.config", package.seeall)
|
|
4
|
+
|
|
5
|
+
local sys = require "dist.sys"
|
|
6
|
+
|
|
7
|
+
-- System information ------------------------------------------------
|
|
8
|
+
version = "0.2.3" -- Current LuaDist version
|
|
9
|
+
arch = "Windows" -- Host architecture
|
|
10
|
+
type = "x86" -- Host type
|
|
11
|
+
|
|
12
|
+
-- Look for _PROGDIR by default --------------------------------------
|
|
13
|
+
local path = _PROGDIR
|
|
14
|
+
if path then path = sys.parent_dir(path) end
|
|
15
|
+
|
|
16
|
+
-- Directories -------------------------------------------------------
|
|
17
|
+
root_dir = path or os.getenv("DIST_ROOT") or sys.path_separator()
|
|
18
|
+
temp_dir = "tmp"
|
|
19
|
+
cache_dir = sys.make_path(temp_dir, "cache")
|
|
20
|
+
distinfos_dir = sys.make_path("share", "luadist-git", "dists")
|
|
21
|
+
test_dir = sys.make_path("share", "luadist-git", "test")
|
|
22
|
+
|
|
23
|
+
-- Files -------------------------------------------------------------
|
|
24
|
+
manifest_file = sys.make_path(cache_dir, ".gitmodules")
|
|
25
|
+
log_file = sys.make_path(temp_dir, "luadist.log")
|
|
26
|
+
cache_file = ""
|
|
27
|
+
|
|
28
|
+
-- Repositories ------------------------------------------------------
|
|
29
|
+
repos = {
|
|
30
|
+
"git://github.com/LuaDist/Repository.git",
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
upload_url = "git@github.com:LuaDist" -- must not contain trailing '/'
|
|
34
|
+
|
|
35
|
+
-- Settings ----------------------------------------------------------
|
|
36
|
+
debug = false -- Use debug mode.
|
|
37
|
+
verbose = false -- Print verbose output.
|
|
38
|
+
simulate = false -- Only simulate installation of packages.
|
|
39
|
+
binary = true -- Use binary version of modules.
|
|
40
|
+
source = true -- Use source version of modules.
|
|
41
|
+
test = false -- Run CTest before install.
|
|
42
|
+
|
|
43
|
+
cache = true -- Use cache.
|
|
44
|
+
cache_timeout = 60 * 60 -- Cache timeout in seconds.
|
|
45
|
+
|
|
46
|
+
-- Components (of modules) that will be installed.
|
|
47
|
+
components = {
|
|
48
|
+
"Runtime", "Library", "Header", "Data", "Documentation", "Example", "Test", "Other", "Unspecified"
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
-- Available log levels are: DEBUG, INFO, WARN, ERROR, FATAL (see dist.logger for more information).
|
|
52
|
+
print_log_level = "WARN" -- Minimum level for log messages to be printed (nil to disable).
|
|
53
|
+
write_log_level = "INFO" -- Minimum level for log messages to be logged (nil to disable).
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
-- CMake variables ---------------------------------------------------
|
|
57
|
+
variables = {
|
|
58
|
+
--- Install defaults
|
|
59
|
+
INSTALL_BIN = "bin",
|
|
60
|
+
INSTALL_LIB = "lib",
|
|
61
|
+
INSTALL_INC = "include",
|
|
62
|
+
INSTALL_ETC = "etc",
|
|
63
|
+
INSTALL_LMOD = "lib/lua",
|
|
64
|
+
INSTALL_CMOD = "lib/lua",
|
|
65
|
+
|
|
66
|
+
--- LuaDist specific variables
|
|
67
|
+
DIST_VERSION = version,
|
|
68
|
+
DIST_ARCH = arch,
|
|
69
|
+
DIST_TYPE = type,
|
|
70
|
+
|
|
71
|
+
-- CMake specific setup
|
|
72
|
+
CMAKE_GENERATOR = "MinGW Makefiles",
|
|
73
|
+
CMAKE_BUILD_TYPE = "MinSizeRel",
|
|
74
|
+
|
|
75
|
+
-- RPath functionality
|
|
76
|
+
CMAKE_SKIP_BUILD_RPATH = "FALSE",
|
|
77
|
+
CMAKE_BUILD_WITH_INSTALL_RPATH = "FALSE",
|
|
78
|
+
CMAKE_INSTALL_RPATH = "$ORIGIN/../lib",
|
|
79
|
+
CMAKE_INSTALL_RPATH_USE_LINK_PATH = "TRUE",
|
|
80
|
+
CMAKE_INSTALL_NAME_DIR = "@executable_path/../lib",
|
|
81
|
+
|
|
82
|
+
-- OSX specific
|
|
83
|
+
CMAKE_OSX_ARCHITECTURES = "",
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
-- Building ----------------------------------------------------------
|
|
87
|
+
cmake = "cmake"
|
|
88
|
+
ctest = "ctest"
|
|
89
|
+
|
|
90
|
+
cache_command = cmake .. " -C cache.cmake"
|
|
91
|
+
build_command = cmake .. " --build . --clean-first"
|
|
92
|
+
|
|
93
|
+
install_component_command = " -DCOMPONENT=#COMPONENT# -P cmake_install.cmake"
|
|
94
|
+
|
|
95
|
+
test_command = ctest .. " -V ."
|
|
96
|
+
|
|
97
|
+
strip_option = " -DCMAKE_INSTALL_DO_STRIP=true"
|
|
98
|
+
cache_debug_options = "-DCMAKE_VERBOSE_MAKEFILE=true -DCMAKE_BUILD_TYPE=Debug"
|
|
99
|
+
build_debug_options = ""
|
|
100
|
+
|
|
101
|
+
-- Add -j option to make in case of unix makefiles to speed up builds
|
|
102
|
+
if (variables.CMAKE_GENERATOR == "Unix Makefiles") then
|
|
103
|
+
build_command = build_command .. " -- -j6"
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
-- Add -j option to make in case of MinGW makefiles to speed up builds
|
|
107
|
+
if (variables.CMAKE_GENERATOR == "MinGW Makefiles") then
|
|
108
|
+
build_command = "set SHELL=cmd.exe && " .. build_command .. " -- -j"
|
|
109
|
+
end
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
-- Note: the code of this module is borrowed from the original LuaDist project
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
--- LuaDist version constraints functions
|
|
6
|
+
-- Peter Drahoš, LuaDist Project, 2010
|
|
7
|
+
-- Original Code borrowed from LuaRocks Project
|
|
8
|
+
|
|
9
|
+
--- Version constraints handling functions.
|
|
10
|
+
-- Dependencies are represented in LuaDist through strings with
|
|
11
|
+
-- a dist name followed by a comma-separated list of constraints.
|
|
12
|
+
-- Each constraint consists of an operator and a version number.
|
|
13
|
+
-- In this string format, version numbers are represented as
|
|
14
|
+
-- naturally as possible, like they are used by upstream projects
|
|
15
|
+
-- (e.g. "2.0beta3"). Internally, LuaDist converts them to a purely
|
|
16
|
+
-- numeric representation, allowing comparison following some
|
|
17
|
+
-- "common sense" heuristics. The precise specification of the
|
|
18
|
+
-- comparison criteria is the source code of this module, but the
|
|
19
|
+
-- test/test_deps.lua file included with LuaDist provides some
|
|
20
|
+
-- insights on what these criteria are.
|
|
21
|
+
|
|
22
|
+
module ("dist.constraints", package.seeall)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
local operators = {
|
|
26
|
+
["=="] = "==",
|
|
27
|
+
["~="] = "~=",
|
|
28
|
+
[">"] = ">",
|
|
29
|
+
["<"] = "<",
|
|
30
|
+
[">="] = ">=",
|
|
31
|
+
["<="] = "<=",
|
|
32
|
+
["~>"] = "~>",
|
|
33
|
+
-- plus some convenience translations
|
|
34
|
+
[""] = "==",
|
|
35
|
+
["-"] = "==",
|
|
36
|
+
["="] = "==",
|
|
37
|
+
["!="] = "~="
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
local deltas = {
|
|
41
|
+
scm = -100,
|
|
42
|
+
rc = -1000,
|
|
43
|
+
pre = -10000,
|
|
44
|
+
beta = -100000,
|
|
45
|
+
alpha = -1000000,
|
|
46
|
+
work = -10000000,
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
local version_mt = {
|
|
50
|
+
--- Equality comparison for versions.
|
|
51
|
+
-- All version numbers must be equal.
|
|
52
|
+
-- If both versions have revision numbers, they must be equal;
|
|
53
|
+
-- otherwise the revision number is ignored.
|
|
54
|
+
-- @param v1 table: version table to compare.
|
|
55
|
+
-- @param v2 table: version table to compare.
|
|
56
|
+
-- @return boolean: true if they are considered equivalent.
|
|
57
|
+
__eq = function(v1, v2)
|
|
58
|
+
if #v1 ~= #v2 then
|
|
59
|
+
return false
|
|
60
|
+
end
|
|
61
|
+
for i = 1, #v1 do
|
|
62
|
+
if v1[i] ~= v2[i] then
|
|
63
|
+
return false
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
if v1.revision and v2.revision then
|
|
67
|
+
return (v1.revision == v2.revision)
|
|
68
|
+
end
|
|
69
|
+
return true
|
|
70
|
+
end,
|
|
71
|
+
--- Size comparison for versions.
|
|
72
|
+
-- All version numbers are compared.
|
|
73
|
+
-- If both versions have revision numbers, they are compared;
|
|
74
|
+
-- otherwise the revision number is ignored.
|
|
75
|
+
-- @param v1 table: version table to compare.
|
|
76
|
+
-- @param v2 table: version table to compare.
|
|
77
|
+
-- @return boolean: true if v1 is considered lower than v2.
|
|
78
|
+
__lt = function(v1, v2)
|
|
79
|
+
for i = 1, math.max(#v1, #v2) do
|
|
80
|
+
local v1i, v2i = v1[i] or 0, v2[i] or 0
|
|
81
|
+
if v1i ~= v2i then
|
|
82
|
+
return (v1i < v2i)
|
|
83
|
+
end
|
|
84
|
+
end
|
|
85
|
+
if v1.revision and v2.revision then
|
|
86
|
+
return (v1.revision < v2.revision)
|
|
87
|
+
end
|
|
88
|
+
return false
|
|
89
|
+
end
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
local version_cache = {}
|
|
93
|
+
setmetatable(version_cache, {
|
|
94
|
+
__mode = "kv"
|
|
95
|
+
})
|
|
96
|
+
|
|
97
|
+
--- Parse a version string, converting to table format.
|
|
98
|
+
-- A version table contains all components of the version string
|
|
99
|
+
-- converted to numeric format, stored in the array part of the table.
|
|
100
|
+
-- If the version contains a revision, it is stored numerically
|
|
101
|
+
-- in the 'revision' field. The original string representation of
|
|
102
|
+
-- the string is preserved in the 'string' field.
|
|
103
|
+
-- Returned version tables use a metatable
|
|
104
|
+
-- allowing later comparison through relational operators.
|
|
105
|
+
-- @param vstring string: A version number in string format.
|
|
106
|
+
-- @return table or nil: A version table or nil
|
|
107
|
+
-- if the input string contains invalid characters.
|
|
108
|
+
function parseVersion(vstring)
|
|
109
|
+
if not vstring then return nil end
|
|
110
|
+
assert(type(vstring) == "string")
|
|
111
|
+
|
|
112
|
+
local cached = version_cache[vstring]
|
|
113
|
+
if cached then
|
|
114
|
+
return cached
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
local version = {}
|
|
118
|
+
local i = 1
|
|
119
|
+
|
|
120
|
+
local function add_token(number)
|
|
121
|
+
version[i] = version[i] and version[i] + number/100000 or number
|
|
122
|
+
i = i + 1
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
-- trim leading and trailing spaces
|
|
126
|
+
vstring = vstring:match("^%s*(.*)%s*$")
|
|
127
|
+
version.string = vstring
|
|
128
|
+
-- store revision separately if any
|
|
129
|
+
local main, revision = vstring:match("(.*)%-(%d+)$")
|
|
130
|
+
if revision then
|
|
131
|
+
vstring = main
|
|
132
|
+
version.revision = tonumber(revision)
|
|
133
|
+
end
|
|
134
|
+
while #vstring > 0 do
|
|
135
|
+
-- extract a number
|
|
136
|
+
local token, rest = vstring:match("^(%d+)[%.%-%_]*(.*)")
|
|
137
|
+
if token then
|
|
138
|
+
add_token(tonumber(token))
|
|
139
|
+
else
|
|
140
|
+
-- extract a word
|
|
141
|
+
token, rest = vstring:match("^(%a+)[%.%-%_]*(.*)")
|
|
142
|
+
if not token then
|
|
143
|
+
return nil
|
|
144
|
+
end
|
|
145
|
+
local last = #version
|
|
146
|
+
version[i] = deltas[token] or (token:byte() / 1000)
|
|
147
|
+
end
|
|
148
|
+
vstring = rest
|
|
149
|
+
end
|
|
150
|
+
setmetatable(version, version_mt)
|
|
151
|
+
version_cache[vstring] = version
|
|
152
|
+
return version
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
--- Utility function to compare version numbers given as strings.
|
|
156
|
+
-- @param a string: one version.
|
|
157
|
+
-- @param b string: another version.
|
|
158
|
+
-- @return boolean: True if a > b.
|
|
159
|
+
function compareVersions(a, b)
|
|
160
|
+
return parseVersion(a) > parseVersion(b)
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
--- Consumes a constraint from a string, converting it to table format.
|
|
164
|
+
-- For example, a string ">= 1.0, > 2.0" is converted to a table in the
|
|
165
|
+
-- format {op = ">=", version={1,0}} and the rest, "> 2.0", is returned
|
|
166
|
+
-- back to the caller.
|
|
167
|
+
-- @param input string: A list of constraints in string format.
|
|
168
|
+
-- @return (table, string) or nil: A table representing the same
|
|
169
|
+
-- constraints and the string with the unused input, or nil if the
|
|
170
|
+
-- input string is invalid.
|
|
171
|
+
local function parseConstraint(input)
|
|
172
|
+
assert(type(input) == "string")
|
|
173
|
+
|
|
174
|
+
local op, version, rest = input:match("^([<>=~!]*)%s*([%w%.%_%-]+)[%s,]*(.*)")
|
|
175
|
+
op = operators[op]
|
|
176
|
+
version = parseVersion(version)
|
|
177
|
+
if not op or not version then return nil end
|
|
178
|
+
return { op = op, version = version }, rest
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
--- Convert a list of constraints from string to table format.
|
|
182
|
+
-- For example, a string ">= 1.0, < 2.0" is converted to a table in the format
|
|
183
|
+
-- {{op = ">=", version={1,0}}, {op = "<", version={2,0}}}.
|
|
184
|
+
-- Version tables use a metatable allowing later comparison through
|
|
185
|
+
-- relational operators.
|
|
186
|
+
-- @param input string: A list of constraints in string format.
|
|
187
|
+
-- @return table or nil: A table representing the same constraints,
|
|
188
|
+
-- or nil if the input string is invalid.
|
|
189
|
+
function parseConstraints(input)
|
|
190
|
+
assert(type(input) == "string")
|
|
191
|
+
|
|
192
|
+
local constraints, constraint = {}, nil
|
|
193
|
+
while #input > 0 do
|
|
194
|
+
constraint, input = parseConstraint(input)
|
|
195
|
+
if constraint then
|
|
196
|
+
table.insert(constraints, constraint)
|
|
197
|
+
else
|
|
198
|
+
return nil
|
|
199
|
+
end
|
|
200
|
+
end
|
|
201
|
+
return constraints
|
|
202
|
+
end
|
|
203
|
+
|
|
204
|
+
--- A more lenient check for equivalence between versions.
|
|
205
|
+
-- This returns true if the requested components of a version
|
|
206
|
+
-- match and ignore the ones that were not given. For example,
|
|
207
|
+
-- when requesting "2", then "2", "2.1", "2.3.5-9"... all match.
|
|
208
|
+
-- When requesting "2.1", then "2.1", "2.1.3" match, but "2.2"
|
|
209
|
+
-- doesn't.
|
|
210
|
+
-- @param version string or table: Version to be tested; may be
|
|
211
|
+
-- in string format or already parsed into a table.
|
|
212
|
+
-- @param requested string or table: Version requested; may be
|
|
213
|
+
-- in string format or already parsed into a table.
|
|
214
|
+
-- @return boolean: True if the tested version matches the requested
|
|
215
|
+
-- version, false otherwise.
|
|
216
|
+
local function partialMatch(version, requested)
|
|
217
|
+
assert(type(version) == "string" or type(version) == "table")
|
|
218
|
+
assert(type(requested) == "string" or type(version) == "table")
|
|
219
|
+
|
|
220
|
+
if type(version) ~= "table" then version = parseVersion(version) end
|
|
221
|
+
if type(requested) ~= "table" then requested = parseVersion(requested) end
|
|
222
|
+
if not version or not requested then return false end
|
|
223
|
+
|
|
224
|
+
for i = 1, #requested do
|
|
225
|
+
if requested[i] ~= version[i] then return false end
|
|
226
|
+
end
|
|
227
|
+
if requested.revision then
|
|
228
|
+
return requested.revision == version.revision
|
|
229
|
+
end
|
|
230
|
+
return true
|
|
231
|
+
end
|
|
232
|
+
|
|
233
|
+
--- Check if a version satisfies a set of constraints.
|
|
234
|
+
-- @param version table: A version in table format
|
|
235
|
+
-- @param constraints table: An array of constraints in table format.
|
|
236
|
+
-- @return boolean: True if version satisfies all constraints,
|
|
237
|
+
-- false otherwise.
|
|
238
|
+
function matchConstraints(version, constraints)
|
|
239
|
+
assert(type(version) == "table")
|
|
240
|
+
assert(type(constraints) == "table")
|
|
241
|
+
local ok = true
|
|
242
|
+
setmetatable(version, version_mt)
|
|
243
|
+
for _, constr in pairs(constraints) do
|
|
244
|
+
local constr_version = constr.version
|
|
245
|
+
setmetatable(constr.version, version_mt)
|
|
246
|
+
if constr.op == "==" then ok = version == constr_version
|
|
247
|
+
elseif constr.op == "~=" then ok = version ~= constr_version
|
|
248
|
+
elseif constr.op == ">" then ok = version > constr_version
|
|
249
|
+
elseif constr.op == "<" then ok = version < constr_version
|
|
250
|
+
elseif constr.op == ">=" then ok = version >= constr_version
|
|
251
|
+
elseif constr.op == "<=" then ok = version <= constr_version
|
|
252
|
+
elseif constr.op == "~>" then ok = partialMatch(version, constr_version)
|
|
253
|
+
end
|
|
254
|
+
if not ok then break end
|
|
255
|
+
end
|
|
256
|
+
return ok
|
|
257
|
+
end
|
|
258
|
+
|
|
259
|
+
--- Check if a version string is satisfied by a constraint string.
|
|
260
|
+
-- @param version string: A version in string format
|
|
261
|
+
-- @param constraints string: Constraints in string format.
|
|
262
|
+
-- @return boolean: True if version satisfies all constraints,
|
|
263
|
+
-- false otherwise.
|
|
264
|
+
function constraint_satisfied(version, constraints)
|
|
265
|
+
local const = parseConstraints(constraints)
|
|
266
|
+
local ver = parseVersion(version)
|
|
267
|
+
if const and ver then
|
|
268
|
+
return matchConstraints(ver, const)
|
|
269
|
+
end
|
|
270
|
+
return nil, "Error parsing versions."
|
|
271
|
+
end
|