(iterate think thoughts)

One Ring to rule them all

11 Jan, 2013

The latest release of Luminus is no longer using a custom server.clj which starts up Jetty using run-jetty. Instead, it now relies on lein-ring, which in turns uses ring-server to create the server.

Snice you no longer have a -main in the project, you can't use lein run to start it up for development. Instead, use lein ring server, which will run Jetty for you.

If you need to start the server from within a REPL, then you can use the new repl namespace, which provides start-server and stop-server functions.

When you're packaging the application as a standalone, you run would now run lein ring uberjar instead of lein uberjar. The -main will be created by lein-ring for you based on the handler specified in your project.clj.

This means that all the configuration now lives under project.clj and gets picked up consistently both in development and production modes.

The new changes also simplify Heroku deployment. You no longer need to specify +heroku, the application will have all the necessary settings to run on Heroku out of the box.

Finally, I dropped support for Leiningen 1.x as it doesn't have support for profiles. There's no good reason to continue using it instead of upgrading to 2.x.

tags clojureluminus


13 Feb, 2013 - a-user

Thanks for all of your hard work, and I'm glad to be using your software. Any plans on adding an easy file-upload-form methods?

13 Feb, 2013 - Yogthos

Feature requests are definitely welcome, could you explain what you had in mind. Currently, file uploads are handles as shown in this example. Let me know what you'd like to improve/change.

20 Feb, 2013 - a-user

Sorry for the late reply. I found that part of the documentation shortly after asking you about it. I believe the term is RTFM...

Thanks for your response fellow tenxer.


>quoted text
4 spaces indented code4 spaces indented code