Tôi đã đi xuống cùng một con đường gần đây bằng cách sử dụng LessCss, một công nghệ tương tự. Lúc đầu, tôi đã cố gắng để nhúng JRuby trong vòng đời xây dựng của tôi. Nhưng không may Maven + JRuby là một con quái vật, nó chậm, rất lớn và lỗi (một nửa thời gian nó thậm chí sẽ không bắt đầu bởi vì nó sẽ phàn nàn về đường dẫn tập tin nó đang chạy trên).
May mắn thay, hiện tại có một cổng JavaScript của LessCss, mà giờ đây tôi đã nhúng qua Mozilla Rhino. I describe the process in this blog post.
Hôm qua mặc dù tôi đã chuyển sang cấp độ tiếp theo, tạo một Plugin Maven LessCss để giảm thiểu cấu hình POM và sao chép mã. Rất tiếc, tôi không thể chia sẻ nó vì đó là mã độc quyền cho khách hàng hiện tại của tôi, nhưng giải pháp rất đơn giản:
Use GMaven to create the Plugin, tạo một mojo cơ sở trừu tượng gọi trình biên dịch LessCss và một số triển khai cụ thể cấu hình mojo cơ sở cho tài nguyên khác bộ:
ví dụ:
lesscss:compile
biên dịch từ khắp nơi <resources>
để ${project.build.outputDirectory}
lesscss:test-compile
biên dịch từ tất cả <testResources>
để ${project.build.testOutputDirectory}
lesscss:war-compile
(biên dịch từ tất cả src/main/webapp
để ${project.build.directory}/${project.build.finalName}
, chiến tranh bùng nổ thư mục)
Vì vậy, mặc dù tôi không thể giúp bạn với SASS (ngoài việc yêu cầu auth hoặc chuyển sang Groovy, Java hoặc JavaScript), tôi nghĩ tôi đã cho bạn thấy một giải pháp khả thi.
Tất nhiên bạn cũng có thể triển khai một Plugin Maven trong java mà không có Groovy (cũng nhúng JavaScript qua Rhino), nhưng tôi nghĩ nó dễ dàng hơn trong Groovy.
Nguồn
2010-09-10 07:26:09
Bài đăng thú vị +1 –
Trên ổ đĩa của tôi hoạt động trước khi đọc phản hồi, tôi đã nghĩ đến việc viết trình xây dựng Groovy cho CSS và hoặc DSL nhỏ tương tự như SASS với bộ lọc servlet hoặc servlet để phục vụ CSS (tức là JSP/GSP là HTML nhưng cho CSS). Bài đăng tuyệt vời! –
@Adam: Như tôi đã viết trong bài đăng trên blog của tôi, có điều gì đó tương tự đã tồn tại đối với Less và Wicket: http://www.richardnichols.net/2010/06/less-css-in-wicket-using-mozilla-rhino/ . BTW Nếu bạn đã từng viết một Groovy Builder như vậy, hãy đăng nó ở đây. –