asdf merge requestshttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests2022-01-17T21:08:35Zhttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/203Refine DEFINE-PACKAGE docstring.2022-01-17T21:08:35ZRobert GoldmanRefine DEFINE-PACKAGE docstring.Expand on the use of :UNINTERN keyword argument, based on discussion
around issue #85.
/cc @gefjonExpand on the use of :UNINTERN keyword argument, based on discussion
around issue #85.
/cc @gefjon3.3.6https://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/199Better handling of missing packages in DEFINE-PACKAGE :IMPORT-FROM2022-01-10T01:07:58ZEric TimmonsBetter handling of missing packages in DEFINE-PACKAGE :IMPORT-FROMCloses #98 #101
Signal a style warning if we `:import-from` using a package that does not exist and an empty symbol list. Remains an error to `:import-from` a package that does not exist with a non-empty symbol list.
Add some tests to...Closes #98 #101
Signal a style warning if we `:import-from` using a package that does not exist and an empty symbol list. Remains an error to `:import-from` a package that does not exist with a non-empty symbol list.
Add some tests to try and ensure `:uiop/package` and `:uiop/package-local-nicknames` are not modified.3.3.6Robert GoldmanRobert Goldmanhttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/197Resolve "UIOP:DEFINE-PACKAGE signals a TYPE-ERROR when trying to IMPORT-FROM ...2022-01-07T22:36:46ZRobert GoldmanResolve "UIOP:DEFINE-PACKAGE signals a TYPE-ERROR when trying to IMPORT-FROM a non-existent package"Closes #98Closes #98Robert GoldmanRobert Goldmanhttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/198Export name of the PROCESS-INFO class.2022-01-07T22:33:48ZRobert GoldmanExport name of the PROCESS-INFO class.Also add brief docstring to tell programmers limits on its use.Also add brief docstring to tell programmers limits on its use.3.3.6Robert GoldmanRobert Goldmanhttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/195make UPGRADE-ASDF return T only if a version number changed2022-01-06T17:02:38ZEric Timmonsmake UPGRADE-ASDF return T only if a version number changedThis is what the docstring says it does. However, it's unconditionally returned T since 2.27 / ab797258d9421ff15a1e3497a54d56b48fe3e118.
I stumbled on this bug while addressing #94.This is what the docstring says it does. However, it's unconditionally returned T since 2.27 / ab797258d9421ff15a1e3497a54d56b48fe3e118.
I stumbled on this bug while addressing #94.3.3.6https://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/194Ensure version slot of preloaded systems is correct after an upgrade2022-01-05T22:52:12ZEric TimmonsEnsure version slot of preloaded systems is correct after an upgradeFixes #94
While doing this I discovered that:
+ This bug also expresses itself if a newer asdf.lisp is `load`ed directly (instead of going through `upgrade-asdf`).
+ The version number on *the ASDF system itself* is also broken if you ...Fixes #94
While doing this I discovered that:
+ This bug also expresses itself if a newer asdf.lisp is `load`ed directly (instead of going through `upgrade-asdf`).
+ The version number on *the ASDF system itself* is also broken if you `load` a newer asdf.lisp on top of an existing ASDF.
That meant approach 3 was the only feasible solution, as approaches 1 and 2 would only work if the .asd files are available.
Draft until I also fix `upgrade-asdf`. Its docstring is wrong: it currently returns T unconditionally, which causes the first `operate` call in any given ASDF session to bail out early and restart, as if `operate` may have been redefined.3.3.6https://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/196Attila Lendvai's test script for issue 97.2021-12-23T23:09:36ZRobert GoldmanAttila Lendvai's test script for issue 97.This demonstrates the issue, but only as a test that is expected to
fail.This demonstrates the issue, but only as a test that is expected to
fail.https://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/191Mark xfails on ABCL.2021-10-24T01:38:57ZRobert GoldmanMark xfails on ABCL.1. test-around-compile w/ lambda
2. test-run-program-unix PID retrieval1. test-around-compile w/ lambda
2. test-run-program-unix PID retrievalhttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/193Change image location for CI pipelines2021-10-04T21:21:32ZEric TimmonsChange image location for CI pipelinesGitlab's dependency proxy seemed like a good idea on paper, but it turns out
it's only enabled for groups. This means it won't work when people fork ASDF into their user's namespace.
All clfoundation images are now also mirrored on cont...Gitlab's dependency proxy seemed like a good idea on paper, but it turns out
it's only enabled for groups. This means it won't work when people fork ASDF into their user's namespace.
All clfoundation images are now also mirrored on containers.common-lisp.net. So fetch images from there to avoid running into Docker Hub's rate limiting.https://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/190abcl: fix loading asdf definition from jar files2021-08-25T19:08:09ZMark Evensonabcl: fix loading asdf definition from jar filesTested under UNIX and Windows.Tested under UNIX and Windows.https://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/179Clean up gitlab-ci.yml and add trigger for new lisp implementation versions2021-07-29T01:32:57ZEric TimmonsClean up gitlab-ci.yml and add trigger for new lisp implementation versionsThis is currently a draft as I need to do a little bit more testing on the cl-docker-images side that may necessitate a few changes here as well.
This tidies up our existing CI pipeline by:
- Removing the jobs that used `Makefile-lisp-...This is currently a draft as I need to do a little bit more testing on the cl-docker-images side that may necessitate a few changes here as well.
This tidies up our existing CI pipeline by:
- Removing the jobs that used `Makefile-lisp-scripting`. As far as I can tell, they were never used after the initial merge. I would be happy to readd if and when we have a solid use case for them as part of CI. Otherwise, I'm afraid they'll just bitrot.
- Switch to matrix specification of jobs. This results in a more compact and clearer yml file, but comes at the cost of reduced flexibility. Due to Gitlab CI's variable expansion rules, we can no longer override the image or tag of a specific implementation using CI variables.
Additionally, this moves the existing pipeline to a file in `gitlab-pipelines/` and adds a second pipeline that tests against a single Lisp implementation and opens an issue if the pipeline fails. The master `gitlab-ci.yml` now decides which of the pipelines to run (if any) based on the trigger conditions and triggers them as children pipelines.
The cl-docker-images project will trigger pipelines whenever a new RC version is published (e.g., this will happen nightly during SBCL's freeze) and whenever a new version is released. For example, [this cl-docker-images pipeline](https://gitlab.common-lisp.net/cl-docker-images/sbcl/-/pipelines/3798) triggered [this asdf pipeline](https://gitlab.common-lisp.net/asdf/asdf/-/pipelines/3801).
If a job triggered by cl-docker-images fails, the [ASDF Issue Bot](https://gitlab.common-lisp.net/asdf-issue-bot) user will create an issue so that failures aren't silently lost anywhere. I created a new user because the only real way to create an issue as part of a pipeline is via a user's Personal Access Token (PAT). The permission scopes on Gitlab PATs are too broad for my tastes, so I don't want to expose my PAT nor ask anyone else to do it. The PAT has been placed as a protected CI var in ASDF's settings (`Settings -> CI/CD -> Variables`).
Closes #66https://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/189Make define-package macro expansion more backwards compatible2021-07-27T17:30:41ZEric TimmonsMake define-package macro expansion more backwards compatibleOnly include `:local-nicknames` as an argument to `ensure-package` if it is
non-NIL.
Fixes #84Only include `:local-nicknames` as an argument to `ensure-package` if it is
non-NIL.
Fixes #84https://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/184Fix garbled test.2021-07-02T21:58:14ZRobert GoldmanFix garbled test.By accident a bad test slipped into a commit: this was due to my not
understanding how `with-expected-failure` works.By accident a bad test slipped into a commit: this was due to my not
understanding how `with-expected-failure` works.Robert GoldmanRobert Goldmanhttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/142Simplify WITH-UPGRADABILITY2021-06-04T02:54:13ZFrançois-René RideauSimplify WITH-UPGRADABILITYSimplify WITH-UPGRADABILITY, which allows SBCL to find definitions (many thanks to Luís Oliveira). Along the way, robustify upgradability of package-local-nicknames, and ensure that upgrade works smoothly on ABCL, CCL, MKCL among others....Simplify WITH-UPGRADABILITY, which allows SBCL to find definitions (many thanks to Luís Oliveira). Along the way, robustify upgradability of package-local-nicknames, and ensure that upgrade works smoothly on ABCL, CCL, MKCL among others. This MR supersedes !141.3.3.5Robert GoldmanRobert Goldmanhttps://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/167Old package local nicknames not cleared by DEFINE-PACKAGE2021-06-04T01:03:20ZRobert GoldmanOld package local nicknames not cleared by DEFINE-PACKAGEFixes #51Fixes #513.3.5https://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/172Two more changes for Genera2021-06-04T01:03:20ZGary PalterTwo more changes for Genera * Remove LOOP* as the version of Genera which supports ASDF implements destructuring
* Add "Package: CL-USER" to the modeline so a user could compile ASDF on Genera without first setting their Lisp context to ANSI-CL. * Remove LOOP* as the version of Genera which supports ASDF implements destructuring
* Add "Package: CL-USER" to the modeline so a user could compile ASDF on Genera without first setting their Lisp context to ANSI-CL.https://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/182rewrite docs makefile for less spurious error-looking output2021-06-03T22:27:08ZPhoebe Goldmanrewrite docs makefile for less spurious error-looking outputI got pissed off that the text "failed. See log in <rule>.log"
appeared in successful doc makefile executions, so I made that no
longer the case. Now, failure messages print when a command fails, but
will not appear at all in the output ...I got pissed off that the text "failed. See log in <rule>.log"
appeared in successful doc makefile executions, so I made that no
longer the case. Now, failure messages print when a command fails, but
will not appear at all in the output of a successful run.
Also, processes' error output was not being redirected to logfiles,
because the `2>&1` was before the `> logfile` and shell redirects are
stupid. Now both stdout and stderr of subprocesses are redirected to
logfiles.https://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/176Add some extension points for component parsing2021-06-03T17:08:09ZEric TimmonsAdd some extension points for component parsingApropos my [complaints about package-inferred-system](https://gitlab.common-lisp.net/asdf/asdf/-/issues/68#note_7931), I decided to make a system class that infers components instead of systems. It's called, creatively enough, [asdf-infe...Apropos my [complaints about package-inferred-system](https://gitlab.common-lisp.net/asdf/asdf/-/issues/68#note_7931), I decided to make a system class that infers components instead of systems. It's called, creatively enough, [asdf-inferred-components](https://gitlab.common-lisp.net/etimmons/asdf-inferred-components).
I imagine it will continue to live outside of ASDF proper (but if there's interest in it, I'm happy to bring it in). However, I found myself wanting a couple more points to intercede in the parsing of systems. This MR adds them. While I held off on exporting them from the ASDF package, I do think they're generally useful and would love to export them (or cleaned versions of them) after using them in practice for a while.
`class-for-type` is now a generic function that allows a custom parent-component class to control the mapping of component types (`:file`, `:module`, etc.) to classes.
I also turned `compute-component-children` into a GF (no backward compatibility issues there since the `defun` version of it has yet to be released) and moved a bit of the work it did back into `parse-component-form`.https://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/180Fix bug in WITH-TEMPORARY-FILE if stream is immediately closed2021-06-03T00:44:10ZEric TimmonsFix bug in WITH-TEMPORARY-FILE if stream is immediately closedIf the first form in the body with WITH-TEMPORARY-FILE is :CLOSE-STREAM, then
CALL-WITH-TEMPORARY-FILE is called with NIL as the thunk and the FUNCALL
fails. Fix by replacing FUNCALL with CALL-FUNCTION.If the first form in the body with WITH-TEMPORARY-FILE is :CLOSE-STREAM, then
CALL-WITH-TEMPORARY-FILE is called with NIL as the thunk and the FUNCALL
fails. Fix by replacing FUNCALL with CALL-FUNCTION.https://gitlab.common-lisp.net/asdf/asdf/-/merge_requests/178Add REQUIRE upgrade tests to CI2021-05-16T19:17:13ZEric TimmonsAdd REQUIRE upgrade tests to CIThe original upgrade tests were disabled by default for being too slow. They're
too slow because they test with a wide range of previous ASDF versions.
Add new tests that run only if the full upgrade test suite is not run. These
test up...The original upgrade tests were disabled by default for being too slow. They're
too slow because they test with a wide range of previous ASDF versions.
Add new tests that run only if the full upgrade test suite is not run. These
test upgrading only from the implementation provided ASDF. This is much faster
than testing every old version. Plus, it matches the real world upgrade
conditions for the vast majority of users.
This catches #72.