Hi all, I just released version 0.2.0 of Inlein <http://inlein.org/>. You can think of Inlein as a Leiningen for scripts, where the project.clj is inlined into the script itself. Inlein itself starts up very fast, so the startup time of a script is more or less only the time it takes to start Clojure and the dependencies you drag in.
If you have already installed Inlein, you should be able to just run inlein --upgrade, and if not, you can go to https://github.com/hyPiRion/inlein/releases/0.2.0/ for the download link and installation instructions. To get started, you can take a look over at the Getting Started page <https://github.com/hyPiRion/inlein/wiki/Getting-Started> on the wiki. If you experience any breaking changes, you can always go back to 0.1.0 by running inlein --upgrade 0.1.0 This release contains a couple of minor bugfixes, and support for :exclusions and file dependencies (:file-deps) in the parameter map. The biggest addition to this version is support for file dependencies: You can specify other Inlein Clojure files as dependencies to a script file. This can be convenient if you have multiple scripts which all have the same startup procedure, or need the same utility functions. For example, if you use Inlein scripts to retrieve data from a database, you can put the code for connecting to the database (fetching environment variables, etc.) and common operations in one file, and let other scripts depend on it: util/db-setup.clj: '{:dependencies [[org.clojure/java.jdbc "0.6.0"] [org.postgresql/postgresql "9.4.1207.jre7"]]} (require '[clojure.java.jdbc :as jdbc]) (def db {:dbtype "postgresql" :dbname (System/getenv "MYCORP_DBNAME") ;; +++ }) (defn get-users [tx] ...) user-charts.clj: '{:dependencies [[org.clojure/clojure "1.8.0"] [com.hypirion/clj-xchart "0.2.0"]] :file-deps #{"util/db-setup.clj"}} ;; additional functions here (jdbc/with-db-transaction [tx db] (->> (get-users tx) (aggregate-stats tx) (generate-charts {:joined "users-joined.png" :activity "user-activity.png"}))) This is not a replacement for namespaces though: If you feel the user namespace is getting polluted, it may be an idea to either refactor the commonly used code into a library, or make a CLI program in your favourite project management tool (Leiningen/Boot). Here is the full list of visible user changes: - Added support for :file-deps (Jean Niklas L'orange) - Added support for :exclusions in the parameter map (Jean Niklas L'orange) - Fixed a bug where the Windows daemon weren't properly daemonised (Jean Niklas L'orange) - Fixed a bug where Inlein crashed when port files weren't properly cleaned up (Mark Mathis) - Added proxy support via the System properties http.proxy{Port,Host} (Vladimir Kadychevski) - Fixed a bug where download failed on machines where /tmp and $HOME were on different mountpoints (Reid McKenzie) Thanks to all the contributors who made this happen! -- Jean Niklas -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.