ocicl suppprt for other project use

This commit is contained in:
David Botton 2024-07-09 15:51:48 -04:00
parent 16916cd7ff
commit 04d2a42d89
3 changed files with 29 additions and 7 deletions

View file

@ -25,13 +25,23 @@
(defun projects-list-local-systems ()
(if *no-quicklisp*
(last (pathname-directory (uiop:getcwd)))
(alexandria:flatten
(append
(mapcar (lambda (dir)
(mapcar (lambda (item)
(let ((sys (first (last (pathname-directory item)))))
(when (uiop:file-exists-p
(format nil "~A~A.asd"
item sys))
(pushnew item asdf:*central-registry* :test #'equalp)
sys)))
(uiop:subdirectories dir)))
(projects-local-directories))
(list *start-project*)))
(funcall (read-from-string "ql:list-local-systems"))))
(defun projects-local-directories ()
(if *no-quicklisp*
(symbol-value (read-from-string "asdf:*central-registry*"))
(symbol-value (read-from-string "ql:*local-project-directories*"))))
(symbol-value (read-from-string "ql:*local-project-directories*")))
(defun projects-setup (panel)
(let* ((app (connection-data-item panel "builder-app-data")))

View file

@ -719,6 +719,14 @@ clog-builder window.")
(format t "~%If browser does not start go to http://127.0.0.1:~A/builder~%~%" port)
(open-browser :url (format nil "http://127.0.0.1:~A/builder" port))))
#-quicklisp
(defpackage #:ql
(:use #:cl)
(:export :*local-project-directories*))
#-quicklisp
(defvar ql:*local-project-directories* (list (uiop:getcwd)))
#+(and windows quicklisp)
(in-package #:quicklisp-client)

View file

@ -1,9 +1,11 @@
(in-package :clog-tools)
;; Add directories to use custom directoires for storing projects
;; Add directories to use custom directories for storing projects
;; when quicklisp not used (ocicl) this is emulated.
;; (pushnew #P"/path/of/projects" ql:*local-project-directories* :test #'equalp)
;; For non-quicklisp based systems
;; (pushnew #P"/path/of/projects" asdf:*central-registry* :test #'equalp)
;;
;; System to be available but not listed:
;; (pushnew #P"/path/to/a/projects" asdf:*central-registry* :test #'equalp)
;; Preferences loaded on next call to clog-tools:clog-builder or [Eval All]
@ -17,6 +19,8 @@
;;
;; CLOG Plugins
;;-------------
;; Plugins should be added to your .asd project if used
;;
;; ACE editor
;; (ql:quickload :clog-ace/tools)
;;