How to upgrade your Clojure projects to use Java 11

Dec 11, 2018

JDK 11 is the latest release of the JDK (Java Development Kit). There are several changes since JDK 8 that will require projects to update their dependencies or build tools. Many open source projects have resolved these issues when adding support for JDK 9 and 10. For most projects that have been updating their dependencies regularly, the upgrade process to JDK 11 shouldn’t be too difficult. Last year I wrote a guide on upgrading Clojure projects to Java 9.

Continue reading »

Google Cloud Platform - The Good, Bad, and Ugly (It's Mostly Good)

Jul 12, 2018

Looking for a cloud hosted Maven repository when working with Google Cloud? Sign up for a free 14-day trial of Deps Private Maven Repositories. Deps is a private, hosted, Maven repository. While building it I had a critical decision to make - Where to host it? I evaluated many different hosting services but decided on Google Cloud Platform (GCP). I’ve been using it in pre-production and then production for over a year and a half now.

Continue reading »

It Takes a Village to Separate A Family

Jun 19, 2018

Over the weekend I saw a new customer had signed up for a trial for Deps to store their source code dependencies. “Neat!” I thought. I went to send them a welcome email and checked out their company site. This company is a Silicon Valley surveillance tech startup in the same vein as Palantir. They build software and hardware to help with border security in America. I was now faced with a decision on whether to serve them or not.

Continue reading »

What's new in Leiningen 2.8.0 and 2.8.1?

Apr 27, 2018

Leiningen 2.8.0 and 2.8.1 came out in October of 2017. The previous release was in September 2016 so 2.8.0 and 2.8.1 contain a lot of new features and bugfixes. 2.8.1 is a bugfix release for 2.8.0, so you should update to 2.8.1 over 2.8.0. This post will outline the major new features of these releases. Java 9 support The biggest reason for upgrading Leiningen is Java 9 support. Leiningen 2.8.0 removes its use of the BootClassPath, as this caused problems in Java 9 with Clojure 1.

Continue reading »

How to upgrade your Clojure projects to use Java 9

Dec 6, 2017

Java 9 was recently released on September 21st, 2017. If you’re a Clojure developer, you’re probably keen to try it out to see some of the new features and performance improvements available. To do so, you need to do a few things. For most projects, this will be a small to moderate amount of work.

Continue reading »

Announcing Deps Versions

Nov 13, 2017

Today I’m happy to announce Deps Versions. Deps Versions lets you add a badge to your Clojure projects on GitHub, to show when your dependencies are up to date, or not. Here is one for re-frame, a project I help maintain. The badge was created from this Markdown snippet: [![Dependencies Status](]( You can create badges for any open source project on GitHub, by entering its slug into the search box.

Continue reading »

What's New in Cursive 1.5.0?

May 5, 2017

Cursive, the Clojure editor for IntelliJ released version 1.5.0 today. In this post I wanted to highlight a few big improvements that it brings to dependency management. Adding Dependencies The headlining feature in 1.5.0 is search and autocompletion for dependencies. Cursive provides this in two ways. If you’re editing dependencies in your project.clj file, Cursive will now provide code completion suggestions for artifacts and versions. The second way to add dependencies is to use the Generate command.

Continue reading »

Why Deps?

Dec 26, 2016

Historically, if you worked in a company that wanted to share JARs among projects without open sourcing them, then you needed to run a private Nexus or Archiva instance yourself. If that works for you, then great! But if you would prefer not to have to run that server, monitor it, secure it, and patch it, then Deps is for you. Deps is a new JAR hosting service for developers. It takes away the maintenance overhead of running a JAR server.

Continue reading »