Commit f519e06e3dc38050a4c7fe0ea6bafde8826ae454

Thomas de Grivel 2019-01-03T07:52:16

fix asset compilation

diff --git a/asset.lisp b/asset.lisp
index 33b0968..98cc8e3 100644
--- a/asset.lisp
+++ b/asset.lisp
@@ -93,7 +93,8 @@
   (if (slot-boundp asset 'source-path)
       #1=(slot-value asset 'source-path)
       (setf #1# (with-slots (name source-dir source-ext) asset
-                  (str source-dir name source-ext)))))
+                  (str source-dir name
+                       (string-downcase source-ext))))))
 
 (defmethod print-object ((asset asset) stream)
   (print-unreadable-object (asset stream :type t)
@@ -138,7 +139,7 @@
   (ensure-directories-exist output)
   (let ((path (asset-source-path asset)))
     ;;(msg "CP ~A" path)
-    (copy-files path output :replace t :update t))
+    (cl-fad:copy-file path output :overwrite t))
   nil)
 
 (defmethod asset-include ((output null)
diff --git a/find.lisp b/find.lisp
index 3a8f4bf..e898baf 100644
--- a/find.lisp
+++ b/find.lisp
@@ -46,7 +46,7 @@
                         assets)
   (let ((absolute-dir (truename dir))
         (assets assets))
-    (dolist (path (reverse (directory (str dir name ext))))
+    (dolist (path (reverse (directory (str dir name (string-downcase ext)))))
       (unless (char= #\. (char (pathname-name path) 0))
         (let* ((name.ext (enough-namestring (truename path) absolute-dir))
                (name (if ext
@@ -78,7 +78,7 @@
                         (dir string)
                         (name string)
                         (ext null)
-                        assets)
+                        (assets list))
   (when (setq ext (asset-class-extensions type))
     (find-assets type dir name ext assets)))
 
@@ -88,7 +88,7 @@
                         (directories cons)
                         (name string)
                         ext
-                        assets)
+                        (assets list))
   (reduce (lambda (assets dir)
             (declare (type string dir))
             (find-assets type dir name ext assets))
@@ -96,9 +96,9 @@
           :initial-value assets))
 
 (defmethod find-assets (type (dir null) name ext assets)
-  (let ((dir (assets-dirs)))
-    (when dir
-      (find-assets type dir name ext assets))))
+  (let ((dirs (assets-dirs)))
+    (when dirs
+      (find-assets type dirs name ext assets))))
 
 ;;    Resolve class
 
@@ -123,11 +123,9 @@
 (defun find-assets-from-spec (spec &optional class assets)
   (labels ((assets-matching (class name ext)
              (if class
-                 (let ((new (find-assets class nil name
-                                         (asset-class-extensions class)
-                                         assets)))
-                   (unless (eq new assets)
-                     new))
+                 (find-assets class nil name
+                              (asset-class-extensions class)
+                              assets)
                  (when ext
                    (some (lambda (class) (assets-matching class name ext))
                          (extension-asset-classes ext))))))
diff --git a/package.lisp b/package.lisp
index 3a2dd11..317c5be 100644
--- a/package.lisp
+++ b/package.lisp
@@ -24,13 +24,15 @@
       (:nicknames :RoL-ext)
       (:export #:.css
                #:.eot
+               #:.html
                #:.jpeg
                #:.jpg
                #:.js
                #:.png
                #:.svg
                #:.ttf
-               #:.woff))))
+               #:.woff
+               #:.woff2))))
 
 (defpackage :RoL-assets
   (:use :cl :debug :alexandria :RoL-ext :RoL-files :RoL-uri :str)