Add hp/main package

This commit is contained in:
Akira Tempaku 2024-10-05 22:05:26 +09:00
parent b403e6643f
commit 7bddd59dab
4 changed files with 39 additions and 34 deletions

2
hp.asd
View file

@ -4,7 +4,7 @@
:defsystem-depends-on ("wild-package-inferred-system") :defsystem-depends-on ("wild-package-inferred-system")
:class "winfer:wild-package-inferred-system" :class "winfer:wild-package-inferred-system"
:pathname "src" :pathname "src"
:depends-on ("hp/app") :depends-on ("hp/main")
:in-order-to ((test-op (test-op "hp-tests")))) :in-order-to ((test-op (test-op "hp-tests"))))
(register-system-packages "lack-middleware-static" '(:lack.middleware.static)) (register-system-packages "lack-middleware-static" '(:lack.middleware.static))

View file

@ -17,7 +17,7 @@
("hsx" . ("hsx" .
(:class qlot/source/git:source-git (:class qlot/source/git:source-git
:initargs (:remote-url "https://github.com/skyizwhite/hsx.git") :initargs (:remote-url "https://github.com/skyizwhite/hsx.git")
:version "git-7f276120aa40d26b5e2b23901890d2994438518b")) :version "git-7ce7751900ce6eacb9264b3109402bcc17aa40b2"))
("ningle-fbr" . ("ningle-fbr" .
(:class qlot/source/git:source-git (:class qlot/source/git:source-git
:initargs (:remote-url "https://github.com/skyizwhite/ningle-fbr.git") :initargs (:remote-url "https://github.com/skyizwhite/ningle-fbr.git")

View file

@ -1,42 +1,19 @@
(defpackage #:hp (defpackage #:hp/app
(:nicknames #:hp/app)
(:use #:cl) (:use #:cl)
(:local-nicknames (#:jg #:jingle)) (:local-nicknames (#:jg #:jingle))
(:local-nicknames (#:fbr #:ningle-fbr)) (:local-nicknames (#:fbr #:ningle-fbr))
(:local-nicknames (#:env #:hp/env)) (:local-nicknames (#:env #:hp/env))
(:local-nicknames (#:mw #:hp/middlewares/*)) (:local-nicknames (#:mw #:hp/middlewares/*))
(:import-from #:hp/renderer) (:import-from #:hp/renderer)
(:export #:start (:export #:*app*))
#:stop (in-package #:hp/app)
#:update))
(in-package #:hp)
(defparameter *watch-process* nil)
(defparameter *app* (jg:make-app :address "localhost" (defparameter *app* (jg:make-app :address "localhost"
:port env:*port*)) :port env:*port*))
(defun start () (jg:clear-middlewares *app*)
(when (env:dev-mode-p) (jg:clear-routing-rules *app*)
(setf *watch-process* (uiop:launch-program "make watch"))) (fbr:assign-routes *app* :system "hp" :directory "src/routes")
(jg:start *app*)) (jg:install-middleware *app* mw:*recoverer*)
(jg:install-middleware *app* mw:*path-normalizer*)
(defun stop () (jg:install-middleware *app* mw:*public-server*)
(when (env:dev-mode-p)
(uiop:terminate-process *watch-process*))
(jg:stop *app*))
(defun setup ()
(jg:clear-middlewares *app*)
(jg:clear-routing-rules *app*)
(fbr:assign-routes *app* :system "hp" :directory "src/routes")
(jg:install-middleware *app* mw:*path-normalizer*)
(jg:install-middleware *app* mw:*public-server*)
(jg:install-middleware *app* mw:*recoverer*))
(defun update ()
(stop)
(ql:quickload :hp)
(start))
(setup)

28
src/main.lisp Normal file
View file

@ -0,0 +1,28 @@
(defpackage #:hp
(:nicknames #:hp/main)
(:use #:cl)
(:local-nicknames (#:jg #:jingle))
(:local-nicknames (#:env #:hp/env))
(:import-from #:hp/app
#:*app*)
(:export #:start
#:stop
#:update))
(in-package #:hp)
(defparameter *watch-process* nil)
(defun start ()
(when (env:dev-mode-p)
(setf *watch-process* (uiop:launch-program "make watch")))
(jg:start *app*))
(defun stop ()
(when (env:dev-mode-p)
(uiop:terminate-process *watch-process*))
(jg:stop *app*))
(defun update ()
(stop)
(ql:quickload :hp/app)
(start))