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,307 @@
|
|
|
1
|
+
-- Encapsulated Git functionality
|
|
2
|
+
|
|
3
|
+
module ("dist.git", package.seeall)
|
|
4
|
+
|
|
5
|
+
require "git"
|
|
6
|
+
local sys = require "dist.sys"
|
|
7
|
+
local cfg = require "dist.config"
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
-- Clone the repository from url to dest_dir
|
|
11
|
+
function clone(repository_url, dest_dir, depth, branch)
|
|
12
|
+
assert(type(repository_url) == "string", "git.clone: Argument 'repository_url' is not a string.")
|
|
13
|
+
assert(type(dest_dir) == "string", "git.clone: Argument 'dest_dir' is not a string.")
|
|
14
|
+
dest_dir = sys.abs_path(dest_dir)
|
|
15
|
+
|
|
16
|
+
local command = "git clone " .. repository_url
|
|
17
|
+
|
|
18
|
+
if depth then
|
|
19
|
+
assert(type(depth) == "number", "git.clone: Argument 'depth' is not a number.")
|
|
20
|
+
command = command .. " --depth " .. depth
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
if branch then
|
|
24
|
+
assert(type(branch) == "string", "git.clone: Argument 'branch' is not a string.")
|
|
25
|
+
command = command .. " -b " .. branch
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
command = command .. " " .. sys.quote(dest_dir)
|
|
29
|
+
if sys.exists(dest_dir) then sys.delete(dest_dir) end
|
|
30
|
+
sys.make_dir(dest_dir)
|
|
31
|
+
|
|
32
|
+
-- change the current working directory to dest_dir
|
|
33
|
+
local prev_current_dir = sys.current_dir()
|
|
34
|
+
sys.change_dir(dest_dir)
|
|
35
|
+
|
|
36
|
+
-- execute git clone
|
|
37
|
+
if not cfg.debug then command = command .. " -q " end
|
|
38
|
+
local ok, err = sys.exec(command)
|
|
39
|
+
|
|
40
|
+
-- change the current working directory back
|
|
41
|
+
sys.change_dir(prev_current_dir)
|
|
42
|
+
|
|
43
|
+
return ok, err
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
-- Return table of all refs of the remote repository at the 'git_url'. Ref_type can be "tags" or "heads".
|
|
47
|
+
local function get_remote_refs(git_url, ref_type)
|
|
48
|
+
assert(type(git_url) == "string", "git.get_remote_refs: Argument 'git_url' is not a string.")
|
|
49
|
+
assert(type(ref_type) == "string", "git.get_remote_refs: Argument 'ref_type' is not a string.")
|
|
50
|
+
assert(ref_type == "tags" or ref_type == "heads", "git.get_remote_refs: Argument 'ref_type' is not \"tags\" or \"heads\".")
|
|
51
|
+
|
|
52
|
+
local refs = {}
|
|
53
|
+
|
|
54
|
+
local ok, refs_or_err = pcall(git.protocol.remotes, git_url)
|
|
55
|
+
if not ok then return nil, "Error getting refs of the remote repository '" .. git_url .. "': " .. refs_or_err end
|
|
56
|
+
|
|
57
|
+
for ref, sha in pairs(refs_or_err) do
|
|
58
|
+
if ref:match("%S+/" .. ref_type .. "/%S+") and not ref:match("%^{}") then
|
|
59
|
+
table.insert(refs, ref:match("%S+/" .. ref_type .. "/(%S+)"))
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
return refs
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
-- Return table of all tags of the repository at the 'git_url'
|
|
67
|
+
function get_remote_tags(git_url)
|
|
68
|
+
return get_remote_refs(git_url, "tags")
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
-- Return table of all branches of the repository at the 'git_url'
|
|
72
|
+
function get_remote_branches(git_url)
|
|
73
|
+
return get_remote_refs(git_url, "heads")
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
-- Checkout specified ref in specified git_repo_dir
|
|
77
|
+
function checkout_ref(ref, git_repo_dir, orphaned)
|
|
78
|
+
git_repo_dir = git_repo_dir or sys.current_dir()
|
|
79
|
+
orphaned = orphaned or false
|
|
80
|
+
assert(type(ref) == "string", "git.checkout_ref: Argument 'ref' is not a string.")
|
|
81
|
+
assert(type(git_repo_dir) == "string", "git.checkout_ref: Argument 'git_repo_dir' is not a string.")
|
|
82
|
+
assert(type(orphaned) == "boolean", "git.checkout_ref: Argument 'orphaned' is not a boolean.")
|
|
83
|
+
git_repo_dir = sys.abs_path(git_repo_dir)
|
|
84
|
+
|
|
85
|
+
local command = "git checkout "
|
|
86
|
+
if orphaned then command = command .. " --orphan " end
|
|
87
|
+
command = command .. " " .. ref .. " -f"
|
|
88
|
+
if not cfg.debug then command = command .. " -q " end
|
|
89
|
+
|
|
90
|
+
local ok, err
|
|
91
|
+
if git_repo_dir ~= sys.current_dir() then
|
|
92
|
+
local prev_current_dir = sys.current_dir()
|
|
93
|
+
sys.change_dir(git_repo_dir)
|
|
94
|
+
ok, err = sys.exec(command)
|
|
95
|
+
sys.change_dir(prev_current_dir)
|
|
96
|
+
else
|
|
97
|
+
ok, err = sys.exec(command)
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
return ok, err
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
-- Checkout specified sha in specified git_repo_dir
|
|
104
|
+
function checkout_sha(sha, git_repo_dir)
|
|
105
|
+
git_repo_dir = git_repo_dir or sys.current_dir()
|
|
106
|
+
assert(type(sha) == "string", "git.checkout_sha: Argument 'sha' is not a string.")
|
|
107
|
+
assert(type(git_repo_dir) == "string", "git.checkout_sha: Argument 'git_repo_dir' is not a string.")
|
|
108
|
+
git_repo_dir = sys.abs_path(git_repo_dir)
|
|
109
|
+
|
|
110
|
+
local dir_changed, prev_current_dir
|
|
111
|
+
|
|
112
|
+
if git_repo_dir ~= sys.current_dir() then
|
|
113
|
+
prev_current_dir = sys.current_dir()
|
|
114
|
+
sys.change_dir(git_repo_dir)
|
|
115
|
+
dir_changed = true
|
|
116
|
+
end
|
|
117
|
+
|
|
118
|
+
local ok, repo_or_err = pcall(git.repo.open, git_repo_dir)
|
|
119
|
+
if not ok then return nil, "Error when opening the git repository '" .. git_repo_dir .. "': " .. repo_or_err end
|
|
120
|
+
|
|
121
|
+
local err
|
|
122
|
+
ok, err = pcall(repo_or_err.checkout, repo_or_err, sha, git_repo_dir)
|
|
123
|
+
if not ok then return nil, "Error when checking out the sha '" .. sha .. "' in the git repository '" .. git_repo_dir .. "': " .. err end
|
|
124
|
+
|
|
125
|
+
repo_or_err:close()
|
|
126
|
+
if dir_changed then sys.change_dir(prev_current_dir) end
|
|
127
|
+
|
|
128
|
+
return true
|
|
129
|
+
end
|
|
130
|
+
|
|
131
|
+
-- Create an empty git repository in given directory.
|
|
132
|
+
function init(dir)
|
|
133
|
+
dir = dir or sys.current_dir()
|
|
134
|
+
assert(type(dir) == "string", "git.init: Argument 'dir' is not a string.")
|
|
135
|
+
dir = sys.abs_path(dir)
|
|
136
|
+
|
|
137
|
+
-- create the 'dir' first, since it causes 'git init' to fail on Windows
|
|
138
|
+
-- when the parent directory of 'dir' doesn't exist
|
|
139
|
+
local ok, err = sys.make_dir(dir)
|
|
140
|
+
if not ok then return nil, err end
|
|
141
|
+
|
|
142
|
+
local command = "git init " .. dir
|
|
143
|
+
if not cfg.debug then command = command .. " -q " end
|
|
144
|
+
return sys.exec(command)
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
-- Add all files in the 'repo_dir' to the git index. The 'repo_dir' must be
|
|
148
|
+
-- in the initialized git repository.
|
|
149
|
+
function add_all(repo_dir)
|
|
150
|
+
repo_dir = repo_dir or sys.current_dir()
|
|
151
|
+
assert(type(repo_dir) == "string", "git.add_all: Argument 'repo_dir' is not a string.")
|
|
152
|
+
repo_dir = sys.abs_path(repo_dir)
|
|
153
|
+
|
|
154
|
+
local ok, prev_dir, msg
|
|
155
|
+
ok, prev_dir = sys.change_dir(repo_dir);
|
|
156
|
+
if not ok then return nil, err end
|
|
157
|
+
|
|
158
|
+
ok, msg = sys.exec("git add -A -f " .. repo_dir)
|
|
159
|
+
sys.change_dir(prev_dir)
|
|
160
|
+
|
|
161
|
+
return ok, msg
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
-- Commit all indexed files in 'repo_dir' with the given commit 'message'.
|
|
165
|
+
-- The 'repo_dir' must be in the initialized git repository.
|
|
166
|
+
function commit(message, repo_dir)
|
|
167
|
+
repo_dir = repo_dir or sys.current_dir()
|
|
168
|
+
message = message or "commit by luadist-git"
|
|
169
|
+
message = sys.quote(message)
|
|
170
|
+
assert(type(message) == "string", "git.commit: Argument 'message' is not a string.")
|
|
171
|
+
assert(type(repo_dir) == "string", "git.commit: Argument 'repo_dir' is not a string.")
|
|
172
|
+
repo_dir = sys.abs_path(repo_dir)
|
|
173
|
+
|
|
174
|
+
local ok, prev_dir, msg
|
|
175
|
+
ok, prev_dir = sys.change_dir(repo_dir);
|
|
176
|
+
if not ok then return nil, err end
|
|
177
|
+
|
|
178
|
+
local command = "git commit -m " .. message
|
|
179
|
+
if not cfg.debug then command = command .. " -q " end
|
|
180
|
+
ok, msg = sys.exec(command)
|
|
181
|
+
sys.change_dir(prev_dir)
|
|
182
|
+
|
|
183
|
+
return ok, msg
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
-- Rename branch 'old_name' to 'new_name'. -- The 'repo_dir' must be
|
|
188
|
+
-- in the initialized git repository and the branch 'new_name' must
|
|
189
|
+
-- not already exist in that repository.
|
|
190
|
+
function rename_branch(old_name, new_name, repo_dir)
|
|
191
|
+
repo_dir = repo_dir or sys.current_dir()
|
|
192
|
+
assert(type(old_name) == "string", "git.rename_branch: Argument 'old_name' is not a string.")
|
|
193
|
+
assert(type(new_name) == "string", "git.rename_branch: Argument 'new_name' is not a string.")
|
|
194
|
+
assert(type(repo_dir) == "string", "git.rename_branch: Argument 'repo_dir' is not a string.")
|
|
195
|
+
repo_dir = sys.abs_path(repo_dir)
|
|
196
|
+
|
|
197
|
+
local ok, prev_dir, msg
|
|
198
|
+
ok, prev_dir = sys.change_dir(repo_dir);
|
|
199
|
+
if not ok then return nil, err end
|
|
200
|
+
|
|
201
|
+
ok, msg = sys.exec("git branch -m " .. old_name .. " " .. new_name)
|
|
202
|
+
sys.change_dir(prev_dir)
|
|
203
|
+
|
|
204
|
+
return ok, msg
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
-- Push the ref 'ref_name' from the 'repo_dir' to the remote git
|
|
208
|
+
-- repository 'git_repo_url'. If 'all_tags' is set to true, all tags
|
|
209
|
+
-- will be pushed, in addition to the explicitly given ref.
|
|
210
|
+
-- If 'delete' is set to 'true' then the explicitly given remote ref
|
|
211
|
+
-- will be deleted, not pushed.
|
|
212
|
+
function push_ref(repo_dir, ref_name, git_repo_url, all_tags, delete)
|
|
213
|
+
repo_dir = repo_dir or sys.current_dir()
|
|
214
|
+
all_tags = all_tags or false
|
|
215
|
+
delete = delete or false
|
|
216
|
+
assert(type(repo_dir) == "string", "git.push_ref: Argument 'repo_dir' is not a string.")
|
|
217
|
+
assert(type(git_repo_url) == "string", "git.push_ref: Argument 'git_repo_url' is not a string.")
|
|
218
|
+
assert(type(ref_name) == "string", "git.push_ref: Argument 'ref_name' is not a string.")
|
|
219
|
+
assert(type(all_tags) == "boolean", "git.push_ref: Argument 'all_tags' is not a boolean.")
|
|
220
|
+
assert(type(delete) == "boolean", "git.push_ref: Argument 'delete' is not a boolean.")
|
|
221
|
+
repo_dir = sys.abs_path(repo_dir)
|
|
222
|
+
|
|
223
|
+
local ok, prev_dir, msg
|
|
224
|
+
ok, prev_dir = sys.change_dir(repo_dir);
|
|
225
|
+
if not ok then return nil, err end
|
|
226
|
+
|
|
227
|
+
local command = "git push " .. git_repo_url
|
|
228
|
+
if all_tags then command = command .. " --tags " end
|
|
229
|
+
if delete then command = command .. " --delete " end
|
|
230
|
+
command = command .. " " .. ref_name .. " -f "
|
|
231
|
+
if not cfg.debug then command = command .. " -q " end
|
|
232
|
+
|
|
233
|
+
ok, msg = sys.exec(command)
|
|
234
|
+
sys.change_dir(prev_dir)
|
|
235
|
+
|
|
236
|
+
return ok, msg
|
|
237
|
+
end
|
|
238
|
+
|
|
239
|
+
-- Creates the tag 'tag_name' in given 'repo_dir', which must be
|
|
240
|
+
-- in the initialized git repository
|
|
241
|
+
function create_tag(repo_dir, tag_name)
|
|
242
|
+
repo_dir = repo_dir or sys.current_dir()
|
|
243
|
+
assert(type(repo_dir) == "string", "git.create_tag: Argument 'repo_dir' is not a string.")
|
|
244
|
+
assert(type(tag_name) == "string", "git.create_tag: Argument 'tag_name' is not a string.")
|
|
245
|
+
repo_dir = sys.abs_path(repo_dir)
|
|
246
|
+
|
|
247
|
+
local ok, prev_dir, msg
|
|
248
|
+
ok, prev_dir = sys.change_dir(repo_dir);
|
|
249
|
+
if not ok then return nil, err end
|
|
250
|
+
|
|
251
|
+
ok, msg = sys.exec("git tag " .. tag_name .. " -f ")
|
|
252
|
+
sys.change_dir(prev_dir)
|
|
253
|
+
|
|
254
|
+
return ok, msg
|
|
255
|
+
end
|
|
256
|
+
|
|
257
|
+
-- Fetch given 'ref_name' from the remote 'git_repo_url' to the local repository
|
|
258
|
+
-- 'repo_dir' and return its sha. 'ref_type' can be "tag" or "head".
|
|
259
|
+
local function fetch_ref(repo_dir, git_repo_url, ref_name, ref_type)
|
|
260
|
+
repo_dir = repo_dir or sys.current_dir()
|
|
261
|
+
assert(type(repo_dir) == "string", "git.fetch_ref: Argument 'repo_dir' is not a string.")
|
|
262
|
+
assert(type(git_repo_url) == "string", "git.fetch_ref: Argument 'git_repo_url' is not a string.")
|
|
263
|
+
assert(type(ref_name) == "string", "git.fetch_ref: Argument 'ref_name' is not a string.")
|
|
264
|
+
assert(type(ref_type) == "string", "git.fetch_ref: Argument 'ref_type' is not a string.")
|
|
265
|
+
assert(ref_type == "tag" or ref_type == "head", "git.get_remote_refs: Argument 'ref_type' is not \"tag\" or \"head\".")
|
|
266
|
+
repo_dir = sys.abs_path(repo_dir)
|
|
267
|
+
|
|
268
|
+
local refstring = "refs/" .. ref_type .. "s/" .. ref_name
|
|
269
|
+
|
|
270
|
+
local suppress_fetch_progress = not cfg.debug
|
|
271
|
+
local ok, repo_or_err = pcall(git.repo.open, repo_dir)
|
|
272
|
+
if not ok then return nil, "Error when opening the git repository '" .. repo_dir .. "': " .. repo_or_err end
|
|
273
|
+
|
|
274
|
+
local ok, pack_or_err, sha = pcall(git.protocol.fetch, git_repo_url, repo_or_err, refstring, suppress_fetch_progress)
|
|
275
|
+
if not ok then return nil, "Error when fetching ref '" .. refstring .. "' from git repository '" .. git_repo_url .. "': " .. pack_or_err end
|
|
276
|
+
|
|
277
|
+
repo_or_err:close()
|
|
278
|
+
pack_or_err:close()
|
|
279
|
+
|
|
280
|
+
return sha
|
|
281
|
+
end
|
|
282
|
+
|
|
283
|
+
-- Fetch given 'tag_name' from the remote 'git_repo_url' to the local repository
|
|
284
|
+
-- 'repo_dir' and save it as a tag with the same 'tag_name'.
|
|
285
|
+
function fetch_tag(repo_dir, git_repo_url, tag_name)
|
|
286
|
+
return fetch_ref(repo_dir, git_repo_url, tag_name, "tag")
|
|
287
|
+
end
|
|
288
|
+
|
|
289
|
+
-- Fetch given 'branch_name' from the remote 'git_repo_url' to the local repository
|
|
290
|
+
-- 'repo_dir' and save it as a branch with the same 'branch_name'.
|
|
291
|
+
function fetch_branch(repo_dir, git_repo_url, branch_name)
|
|
292
|
+
return fetch_ref(repo_dir, git_repo_url, branch_name, "head")
|
|
293
|
+
end
|
|
294
|
+
|
|
295
|
+
-- Create the git repository and return the repo object (which can be used in checkout_sha etc.)
|
|
296
|
+
-- If the 'dir' exists, it's deleted prior to creating the git repository.
|
|
297
|
+
function create_repo(dir)
|
|
298
|
+
assert(type(dir) == "string", "git.create_repo: Argument 'dir' is not a string.")
|
|
299
|
+
|
|
300
|
+
if sys.exists(dir) then sys.delete(dir) end
|
|
301
|
+
|
|
302
|
+
local ok, repo_or_err = pcall(git.repo.create, dir)
|
|
303
|
+
if not ok then return nil, "Error when creating the git repository '" .. dir .. "': " .. repo_or_err end
|
|
304
|
+
|
|
305
|
+
repo_or_err:close()
|
|
306
|
+
return true
|
|
307
|
+
end
|
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
-- main API of LuaDist
|
|
2
|
+
|
|
3
|
+
module ("dist", package.seeall)
|
|
4
|
+
|
|
5
|
+
local cfg = require "dist.config"
|
|
6
|
+
local depends = require "dist.depends"
|
|
7
|
+
local git = require "dist.git"
|
|
8
|
+
local sys = require "dist.sys"
|
|
9
|
+
local package = require "dist.package"
|
|
10
|
+
local mf = require "dist.manifest"
|
|
11
|
+
|
|
12
|
+
-- Return the deployment directory.
|
|
13
|
+
function get_deploy_dir()
|
|
14
|
+
return sys.abs_path(cfg.root_dir)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
-- Return packages deployed in 'deploy_dir' also with their provides.
|
|
18
|
+
function get_deployed(deploy_dir)
|
|
19
|
+
deploy_dir = deploy_dir or cfg.root_dir
|
|
20
|
+
assert(type(deploy_dir) == "string", "dist.get_deployed: Argument 'deploy_dir' is not a string.")
|
|
21
|
+
deploy_dir = sys.abs_path(deploy_dir)
|
|
22
|
+
|
|
23
|
+
local deployed = depends.get_installed(deploy_dir)
|
|
24
|
+
local provided = {}
|
|
25
|
+
|
|
26
|
+
for _, pkg in pairs(deployed) do
|
|
27
|
+
for _, provided_pkg in pairs(depends.get_provides(pkg)) do
|
|
28
|
+
provided_pkg.provided_by = pkg.name .. "-" .. pkg.version
|
|
29
|
+
table.insert(provided, provided_pkg)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
for _, provided_pkg in pairs(provided) do
|
|
34
|
+
table.insert(deployed, provided_pkg)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
deployed = depends.sort_by_names(deployed)
|
|
38
|
+
return deployed
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
-- Download new 'manifest_file' from repository and returns it.
|
|
42
|
+
-- Return nil and error message on error.
|
|
43
|
+
function update_manifest(deploy_dir)
|
|
44
|
+
deploy_dir = deploy_dir or cfg.root_dir
|
|
45
|
+
assert(type(deploy_dir) == "string", "dist.update_manifest: Argument 'deploy_dir' is not a string.")
|
|
46
|
+
deploy_dir = sys.abs_path(deploy_dir)
|
|
47
|
+
|
|
48
|
+
-- TODO: use 'deploy_dir' argument in manifest functions
|
|
49
|
+
|
|
50
|
+
-- retrieve the new manifest (forcing no cache use)
|
|
51
|
+
local manifest, err = mf.get_manifest(nil, true)
|
|
52
|
+
|
|
53
|
+
if manifest then
|
|
54
|
+
return manifest
|
|
55
|
+
else
|
|
56
|
+
return nil, err
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
-- Install 'package_names' to 'deploy_dir', using optional CMake 'variables'.
|
|
61
|
+
function install(package_names, deploy_dir, variables)
|
|
62
|
+
if not package_names then return true end
|
|
63
|
+
deploy_dir = deploy_dir or cfg.root_dir
|
|
64
|
+
if type(package_names) == "string" then package_names = {package_names} end
|
|
65
|
+
|
|
66
|
+
assert(type(package_names) == "table", "dist.install: Argument 'package_names' is not a table or string.")
|
|
67
|
+
assert(type(deploy_dir) == "string", "dist.install: Argument 'deploy_dir' is not a string.")
|
|
68
|
+
deploy_dir = sys.abs_path(deploy_dir)
|
|
69
|
+
|
|
70
|
+
-- find installed packages
|
|
71
|
+
local installed = depends.get_installed(deploy_dir)
|
|
72
|
+
|
|
73
|
+
-- get manifest
|
|
74
|
+
local manifest, err = mf.get_manifest()
|
|
75
|
+
if not manifest then return nil, "Error getting manifest: " .. err end
|
|
76
|
+
|
|
77
|
+
-- resolve dependencies
|
|
78
|
+
local dependencies, err = depends.get_depends(package_names, installed, manifest, false, false, deploy_dir)
|
|
79
|
+
if err then return nil, err end
|
|
80
|
+
if #dependencies == 0 then return nil, "No packages to install." end
|
|
81
|
+
|
|
82
|
+
-- fetch the packages from repository
|
|
83
|
+
local dirs, err = package.fetch_pkgs(dependencies, sys.make_path(deploy_dir, cfg.temp_dir))
|
|
84
|
+
if not dirs then return nil, err end
|
|
85
|
+
|
|
86
|
+
-- install fetched packages
|
|
87
|
+
for _, dir in pairs(dirs) do
|
|
88
|
+
ok, err = package.install_pkg(dir, deploy_dir, variables, false)
|
|
89
|
+
if not ok then return nil, err end
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
return true
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
-- Manually deploy packages from 'package_paths' to 'deploy_dir', using optional
|
|
96
|
+
-- CMake 'variables'. The 'package_paths' are preserved (will not be deleted).
|
|
97
|
+
function make(deploy_dir, package_paths, variables)
|
|
98
|
+
deploy_dir = deploy_dir or cfg.root_dir
|
|
99
|
+
package_paths = package_paths or {}
|
|
100
|
+
|
|
101
|
+
assert(type(deploy_dir) == "string", "dist.make: Argument 'deploy_dir' is not a string.")
|
|
102
|
+
assert(type(package_paths) == "table", "dist.make: Argument 'package_paths' is not a table.")
|
|
103
|
+
deploy_dir = sys.abs_path(deploy_dir)
|
|
104
|
+
|
|
105
|
+
local ok, err
|
|
106
|
+
for _, path in pairs(package_paths) do
|
|
107
|
+
ok, err = package.install_pkg(sys.abs_path(path), deploy_dir, variables, true)
|
|
108
|
+
if not ok then return nil, err end
|
|
109
|
+
end
|
|
110
|
+
return ok
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
-- Remove 'package_names' from 'deploy_dir' and return the number of removed
|
|
114
|
+
-- packages.
|
|
115
|
+
function remove(package_names, deploy_dir)
|
|
116
|
+
deploy_dir = deploy_dir or cfg.root_dir
|
|
117
|
+
if type(package_names) == "string" then package_names = {package_names} end
|
|
118
|
+
|
|
119
|
+
assert(type(package_names) == "table", "dist.remove: Argument 'package_names' is not a string or table.")
|
|
120
|
+
assert(type(deploy_dir) == "string", "dist.remove: Argument 'deploy_dir' is not a string.")
|
|
121
|
+
deploy_dir = sys.abs_path(deploy_dir)
|
|
122
|
+
|
|
123
|
+
local pkgs_to_remove = {}
|
|
124
|
+
local installed = depends.get_installed(deploy_dir)
|
|
125
|
+
|
|
126
|
+
-- find packages to remove
|
|
127
|
+
if #package_names == 0 then
|
|
128
|
+
pkgs_to_remove = installed
|
|
129
|
+
else
|
|
130
|
+
pkgs_to_remove = depends.find_packages(package_names, installed)
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
-- remove them
|
|
134
|
+
for _, pkg in pairs(pkgs_to_remove) do
|
|
135
|
+
local pkg_distinfo_dir = sys.make_path(cfg.distinfos_dir, pkg.name .. "-" .. pkg.version)
|
|
136
|
+
local ok, err = package.remove_pkg(pkg_distinfo_dir, deploy_dir)
|
|
137
|
+
if not ok then return nil, err end
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
return #pkgs_to_remove
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
-- Download 'pkg_names' to 'fetch_dir'.
|
|
144
|
+
function fetch(pkg_names, fetch_dir)
|
|
145
|
+
fetch_dir = fetch_dir or sys.current_dir()
|
|
146
|
+
assert(type(pkg_names) == "table", "dist.fetch: Argument 'pkg_names' is not a string or table.")
|
|
147
|
+
assert(type(fetch_dir) == "string", "dist.fetch: Argument 'fetch_dir' is not a string.")
|
|
148
|
+
fetch_dir = sys.abs_path(fetch_dir)
|
|
149
|
+
|
|
150
|
+
local manifest = mf.get_manifest()
|
|
151
|
+
|
|
152
|
+
local pkgs_to_fetch = {}
|
|
153
|
+
|
|
154
|
+
for _, pkg_name in pairs(pkg_names) do
|
|
155
|
+
|
|
156
|
+
-- retrieve available versions
|
|
157
|
+
local versions, err = package.retrieve_versions(pkg_name, manifest)
|
|
158
|
+
if not versions then return nil, err end
|
|
159
|
+
for _, version in pairs(versions) do
|
|
160
|
+
table.insert(manifest, version)
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
local packages = depends.find_packages(pkg_name, manifest)
|
|
164
|
+
if #packages == 0 then return nil, "No packages found for '" .. pkg_name .. "'." end
|
|
165
|
+
|
|
166
|
+
packages = depends.sort_by_versions(packages)
|
|
167
|
+
table.insert(pkgs_to_fetch, packages[1])
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
local ok, err = package.fetch_pkgs(pkgs_to_fetch, fetch_dir)
|
|
171
|
+
|
|
172
|
+
if not ok then
|
|
173
|
+
return nil, err
|
|
174
|
+
else
|
|
175
|
+
return ok
|
|
176
|
+
end
|
|
177
|
+
end
|
|
178
|
+
|
|
179
|
+
-- Upload binary version of given modules installed in the specified
|
|
180
|
+
-- 'deploy_dir' to the repository specified by provided base url.
|
|
181
|
+
-- Return the number of uploaded packages.
|
|
182
|
+
--
|
|
183
|
+
-- Organization of uploaded modules and their repositories is subject
|
|
184
|
+
-- to the following conventions:
|
|
185
|
+
-- - destination repository is: 'DEST_GIT_BASE_URL/MODULE_NAME'
|
|
186
|
+
-- - module will be uploaded to the branch: 'ARCH-TYPE' according
|
|
187
|
+
-- to the arch and type of the user's machine
|
|
188
|
+
-- - the module will be tagged as: 'VERSION-ARCH-TYPE' (if the tag already
|
|
189
|
+
-- exists, it will be overwritten)
|
|
190
|
+
--
|
|
191
|
+
-- E.g. assume that the module 'lua-5.1.4' is installed on the 32bit Linux
|
|
192
|
+
-- system (Linux-i686). When this function is called with the module name
|
|
193
|
+
-- 'lua' and base url 'git@github.com:LuaDist', then the binary version
|
|
194
|
+
-- of the module 'lua', that is installed on the machine, will be uploaded
|
|
195
|
+
-- to the branch 'Linux-i686' of the repository 'git@github.com:LuaDist/lua.git'
|
|
196
|
+
-- and tagged as '5.1.4-Linux-i686'.
|
|
197
|
+
function upload_modules(deploy_dir, module_names, dest_git_base_url)
|
|
198
|
+
deploy_dir = deploy_dir or cfg.root_dir
|
|
199
|
+
if type(module_names) == "string" then module_names = {module_names} end
|
|
200
|
+
assert(type(deploy_dir) == "string", "dist.upload_module: Argument 'deploy_dir' is not a string.")
|
|
201
|
+
assert(type(module_names) == "table", "dist.upload_module: Argument 'module_name' is not a string or table.")
|
|
202
|
+
assert(type(dest_git_base_url) == "string", "dist.upload_module: Argument 'dest_git_base_url' is not a string.")
|
|
203
|
+
deploy_dir = sys.abs_path(deploy_dir)
|
|
204
|
+
|
|
205
|
+
local modules_to_upload = {}
|
|
206
|
+
local installed = depends.get_installed(deploy_dir)
|
|
207
|
+
|
|
208
|
+
-- find modules to upload
|
|
209
|
+
if #module_names == 0 then
|
|
210
|
+
modules_to_upload = installed
|
|
211
|
+
else
|
|
212
|
+
modules_to_upload = depends.find_packages(module_names, installed)
|
|
213
|
+
end
|
|
214
|
+
|
|
215
|
+
for _, installed_module in pairs(modules_to_upload) do
|
|
216
|
+
|
|
217
|
+
-- set names
|
|
218
|
+
local branch_name = cfg.arch .. "-" .. cfg.type
|
|
219
|
+
local tag_name = installed_module.version .. "-" .. branch_name
|
|
220
|
+
local full_name = installed_module.name .. "-" .. tag_name
|
|
221
|
+
local tmp_dir = sys.make_path(deploy_dir, cfg.temp_dir, full_name .. "-to-upload")
|
|
222
|
+
local dest_git_url = dest_git_base_url .. "/" .. installed_module.name .. ".git"
|
|
223
|
+
local distinfo_file = sys.make_path(deploy_dir, cfg.distinfos_dir, installed_module.name .. "-" .. installed_module.version, "dist.info")
|
|
224
|
+
|
|
225
|
+
-- create temporary directory (delete previous if already exists)
|
|
226
|
+
if sys.exists(tmp_dir) then sys.delete(tmp_dir) end
|
|
227
|
+
local ok, err = sys.make_dir(tmp_dir)
|
|
228
|
+
if not ok then return nil, err end
|
|
229
|
+
|
|
230
|
+
-- copy the module files for all enabled components
|
|
231
|
+
for _, component in ipairs(cfg.components) do
|
|
232
|
+
if installed_module.files[component] then
|
|
233
|
+
for _, file in ipairs(installed_module.files[component]) do
|
|
234
|
+
local file_path = sys.make_path(deploy_dir, file)
|
|
235
|
+
local dest_dir = sys.parent_dir(sys.make_path(tmp_dir, file))
|
|
236
|
+
if sys.is_file(file_path) then
|
|
237
|
+
sys.make_dir(dest_dir)
|
|
238
|
+
sys.copy(file_path, dest_dir)
|
|
239
|
+
end
|
|
240
|
+
end
|
|
241
|
+
end
|
|
242
|
+
end
|
|
243
|
+
|
|
244
|
+
-- add module's dist.info file
|
|
245
|
+
sys.copy(distinfo_file, tmp_dir)
|
|
246
|
+
|
|
247
|
+
-- create git repo
|
|
248
|
+
ok, err = git.init(tmp_dir)
|
|
249
|
+
if not ok then return nil, "Error initializing empty git repository in '" .. tmp_dir .. "': " .. err end
|
|
250
|
+
|
|
251
|
+
-- add all files
|
|
252
|
+
ok, err = git.add_all(tmp_dir)
|
|
253
|
+
if not ok then return nil, "Error adding all files to the git index in '" .. tmp_dir .. "': " .. err end
|
|
254
|
+
|
|
255
|
+
-- create commit
|
|
256
|
+
ok, err = git.commit("[luadist-git] add " .. full_name, tmp_dir)
|
|
257
|
+
if not ok then return nil, "Error commiting changes in '" .. tmp_dir .. "': " .. err end
|
|
258
|
+
|
|
259
|
+
-- rename branch
|
|
260
|
+
ok, err = git.rename_branch("master", branch_name, tmp_dir)
|
|
261
|
+
if not ok then return nil, "Error renaming branch 'master' to '" .. branch_name .. "' in '" .. tmp_dir .. "': " .. err end
|
|
262
|
+
|
|
263
|
+
-- create tag
|
|
264
|
+
ok, err = git.create_tag(tmp_dir, tag_name)
|
|
265
|
+
if not ok then return nil, "Error creating tag '" .. tag_name .. "' in '" .. tmp_dir .. "': " .. err end
|
|
266
|
+
|
|
267
|
+
print("Uploading " .. full_name .. " to " .. dest_git_url .. "...")
|
|
268
|
+
|
|
269
|
+
-- push to the repository
|
|
270
|
+
ok, err = git.push_ref(tmp_dir, branch_name, dest_git_url, true)
|
|
271
|
+
if not ok then return nil, "Error when pushing branch '" .. branch_name .. "' and tag '" .. tag_name .. "' to '" .. dest_git_url .. "': " .. err end
|
|
272
|
+
|
|
273
|
+
-- delete temporary directory (if not in debug mode)
|
|
274
|
+
if not cfg.debug then sys.delete(tmp_dir) end
|
|
275
|
+
end
|
|
276
|
+
|
|
277
|
+
return #modules_to_upload
|
|
278
|
+
end
|