pmonks / clojars-poms

A little tool for exploring Clojars-deployed POM files

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Open Issues GitHub last commit License

clojars-poms

A little tool that started out as a way to explore the dependencies between projects deployed to Clojars, but is now a more generally useful tool for analysing the POMs of projects deployed to Clojars.

Installation

For now the code isn't deployed anywhere, so best to clone this repo, then take a look at the source.

If you've installed the Clojure CLI tools you can run the sample script and be dropped in a REPL via:

$ clojure -i repl-init.clj -r

Note: the repl-init.clj script uses the spinner library, which isn't compatible with the clj command line script.

The first time this script is run it will pull down all POMs from clojars.org and cache them locally, which can take an hour or more depending on your network connection. As of mid 2023, this is ~265,000 POM files (and the same number of metadata files for caching purposes) totalling ~2.4GB. On subsequent runs it will be a lot faster (especially if prevent-sync is set to true!), as it uses etag requests to Clojars to only pull what's new or modified.

Please limit how often you re-sync poms from Clojars! They provide a wonderful service to the Clojure community for free, but someone is paying for their bandwidth and those folks deserve our respect!

Look at repl-init.clj for more details on what the script sets up and how you can experiment with this data.

Developer Information

GitHub project

Bug Tracker

License

Copyright © 2019 Peter Monks (pmonks@gmail.com)

Distributed under the Apache License, Version 2.0.

SPDX-License-Identifier: Apache-2.0

About

A little tool for exploring Clojars-deployed POM files

License:Apache License 2.0


Languages

Language:Clojure 100.0%