| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
* Reworked configure script
* Now passes shellcheck
* New Makefile for Unix
* Simplified `make` and `make install` targets
* Simplified `make bootstrap` target
* New targets `make binary` and `make install-binary`
build and install an all-in-one binary of LuaRocks
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Adds a Rockspec object responsible for constructing all Rockspec
tables in the manner of the Queries and Results objects, and
a type-checked Build.Opts tables for build options, since
the number of attributes passed around was getting out of hand.
This allowed a major cleanup in the luarocks.build,
luarocks.fetch and luarocks.cmd.write_rockspec modules.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For details of the new feature, see
https://github.com/luarocks/luarocks/wiki/Namespaces
This ended up being a huge commit because of some major refactoring
motivated by the new feature:
* new modules for some object types:
* `luarocks.queries` - all functions that look for rocks in local or
remote repositories now use objects constructed by this module:
query objects contain the name, namespace and query constraints.
Dependencies in a rockspec are also stored as query objects.
* `luarocks.results` - all individual results produces from queries
are returned in this format: result objects contain the name,
namespace, version, arch and repo.
* the `results` object was renamed to `result_tree`, to better
reflect that it is not an array of `result` objects.
* `luarocks.vers` was removed, its functionality was moved to better locations.
Specifically on namespaces:
* Commands that take a rock `name` can now take `namespace/name`
(and alternately `--flags=namespace` so that URLs can be
also installed with a nominal namespace).
* Rocks installed from a namespace now create a `rock_namespace`
file alongside `rock_manifest`, which is used when matching
namespaced dependencies against locally-installed rocks.
* Using namespaced dependencies in a rockspec, requires
`rockspec_format = "3.0"`.
* Tests under the `#namespaces` hashtag, all using a local repository.
|
| |
|
|
|
|
| |
Fixes #738.
|
|
|
|
|
| |
LUADIR is used with a following slash everywhere, and it looks confusing
when seeing "//" during the build.
|
| |
|
|
|
|
|
|
|
| |
luarocks.deps module used to contain version and dependency parsing
functions as well as some high-level dependency handling:
matching and resolving them. A lot of modules only need the parsing
half. Split it into its own module, luarocks.vers.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Isolate all modules used by luarocks.loader in a
luarocks.core.* namespace. Core modules can only require
other core modules, and they only use require() at the
top-level chunk. In other words, after luarocks.loader
is setup, package.path can be altered at will and it
should not affect the ability of luarocks.loader to run,
and the luarocks.loader modules should not interfere
with modules loaded later.
This was motivated by @robooo's GSoC work on porting
the LuaRocks test suite to Lua using Busted. Busted itself
runs using luarocks.loader, and we need to ensure that
the modules loaded by the tests do not conflict with
the ones used by luarocks.loader.
A circular dependency between luarocks.manif and
luarocks.search was removed by creating a separate
luarocks.manif.writer module.
Also, luarocks-admin commands were moved to a
luarocks.admin.* namespace.
|
| |
|
| |
|
|
|
|
|
|
| |
Without config_cmd.lua in the list of LuaRocks files to install
the installation is broken and throws an error when trying to
display the usage message.
|
|
|
|
| |
see #350
|
|
|
|
|
|
| |
* Allow fetching from remote hg repos using hg+http, hg+https
and hg+ssh protocols;
* Fix incorrect branch cloning.
|
|
|