It won't play worse with cabal-dev than the previous :)<div><br></div><div>This is all very beta at the moment, but we will definitely figure out how to support cabal-dev eventually.<br><br><div class="gmail_quote">On Mon, Apr 18, 2011 at 5:00 PM, Mark Bradley <span dir="ltr"><<a href="mailto:barkmadley@gmail.com">barkmadley@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div><div></div><div class="h5">On Tue, Apr 19, 2011 at 12:56 AM, Michael Snoyman <<a href="mailto:michael@snoyman.com">michael@snoyman.com</a>> wrote:<br>
> Hi all,<br>
> Just wanted to let you know: there's been a minor delay in the 0.8 release<br>
> of Yesod, all for good reasons. Rick Richardson and Greg Weber have put in a<br>
> lot of work on the MongoDB backend for Persistent, and now we'll be able to<br>
> include it (as an alpha) with this release. Congrats to them, this is very<br>
> cool.<br>
> The second reason is that I decided to be naughty and completely disregard<br>
> my feature freeze. As we've discussed recently, there are some issues with<br>
> our hint-based wai-handler-devel approach. Without going into too many<br>
> details (both to keep from boring you, and because I have very little time<br>
> before Passover starts), I've made the following modifications to the yesod<br>
> scaffolding tool:<br>
> * Running "yesod" by itself gives you a list of commands.<br>
> * Running "yesod init" gives the behavior previously held by "yesod", i.e.<br>
> generate a scaffolded site.<br>
> * Running "yesod build" is *almost* identical to "cabal build", but with one<br>
> change: it performs a dependency analysis of external files included by<br>
> Template Haskell (Hamlet templates, routes, entity definitions) and changes<br>
> modification times as needed to force cabal to build modules. For example,<br>
> if "Handler/Root.hs" references "hamlet/root.hamlet", and the latter has a<br>
> later modification time than the former, the former's modification times<br>
> will be changed to match that of the latter.<br>
> * Running "yesod devel" runs devel server. Instead of using hint, the devel<br>
> server now uses cabal for the compiling (passing in a special "devel" flag)<br>
> and direct-plugins to load up the compiled code.<br>
> In order to make this work, there are a few necessary modifications to an<br>
> individual site:<br>
> * The "Controller" module now needs to have a "withDevelApp" function, which<br>
> must be of type "Dynamic". The internal type of this must be "(Application<br>
> -> IO ()) -> IO ()".<br>
> * The cabal file must provide a library section. The library should only be<br>
> built when the devel flag is passed in, it should be compiled with "-O0" (to<br>
> speed up compiling) and executables are disabled (also for speed).<br>
> * direct-plugins can only load up installed packages, so "yesod devel" will<br>
> actually install your package.<br>
<br>
</div></div>Does this play nicely with cabal-dev?<br>
<div class="im"><br>
> * The scaffolded site has already been updated to work properly with "yesod<br>
> devel", so you can base your modifications on that.<br>
> The only bug I'm aware of right now is that if a file disappears at the<br>
> wrong time then the call to get the modification time will fail. This may<br>
> seem far fetched, but it happened to me when saving a file with vim.<br>
> Shouldn't be too hard to fix, I just don't have time right now.<br>
> The code's on Yackage. If anyone wants to give it a shot, feel free.<br>
> Michael<br>
</div><div class="im">> _______________________________________________<br>
> web-devel mailing list<br>
> <a href="mailto:web-devel@haskell.org">web-devel@haskell.org</a><br>
> <a href="http://www.haskell.org/mailman/listinfo/web-devel" target="_blank">http://www.haskell.org/mailman/listinfo/web-devel</a><br>
><br>
><br>
<br>
<br>
<br>
</div><font color="#888888">--<br>
-barkmadley<br>
sent from an internet enabled device<br>
</font><div><div></div><div class="h5"><br>
_______________________________________________<br>
web-devel mailing list<br>
<a href="mailto:web-devel@haskell.org">web-devel@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/web-devel" target="_blank">http://www.haskell.org/mailman/listinfo/web-devel</a><br>
</div></div></blockquote></div><br></div>