quicklisp-client
quicklisp-client copied to clipboard
Feature request: bundling of the local system
Suppose I'm writing a commercial closed source software which depends on systems in quicklisp database. It has asd files and registered in local projects. Right now to be able to secure dependencies and avoid dependencies over the network I need to manually create a bundle listing all dependency libraries. It is not extremely convenient - probably should be a way to do bundles for the local system which is not in ql database?
There's already :include-local-projects - what do you need that's different from that?
What I mean is the following. Suppose I have a project - a directory with the asd file and lisp sources in it - in local directory specified in ql:*local-project-directories*. This project is not in main QL database but as it is in local-project-directories it is perfectly loadable via ql:quickload.
Now I want to create a bundle - this project along with its dependencies - so other developers could copy it and start to working on it straight away.
I ran ql:bundle-systems where I specify the project name in the list, and QL could not find it:
[package mediaimport]
("mediaimport")
CL-USER 7 > (ql:bundle-systems '("mediaimport" "ppath") :include-local-projects t :to "my-bundle/")
Error: System "mediaimport" not found
1 (continue) Ignore this system and omit it from the bundle.
2 (abort) Return to top loop level 0.
Type :b for backtrace or :c <option number> to proceed.
Type :bug-form "<subject>" for a bug report template or :? for other options.
If I supply only "ppath" which is in the QL database everything works:
(ql:bundle-systems '("ppath") :include-local-projects t :to "c:/Sources/lisp/my-bundle/")
; Copying C:\Sources\lisp to bundle...
The additional problem is that the directory specified in local-project-directories contains much more stuff which I don't want to bundle.
One option would be to create new temporary directory, copy your project to
it, set ql:*local-project-directories* to that path, then do:
(ql:bundle-systems (asdf:system-depends-on "my-project") :to "/my/bundle/" :include-local-projects t)
Zach
On Mon, Jun 10, 2019 at 4:07 PM Alexey Veretennikov < [email protected]> wrote:
What I mean is the following. Suppose I have a project - a directory with the asd file and lisp sources in it - in local directory specified in ql:local-project-directories. This project is not in main QL database but as it is in local-project-directories it is perfectly loadable via ql:quickload. Now I want to create a bundle - this project along with its dependencies - so other developers could copy it and start to working on it straight away. I ran ql:bundle-systems where I specify the project name in the list, and QL could not find it:
[package mediaimport] ("mediaimport")
CL-USER 7 > (ql:bundle-systems '("mediaimport" "ppath") :include-local-projects t :to "my-bundle/")
Error: System "mediaimport" not found 1 (continue) Ignore this system and omit it from the bundle. 2 (abort) Return to top loop level 0.
Type :b for backtrace or :c
If I supply only "ppath" which is in the QL database everything works:
(ql:bundle-systems '("ppath") :include-local-projects t :to "c:/Sources/lisp/my-bundle/") ; Copying C:\Sources\lisp to bundle...
The additional problem is that the directory specified in local-project-directories contains much more stuff which I don't want to bundle.
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/quicklisp/quicklisp-client/issues/171?email_source=notifications&email_token=AACPNLJMI5EUXHDZADWSRCLPZ2YALA5CNFSM4FQKY2M2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXLCTKQ#issuecomment-500574634, or mute the thread https://github.com/notifications/unsubscribe-auth/AACPNLOX4RYQXA6L6ACJLH3PZ2YALANCNFSM4FQKY2MQ .