Fork me on GitHub
#depstar
<
2021-03-09
>
mccraigmccraig17:03:20

is there something like lein release on top of depstar ?

dcj17:03:03

depstar can build your jar and pom, deps-deploy can be used to deploy/install it. I am not currently aware of anything that can auto-bump/add/commit versions numbers, but I am new to the deps world, and there is a lot I don't know yet.

seancorfield17:03:01

@mccraigmccraig You can update the <version> (and <tag>) fields in pom.xml using the :version exec arg, but there's currently no automated "next release" type calculation. Feel free to open a GH issue (but also bear in mind my thoughts on SemVer 🙂 )

mccraigmccraig17:03:58

haha, i'm guessing you are not overly fond of semver @seancorfield... (not that i have much choice about it - apple uses a version of semver for ios, so i'm kinda stuck with it)

mccraigmccraig17:03:06

but i recently used lein release on a library project, and it took a bunch of tedium away very effectively, so i'm a fan now. whatever lein release does with version numbers, it's quite flexible with versions - it was fine dealing with versions like 5.0.0-alpha4

dharrigan17:03:09

I use these two scripts to deploy sentry-clj

mccraigmccraig17:03:36

oh, dyu work for sentry @U11EL3P9U ? if so, i've been very much enjoying your product recently 🙂

dharrigan17:03:03

Nope. I've sorta ended up taking over maintainership for the library

dharrigan17:03:20

however, anyone can contribute, as it's a community library and semi-official

dharrigan17:03:23

not really official

dharrigan17:03:38

if you know what I mean 😄

mccraigmccraig17:03:59

not official, but official 😃

dharrigan17:03:11

Feel free to borrow/ignore 🙂

seancorfield17:03:12

@mccraigmccraig I don't know what lein release does but I'd be happy to look at implementing some version update rules in depstar if you can explain what you'd like in a ticket.

seancorfield17:03:47

I would like to be able to automate the major.minor.commits calculation, for example, since I use that for all my projects.

seancorfield17:03:31

Although, frankly, the vast majority of the "work" associated with cutting a new release tends to be documentation updates, change log writing, and so on. Updating the pom.xml file is the least of my worries.

dharrigan17:03:43

I use that too. Makes sense - major, minor, commits 🙂

mccraigmccraig17:03:45

here's the list of lein release tasks we use on mpenet/alia @seancorfield - https://github.com/mpenet/alia/blob/master/project.clj#L87 - it does version-bumps, vcs commits, tags, pushes, and clojars deploys all the submodules as well as the top-level module... i've had my eye on a changelog plugin which automates the ##unreleased -> ##version section update too 🙂

mccraigmccraig17:03:18

obvs this is a lot of stuff, but none of it is actually done by lein release - that just sequences a bunch of regular lein tasks

mccraigmccraig17:03:47

but i'm a tools-deps n00b, so i'm not really sure what this sort of thing should look like in this new world

seancorfield17:03:43

Ah, so it's more at the task-pipeline level than part of the "JAR building" process. A lot of that doesn't belong in depstar (which probably already does too much). I would hope that tools.build might address some of this since I'm sure that Cognitect/Nubank have similar "task pipeline" needs and to their idea of a "build" tool will probably make that sort of thing easier.

seancorfield17:03:01

So "please wait" is probably the order of the day right now 🙂

mccraigmccraig17:03:08

lol, well that answers my background question then (i want to automate most of our release artefact deployment procedures and add them to the end of CI, 'cos it's a lot of manual work for a project with multiple backend containers, web, ios and android front-end apps - so i was wondering whether i should move our big monorepo from lein over to tools-deps at the same time... "please wait" 😃)

mccraigmccraig17:03:26

is tools.build soon to be a thing @seancorfield ? i've not heard of it before

seancorfield17:03:17

Alex Miller has mentioned it on his Inside Clojure blog and it's been brought up in various channels here in Slack over the last year.

seancorfield17:03:47

There are no details available, other than the name, and some hints from Alex that it addresses "builds".

seancorfield17:03:32

Back in mid-November, Alex responded to a question about why -X:deps mvn-pom doesn't expose the ability to set the version in pom.xml by saying "Slack: alexmiller: no real reason - the internals have been refactored to make this feasible but really I expect this to probably go away in favor of doing this via tools.build (which uses most of this same code)"

seancorfield17:03:48

(I'm just searching the Zulip chat history for mentions of tools.build)

mccraigmccraig17:03:56

mysterious! well i hope it turns out as nifty as gulpjs/gulp , which is my favourite of the build tools i've used recently

mccraigmccraig18:03:12

thank you for the pointers @seancorfield !

seancorfield18:03:29

Back in mid-October, in response to questions about compiling Java code in the CLI/`deps.edn` world, Alex said "alexmiller: support for this is coming in the upcoming tools.build"