quicklisp-client icon indicating copy to clipboard operation
quicklisp-client copied to clipboard

Feature request: bundling of the local system

Open fourier opened this issue 7 years ago • 3 comments

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?

fourier avatar Aug 18 '18 19:08 fourier

There's already :include-local-projects - what do you need that's different from that?

quicklisp avatar May 28 '19 19:05 quicklisp

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.

fourier avatar Jun 10 '19 20:06 fourier

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 .

quicklisp avatar Jun 11 '19 00:06 quicklisp