| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add asserts to uses of `name` arguments to check that they
are not namespaced; rename namespace-able name arguments
to `ns_name` and avoid some unrelated uses of the `name`
argument that don't represent rock names (there are still
others around, to be fixed eventually).
This may cause some failures in some untested code paths
with namespaced packages, but we hope to catch them
with better testing. Better to be safe here than to
perform filesystem operations on incorrect paths.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
New flag `--temp-key` for `luarocks upload`, allowing you to easily
upload rocks into an alternate account without disrupting the
stored configuration of your main account.
|
|
|
|
| |
Closes #677.
|
|
|
|
|
| |
According to the Lua's manual:
> Once it finds a C library, this searcher first uses a dynamic link facility to link the application with the library. Then it tries to find a C function inside the library to be used as the loader. The name of this C function is the string "luaopen_" concatenated with a copy of the module name where each dot is replaced by an underscore. Moreover, if the module name has a hyphen, its prefix up to (and including) the first hyphen is removed. For instance, if the module name is a.v1-b.c, the function name will be luaopen_b_c.
|
|
|
|
|
|
|
|
| |
`luarocks path` now exports versioned variables `LUA_PATH_5_x` and
`LUA_CPATH_5_x` instead of `LUA_PATH` and `LUA_CPATH`
when those are in use in your system.
Fixes #760.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Fixes #740.
|
|
|
|
|
| |
Do not halt a deletion process when trying to delete something
that was not found.
|
| |
|
|
|
|
|
|
| |
Match terminology used in luarocks.org.
'scm' is still supported for compatibility reasons,
but is no longer the recommended term.
|
|
|
|
|
|
|
|
|
|
|
| |
This adds support for easily requesting `dev` modules from
LuaRocks.org, as in:
```
luarocks install --dev luafilesystem
```
The list of URLs configured in `rocks_servers` is prepended
with a list containing "/dev" in their paths.
|
|
|
|
|
| |
Use an order that works better with the Lua function
syntax.
|
|
|
|
|
|
|
|
|
|
|
| |
* For each `luarocks.core.x` module, make `luarocks.x` module
load the core module explicitly as `core`, and expose its
relevant methods explicitly as well (instead of using
`setmetatable`).
* Move all type checking out of the core, adjusting the manifest
modules accordingly.
* Create separate modules for the rockspec and manifest
schemas in the `luarocks.type` namespace.
|
|
|
|
|
|
| |
The code was already effectively using "/" as the only
directory separator, even on Windows. This commit removes
the unnecessary indirection.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Move `array_contains` away from the `luarocks.util` kitchen sink,
and add a `luarocks.fun` module with some basic functional utilities.
I considered using luafun instead, but at this point the basic
functionality of LuaRocks has no mandatory external dependencies,
so I thought I'd just add these functions internally instead.
|
| |
|
| |
|
|
|
|
| |
Closes #718.
|
|
|
|
|
|
|
|
| |
Let's take the opportunity of a new major version to make an important cleanup: getting rid of the error-prone unversioned configuration files. This drops support for:
* Unversioned config.lua -> use config-5.x.lua
* Unversioned luarocks/site_config.lua -> it always generates luarocks/core/site_config_5_x.lua
* Unversioned lib/luarocks/rocks -> it always uses lib/luarocks/rocks-5.x
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Function tools.delete performs a test to determine if a path is a file or a directory to select the appropriate delete command rmdir vs del.
The current test however results in rmdir being used on files too, which then results in a build abortion with error "The directory name is invalid.".
E.g.
if exist "c:\luarocks\share\lua\5.2\luasocket_3_0rc1_2-socket.lua\" ( echo "I am a folder" ) else ( echo "I am a file" )
wrongly prints "I am a folder" (tested on Windows 10)
Whereas
if exist "c:\luarocks\share\lua\5.2\luasocket_3_0rc1_2-socket.lua\*" ( echo "I am a folder" ) else ( echo "I am a file" )
correctly prints "I am a file" (tested on Windows 10)
This fixes #670
(Also see https://stackoverflow.com/a/1466528/1793220 )
|
| |
|
|
|
|
|
| |
Ensures the special values for dev versions are higher than
versions like 20171002.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Only assume directory is the location when the tarball contains
only a single directory at the top level.
|
| |
|
| |
|
|
|
|
| |
in some cases reading the whole file fails (on macOS High Sierra, LuaJIT)
this is timing dependent and waiting between spawning and reading solves the issue as well
|
| |
|
| |
|
|\ |
|
| | |
|