aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* dependency pinning: luarocks.lock file and --pin flagHisham Muhammad2019-11-2922-117/+590
| | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for pinning dependencies in projects and rocks: * Adds a new flag called `--pin` which creates a `luarocks.lock` when building a rock with `luarocks build` or `luarocks make`. This lock file contains the exact version numbers of every direct or indirect dependency of the rock (in other words, it is the transitive closure of the dependencies.) For `make`, the `luarocks.lock` file is created in the current directory. The lock file is also installed as part of the rock in its metadata directory alongside its rockspec. When using `--pin`, if a lock file already exists, it is ignored and overwritten. * When building a rock with `luarocks make`, if there is a `luarocks.lock` file in the current directory, the exact versions specified there will be used for resolving dependencies. * When building a rock with `luarocks build`, if there is a `luarocks.lock` file in root of its sources, the exact versions specified there will be used for resolving dependencies. * When installing a `.rock` file with `luarocks install`, if the rock contains a `luarocks.lock` file (i.e., if its dependencies were pinned with `--pin` when the rock was built), the exact versions specified there will be used for resolving dependencies.
* do not warn about skipping dependency checksHisham Muhammad2019-11-292-4/+1
| | | | | | These are either caused by recursion of pinned dependencies or were explicitly requested by the user with --nodeps a.k.a. --deps-mode=none
* refactor dependency scanning for reuse when building lockfileHisham Muhammad2019-11-299-112/+114
|
* tests: simplify descriptions and set lazy setup/teardownHisham Muhammad2019-11-292-35/+35
|
* config: fix --unsetHisham Muhammad2019-11-292-1/+22
|
* repos: speed up file installs and deletesHisham Muhammad2019-11-291-24/+71
|
* cache rockspecs and src.rocks and check timestampHisham Muhammad2019-11-293-28/+52
|
* Add --check-lua-versions flag (#1115)Hisham Muhammad2019-11-2310-49/+71
| | | | Only check for availability of a rock for other Lua versions if the user explicitly requests so.
* Improve jit detection to support moonjit (#1116)François Perrad2019-11-221-1/+1
| | | | | moonjit is a fork of LuaJIT, where jit.version = 'moonjit 2.1.1' Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
* Support make --no-doc (#1092)Paul Ouellette2019-11-155-30/+48
| | | | | | * Support make --no-doc * Add test for make --no-doc
* repos: rollback on installation failure (#1101)Hisham Muhammad2019-10-182-15/+88
|
* manif.writer: make remove_from_manifest more resilient (#1096)Hisham Muhammad2019-09-231-0/+9
| | | Fixes #1095.
* vers: add extra metamethod needed by Lua 5.4 (#1088)Dude1121132019-09-091-0/+6
|
* Merge branch '3.2.1'Hisham Muhammad2019-09-050-0/+0
|\
| * Release 3.2.1v3.2.1Hisham Muhammad2019-09-055-7/+8
|/
* fix Windows cross-compilation hackHisham Muhammad2019-09-052-13/+15
|
* GNUmakefile: fix concatenationHisham Muhammad2019-09-051-2/+2
|
* smoke test `make bootstrap` and `luarocks install` as wellHisham Muhammad2019-09-051-0/+58
|
* fix local search of manifestsHisham Muhammad2019-09-051-1/+1
| | | | | | | Since #1065 it was failing to find the unversioned `manifest` files inside `<rocks_tree>/lib/luarocks/rocks-5.x/`. The result was that `luarocks install foo` worked but then `luarocks show foo` didn't.
* run smoke_test for dev packageHisham Muhammad2019-09-041-0/+1
|
* cfg: only override config file values with detected when giving flagsHisham Muhammad2019-09-041-29/+32
|
* Fix version detectionHisham Muhammad2019-09-041-0/+3
|
* cmd: avoid changing add_to_parser if command is missingdaurnimator2019-09-031-13/+12
|
* cmd: catch errors loading command modulesHisham Muhammad2019-09-031-11/+22
| | | | This should be useful for external modules.
* cmd: add compatibility mode for pre-argparse external commandsHisham Muhammad2019-09-034-0/+99
| | | | See #1070.
* fs: fix Lua wrapper for interactive modeHisham Muhammad2019-09-033-2/+44
|
* Fix manif.load_manifest changing current directoryPaul Ouellette2019-09-031-2/+2
|
* build: fix --branch flagHisham Muhammad2019-09-037-27/+67
| | | | | | | | | | | | The `--branch` flag is optional and takes a string argument. The `--branch` flag does not make sense for `luarocks make` because it does not fetch sources, it builds/installs based on whatever is in the current directory. This also adds tests that verify the behavior, but these don't run in Travis CI because of issues running a Git daemon there. They were verified locally.
* Fix `luarocks build --pack-binary-rock --no-doc`Paul Ouellette2019-09-031-4/+4
|
* add regression test utilityHisham Muhammad2019-09-021-0/+86
|
* Ensure scripts add the prefix to the package pathHisham Muhammad2019-09-021-0/+2
| | | | | | | | | | | | This reverts the removal from e9215f139be7afa3af116a2039594362e4f1f2be but keeps the addition of the custom package loader as that is a more robust approach. I'm not a super fan of this approach because in a cross-compiling scenario it does leak the host package.path into the output of commands such as `luarocks path` and building the `bin` wrappers, but at least it is less broken than the 3.2.0 behavior, as reported by @fperrad in issue #1070.
* util: fix cleanup_path orderHisham Muhammad2019-09-023-15/+18
| | | | | | | | | | | This change ensures that the package path fixups done by the bin wrapper take effect. Commit 72d80a35 had the default behavior inverted, and affected its use in `luarocks.core.cfg`. Commit 0823c4dd62e accidentally removed the use of `flags["append"]` in `luarocks.cmd.path` and this slipped code review. This restores it.
* cmd: fix linebreaks listing rocks treesHisham Muhammad2019-08-301-1/+2
|
* cmd: include explicit preliminary cfg.initHisham Muhammad2019-08-301-0/+3
|
* fs: make fs reinitializableHisham Muhammad2019-08-302-8/+18
| | | | See #1069.
* publishrelease: upload rock as part of release processHisham Muhammad2019-08-281-0/+6
|
* publishrelease: update wiki changesHisham Muhammad2019-08-281-3/+4
|
* Merge branch '3.2.0'Hisham Muhammad2019-08-280-0/+0
|\
| * Release 3.2.0v3.2.0Hisham Muhammad2019-08-285-7/+8
|/
* Ensure that LuaRocks always finds itselfHisham Muhammad2019-08-281-2/+2
|
* binary: fix check_lua_* callsHisham Muhammad2019-08-281-1/+2
|
* binary: update luasec to 0.8.1Hisham Muhammad2019-08-282-4/+4
|
* cmd: move cross-compilation hack to the right placeHisham Muhammad2019-08-281-13/+12
|
* Fix wrong versions in search failure error messagePaul Ouellette2019-08-272-3/+5
|
* Fix build --no-docPaul Ouellette2019-08-271-0/+1
|
* Merge PR #1035daurnimator2019-08-2437-1226/+3092
|\
| * Rewrap some help messages to 80 colsPaul Ouellette2019-08-222-27/+24
| |
| * Show config text only when run with no argumentsPaul Ouellette2019-08-171-17/+11
| |
| * writer.make_namespace_file: name has no namespacePaul Ouellette2019-08-171-3/+1
| |
| * Revert variable rename in cmd/make.luaPaul Ouellette2019-08-171-6/+6
| |