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.

Reply via email to