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")
:class "winfer:wild-package-inferred-system"
:pathname "src"
:depends-on ("hp/app")
:depends-on ("hp/main")
:in-order-to ((test-op (test-op "hp-tests"))))
(register-system-packages "lack-middleware-static" '(:lack.middleware.static))

View file

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

View file

@ -1,42 +1,19 @@
(defpackage #:hp
(:nicknames #:hp/app)
(defpackage #:hp/app
(:use #:cl)
(:local-nicknames (#:jg #:jingle))
(:local-nicknames (#:fbr #:ningle-fbr))
(:local-nicknames (#:env #:hp/env))
(:local-nicknames (#:mw #:hp/middlewares/*))
(:import-from #:hp/renderer)
(:export #:start
#:stop
#:update))
(in-package #:hp)
(defparameter *watch-process* nil)
(:export #:*app*))
(in-package #:hp/app)
(defparameter *app* (jg:make-app :address "localhost"
:port env:*port*))
(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 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)
(jg:clear-middlewares *app*)
(jg:clear-routing-rules *app*)
(fbr:assign-routes *app* :system "hp" :directory "src/routes")
(jg:install-middleware *app* mw:*recoverer*)
(jg:install-middleware *app* mw:*path-normalizer*)
(jg:install-middleware *app* mw:*public-server*)

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))