From df50bd86c81834223bdbcc68d9aff99549391bbd Mon Sep 17 00:00:00 2001 From: Alexander Artemenko Date: Sat, 14 Dec 2024 08:18:48 +0000 Subject: [PATCH 1/2] Autobuilder now passes unknown arguments to the docs-builder:build function. --- .gitignore | 1 + src/autobuilder.lisp | 18 +++++++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 788a3ae..80d43bb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /docs/ /.qlot/ README +*.fasl diff --git a/src/autobuilder.lisp b/src/autobuilder.lisp index 827973e..81881d7 100644 --- a/src/autobuilder.lisp +++ b/src/autobuilder.lisp @@ -9,6 +9,8 @@ (:import-from #:fs-watcher) (:import-from #:trivial-open-browser #:open-browser) + (:import-from #:alexandria + #:remove-from-plistf) (:export #:build #:stop)) (in-package #:docs-autobuilder) @@ -67,10 +69,17 @@ (subseq file 0 (length root)))))) -(defun build (system &key in-thread port (interface "localhost")) +(defun build (system &rest rest-args + &key in-thread port (interface "localhost") + &allow-other-keys) (when *server* (error "Server already running.")) + (remove-from-plistf rest-args + :in-thread + :port + :interface) + (let* ((system-path (asdf:system-relative-pathname system "./")) (docs-path (handler-bind ((docs-builder:documentation-has-problems (lambda (c) @@ -88,7 +97,9 @@ :address interface))) (url (format nil "http://~A:~A/" interface port))) - (open-browser url) + + (with-simple-restart (skip-opening-the-browser "Skip opening the browser") + (open-browser url)) (labels ((build-system (changed-file) (cond @@ -105,7 +116,8 @@ (handler-case (progn (ql:quickload system) - (docs-builder:build system)) + (apply #'docs-builder:build system + rest-args)) (docs-builder:documentation-has-problems (c) (log:error "Unable to build docs for ~A system. ~A" system c)) From 20aaf80e90094427f074575d71cca23031f77e35 Mon Sep 17 00:00:00 2001 From: Alexander Artemenko Date: Sat, 14 Dec 2024 08:43:58 +0000 Subject: [PATCH 2/2] Now DYNAMIC_SPACE_SIZE env variable can be used to control amount of memory available to SBCL, by default it is 1Gb --- qlfile.lock | 8 ++++---- roswell/build-docs.ros | 3 ++- src/changelog.lisp | 5 +++++ 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/qlfile.lock b/qlfile.lock index 5abf589..813ae6b 100644 --- a/qlfile.lock +++ b/qlfile.lock @@ -1,11 +1,11 @@ ("quicklisp" . (:class qlot/source/dist:source-dist - :initargs (:distribution "http://beta.quicklisp.org/dist/quicklisp.txt" :%version :latest) - :version "2023-10-21")) + :initargs (:distribution "https://beta.quicklisp.org/dist/quicklisp.txt" :%version :latest) + :version "2024-10-12")) ("ultralisp" . (:class qlot/source/dist:source-dist - :initargs (:distribution "http://dist.ultralisp.org" :%version :latest) - :version "20240311030500")) + :initargs (:distribution "https://dist.ultralisp.org" :%version :latest) + :version "20241214033500")) ("sly" . (:class qlot/source/github:source-github :initargs (:repos "svetlyak40wt/sly" :ref nil :branch "patches" :tag nil) diff --git a/roswell/build-docs.ros b/roswell/build-docs.ros index 25e344c..f91a210 100755 --- a/roswell/build-docs.ros +++ b/roswell/build-docs.ros @@ -1,7 +1,8 @@ #!/bin/sh #|-*- mode:lisp -*-|# #| -exec ros -Q -- $0 "$@" +DYNAMIC_SPACE_SIZE=${DYNAMIC_SPACE_SIZE:-1Gb} +exec ros dynamic-space-size=$DYNAMIC_SPACE_SIZE -Q -- $0 "$@" |# (progn ;;init forms (ros:ensure-asdf) diff --git a/src/changelog.lisp b/src/changelog.lisp index ed12420..e79a45a 100644 --- a/src/changelog.lisp +++ b/src/changelog.lisp @@ -9,9 +9,14 @@ (defchangelog (:ignore-words ("HTML" "MGL-PAX" "ASDF" + "DYNAMIC_SPACE_SIZE" + "1Gb" + "SBCL" "ERROR-ON-WARNINGS" "DYNAMIC-BINDINGS") :external-docs ("https://40ants.com/doc/")) + (0.12.0 2024-12-14 + "* Now `DYNAMIC_SPACE_SIZE` env variable can be used to control amount of memory available to SBCL, by default it is `1Gb`.") (0.11.1 2024-03-11 "* Fixed initite loop when the system is unknown to ASDF yet.") (0.11.0 2023-06-05