Fork me on GitHub
#clojars
<
2020-06-25
>
eskos08:06:44

Is it possible to attach custom project metadata to clojars publish? I’d want to tag versioning scheme, as it seems break versioning is gaining traction, and some people use date of release, while SemVer is what Maven natively just assumes, even though Maven’s versioning is way older than the SemVer spec. Reason for this is that using tools such as lein ancient would need this metadata to be able to work correctly, as it simply expects SemVer with Maven’s snapshot/qualified additions.

tcrawley18:06:52

There's no direct way to attach metadata since we are built on top of maven poms which aren't really extensible. A few options I've thought about for something like this are: • setting properties in the pom file - those are intended to be used to set system properties at runtime, but could be abused to store metadata • adding a optional metadata file that can be deployed alongside an artifact. It would use maven's classifier system, so wouldn't custom deployment machinery. It would require lein/whatever changes or plugins though

eskos06:06:23

Hmmh. So it would have to be totally custom, somewhat annoying…

eskos06:06:28

FWIW, the same problem is solved by eg. Nexus and Artifactory by providing an entirely separate system (think property files with RGB LEDs or whatever the cool kids nowadays do to pimp out their stuff…)

eskos06:06:00

I guess that would mean that in order to be able to get this, Clojure community would need to agree on project metadata descriptor which would work from sensible defaults to overridable logic to keep backwards compatibility at bay and I shudder at the thought of that, although it probably would be the most useful thing in long run…I definitely am not the person to do so, but thinking out loud the whole deps.edn effort could also benefit from this.

eskos06:06:36

Thanks anyways! 🙂 Have to let this thought simmer a bit longer.