/lein-localrepo

Work with local Maven repository

Primary LanguageClojure

lein-localrepo

Leiningen plugin to work with local Maven repository.

Installation

Lein 2 users

The recommended way is to install as a global plugin in ~/.lein/profiles.clj (for Windows users %USERPROFILE%\.lein\profiles.clj):

{:user {:plugins [[lein-localrepo "0.5.4"]]}}

You may also install as a project plugin in project.clj:

:plugins [[lein-localrepo "0.5.4"]]

Lein 1.x users

Either install as a plugin:

$ lein plugin install lein-localrepo "0.3"

Or, include as a dev-dependency:

:dev-dependencies [lein-localrepo "0.3"]

Usage

Guess Leiningen (Maven) coordinates of a file

$ lein localrepo coords <filename>

Example:

$ lein localrepo coords foo-bar-1.0.6.jar

Output:

foo-bar-1.0.6.jar foo-bar/foo-bar 1.0.6

Install artifacts to local Maven repository

$ lein localrepo install [-r repo-path] [-p pom-file] <filename> <[groupId/]artifactId> <version>

If no POM file is specified, a minimal POM will be automatically generated.

Examples:

$ lein localrepo install foo-1.0.6.jar com.example/foo 1.0.6
$ lein localrepo install foomatic-1.3.9.jar foomatic 1.3.9
$ lein localrepo coords /tmp/foobar-1.0.0-SNAPSHOT.jar | xargs lein localrepo install

List artifacts in local Maven repository:

$ lein localrepo list [-r repo-path] [-s | -f | -d]

Examples:

$ lein localrepo list       # lists all artifacts, all versions
$ lein localrepo list -s    # lists all artifacts with description
$ lein localrepo list -f    # lists all artifacts and filenames
$ lein localrepo list -d    # lists all artifacts with detail

Remove artifacts from local Maven repository (Not Yet Implemented):

$ lein localrepo remove <[groupId/]artifactId> [<version>]

Examples:

$ lein localrepo remove com.example/foo        # removes all versions
$ lein localrepo remove foomatic               # removes all versions
$ lein localrepo remove com.example/foo 1.0.3  # removes only specified version

Note: As an alternative while this feature is being implemented, removing artifacts is composed of two steps: First, find the path to the artifact with lein classpath | tr ":" "\n" | grep m2.*<YOUR ARTIFACT ID HERE>. Second, delete the directory of that artifact from the group ID or the root of that artifact.

Getting in touch

On Twitter: @kumarshantanu

On Leiningen mailing list: http://groups.google.com/group/leiningen

License

Copyright (C) 2011-2017 Shantanu Kumar

Distributed under the Eclipse Public License, the same as Clojure.