is there something like lein release
on top of depstar ?
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.
@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 🙂 )
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)
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
I use these two scripts to deploy sentry-clj
<https://github.com/getsentry/sentry-clj/blob/master/bin/build>
<https://github.com/getsentry/sentry-clj/blob/master/bin/deploy>
Feel free to borrow/ignore 🙂
oh, dyu work for sentry @dharrigan ? if so, i've been very much enjoying your product recently 🙂
Nope. I've sorta ended up taking over maintainership for the library
however, anyone can contribute, as it's a community library and semi-official
not really official
if you know what I mean 😄
not official, but official 😃
@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.
I would like to be able to automate the major.minor.commits calculation, for example, since I use that for all my projects.
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.
I use that too. Makes sense - major, minor, commits 🙂
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 🙂
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
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
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.
So "please wait" is probably the order of the day right now 🙂
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" 😃)
is tools.build
soon to be a thing @seancorfield ? i've not heard of it before
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.
There are no details available, other than the name, and some hints from Alex that it addresses "builds".
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)"
(I'm just searching the Zulip chat history for mentions of tools.build
)
mysterious! well i hope it turns out as nifty as gulpjs/gulp
, which is my favourite of the build tools i've used recently
thank you for the pointers @seancorfield !
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"