From d2984cc51bf9b9dacf250717b92983680c03d2a7 Mon Sep 17 00:00:00 2001 From: Alexandre Archambault Date: Wed, 20 Apr 2016 16:21:55 +0200 Subject: [PATCH] Update description in notes --- notes/about.markdown | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/notes/about.markdown b/notes/about.markdown index a43ce7d41..61716498d 100644 --- a/notes/about.markdown +++ b/notes/about.markdown @@ -1 +1,27 @@ -[coursier](http://github.com/alexarchambault/coursier) is a pure Scala library to resolve and fetch Maven dependencies and artifacts. +[coursier](http://github.com/alexarchambault/coursier) is a dependency resolver / fetcher *à la* Maven / Ivy, entirely +rewritten from scratch in Scala. It aims at being fast and easy to embed +in other contexts. Its very core (`core` module) aims at being +extremely pure, and only requires to be fed external data (Ivy / Maven metadata) via a monad. + +It handles fancy Maven features like + +* POM inheritance, +* dependency management, +* import scope, +* properties, +* etc. + +and is able to fetch metadata and artifacts from both Maven and Ivy repositories. + +Compared to the default dependency resolution of SBT, it adds: + +* downloading of artifacts in parallel, +* better offline mode - one can safely work with snapshot dependencies if these are in cache (SBT tends to try and fail if it cannot check for updates), +* non obfuscated cache (cache structure just mimicks the URL it caches), +* no global lock (no "Waiting for ~/.ivy2/.sbt.ivy.lock to be available"). + +From the command-line, it also has: +* a [launcher](https://github.com/alexarchambault/coursier#launch), able to launch apps distributed via Maven / Ivy repositories, +* a [bootstrap](https://github.com/alexarchambault/coursier#bootstrap) generator, able to generate stripped launchers of these apps. + +Lastly, it can be used programmatically via its [API](https://github.com/alexarchambault/coursier#api) and has a Scala JS [demo](https://github.com/alexarchambault/coursier#scala-js-demo).