Please log in to watch this conference skillscast.
Up to now, Scala has seen a lot of adoption on the server side. But JVM warm up is not that a problem in many cases, and with scala-native around the corner, Scala is undoubtedly about to become a language of choice for CLI applications! Yet, packaging a CLI application is not as straightforward as publishing libraries. One has to chose how to package the application (jar, deb, OS X or Windows installers, ...), how to publish these packages, on which servers, etc.
coursier is a CLI application and an sbt plugin aiming at making it easier to manage / fetch dependencies from Maven and Ivy repositories. In this talk, Alexandre will discuss how it can be put to profit to manage and launch CLI applications, as easily as one publishes and fetches libraries.
Using it, applications can be published to Maven Central or bintray repositories with the exact same workflow as libraries. Launching or creating launchers for these applications is then one coursier command away for your users, like for example coursier launch com.lihaoyi:ammonite2.12.2:1.0.0, to launch Ammonite, or coursier bootstrap com.geirsson:scalafmt-cli2.11:1.1.0 -o scalafmt to generate a scalafmt launcher.
Alexandre will also discuss coursier's nascent support for scala-native, allowing you to generate native applications on-the-fly from generic scala-native artifacts, as easily as it handles JVM applications.
YOU MAY ALSO LIKE:
Lightning Talk - Seamless App Distribution with Coursier
Alexandre Archambault is currently working with Criteo. He has been solving data related problems and doing math with Scala professionally since early 2013, and has been contributing regularly to shapeless since mid-2014.