babashka

https://github.com/babashka/babashka. Also see #sci, #nbb and #babashka-circleci-builds .
Markus Agwin 2020-10-06T16:43:32.282100Z

I made bb fork that includes ring middleware and reitit routing functions. MS-Windows executable is provided. https://github.com/kloimhardt/bb-web#edit-with-parinfer-codemirror

6
Markus Agwin 2020-10-07T13:29:11.284300Z

I just published a release: https://github.com/kloimhardt/babashka/releases/tag/v0.2.2

littleli 2020-10-07T15:22:19.284600Z

I would suggest you to maintain the versions in sync. Under v0.2.2 there should be babashka-0.2.2-windows-amd64.zip Also I'll come with the something in scoop and we can tune it to a level it's convenient.

borkdude 2020-10-07T15:27:52.284800Z

@markus.agwin I think it would maybe be good if you renamed the executable and zip archive to something that doesn't conflict with the "official" babashka

borkdude 2020-10-07T15:28:07.285Z

like bb-web.exe and babashka-web.zip

Markus Agwin 2020-10-07T15:31:56.288300Z

I‘ll take care of the naming and come back. thank you for the feedback. Any hints where to look to set the names as I need to figure out how to do that (tomorrow)

borkdude 2020-10-07T15:32:24.288500Z

The name is determined in the script/compile scripts

littleli 2020-10-07T15:36:31.288700Z

it would be nice to dodge also binary conflicts. Technically binary sits in it's own directory, but having bb-web.exe would be nicer as well.

borkdude 2020-10-07T15:36:58.288900Z

that's what I proposed as well

littleli 2020-10-07T15:37:21.289100Z

Oh, sorry I overlooked this

borkdude 2020-10-07T15:37:31.289300Z

so then it must be a good idea :)

littleli 2020-10-07T15:38:42.289500Z

I can dodge this by setup shim in scoop, but still valid since, also users can just download, uncompress and copy to some PATH to use it side-by side with original babashka

borkdude 2020-10-07T15:39:36.289700Z

yes, let's just avoid confusion all around

Markus Agwin 2020-10-07T20:57:55.291500Z

understood, will come back with a new release attempt as basis for further steps

littleli 2020-10-07T21:29:32.291700Z

This is how it may look like (draft PR) https://github.com/littleli/scoop-clojure/pull/117

Markus Agwin 2020-10-08T13:28:13.294600Z

Made a new release with proposed naming. Pls. have a look if I missed anything.

borkdude 2020-10-08T13:30:18.294900Z

@markus.agwin The zip has the name SNAPSHOT in it. Unpacking the zip, the binary is still called bb.exe, not bb-web.exe

Markus Agwin 2020-10-08T13:33:07.295200Z

it has the name SNAPSHOT, yes. But the contained exe, I insist, has the name bb-web.exe. Are you sure on this second point?

borkdude 2020-10-08T13:33:26.295400Z

$ unzip babashka-0.2.3-SNAPSHOT-windows-amd64.zip
Archive:  babashka-0.2.3-SNAPSHOT-windows-amd64.zip
  inflating: bb.exe

borkdude 2020-10-08T13:33:36.295600Z

I'll try again just to make sure

Markus Agwin 2020-10-08T13:34:35.295800Z

you are using babashka-0.2.3.. it is called babashka-web-0.2.3

borkdude 2020-10-08T13:35:29.296Z

Seems to work:

$ unzip babashka-web-0.2.3-SNAPSHOT-windows-amd64.zip
Archive:  babashka-web-0.2.3-SNAPSHOT-windows-amd64.zip
  inflating: bb-web.exe

borkdude 2020-10-08T13:35:54.296200Z

Does it make sense to release this as bb-web <some other stable version> and not SNAPSHOT?

borkdude 2020-10-08T13:36:25.296500Z

maybe just 0.2.2 same as normal bb?

borkdude 2020-10-08T13:36:34.296700Z

so then people know: this is bb 0.2.2 + some extras?

Markus Agwin 2020-10-08T13:36:50.296900Z

cool. Now point 1: is the name SNAPSHOT a big problem (I do not know a good way to get rid of it)

borkdude 2020-10-08T13:37:40.297100Z

@markus.agwin These numbers are set in these files: https://github.com/kloimhardt/babashka/tree/master/resources if you change them manually, these files will reflect that. Also bb-web --version will print the correct version.

Markus Agwin 2020-10-08T13:38:34.297400Z

concerting 0.2.2: I tried, but I cannot push it because git says: error: failed to push some refs to <mailto:'git@github.com|'git@github.com>:kloimhardt/bb-web.git'

borkdude 2020-10-08T13:38:46.297600Z

you could choose to only override these files in CI, just temporarily overwrite them there

borkdude 2020-10-08T13:39:22.297800Z

I can't help you with not being able to push to your own repos :)

borkdude 2020-10-08T13:39:59.298Z

or are you trying to push a tag?

borkdude 2020-10-08T13:40:20.298200Z

you can edit / remove tags on github

Markus Agwin 2020-10-08T13:43:16.299600Z

I deleted the tag 0.2.2 locally and created a new one. Deleted the tag via GitHub gui as well. Still I could not push the tag 0.2.2 . So decided to go for 0.2.3 . But I am sure this can be fixed somehow and a 0.2.2 can be made, I just did not try hard enough. So lets leave that for now, I'll look again into it.

borkdude 2020-10-08T13:43:52.300400Z

Note that deleting a release is not the same as deleting a tag, you have to do both

borkdude 2020-10-08T13:44:41.301600Z

I don't see the tag anymore in your repo, so I'm puzzled why you're not able to push

Markus Agwin 2020-10-08T13:45:51.302400Z

I tried around a lot and just gave up somewhere in the middle, did not go all the way, that's why. Just said f* it, I go for 0.2.3

Markus Agwin 2020-10-08T13:47:26.303200Z

Can fix that, give me some time. But the SNAPSHOT name is still an issue. How to remove this SNAPSHOT out of the .zip file name?

borkdude 2020-10-08T13:49:30.303600Z

@markus.agwin I think this is derived from the files I just linked you in resources.

Markus Agwin 2020-10-08T13:53:22.304600Z

understood, I just change the content of the file BABASHKA_VERSION (thought there is a more standard way somehow involving BABASHKA_RELEASED_VERSION)

borkdude 2020-10-08T13:54:08.304800Z

the RELEASED_VERSION file is only used for the linux/mac installer script

Markus Agwin 2020-10-08T13:54:55.305Z

ah, I see, thank you for the info. I get back to work on a next release attempt 🙂 thank you for the patience.

borkdude 2020-10-08T13:56:23.305200Z

thank YOU for your efforts

Markus Agwin 2020-10-08T13:58:09.305400Z

the efforts are mostly because bb-web is for folks like me who are not well versed in dev-ops things.

Markus Agwin 2020-10-08T14:11:08.305600Z

Now AppVayor obviously delays my builds because I made so many today or so... need to wait for that build.

borkdude 2020-10-08T14:12:44.305800Z

@markus.agwin It starts a new build for every commit, so you might have to cancel those. There's a setting for automatically stopping running builds on a new commit

Markus Agwin 2020-10-08T14:15:44.306Z

Will set that. But today I wanted a build for every single commit because I juggled around with tags and release versions and names. So the penalty is well deserved 🙂

borkdude 2020-10-08T14:16:51.306200Z

you can see the history here: https://ci.appveyor.com/project/kloimhardt/babashka/history

borkdude 2020-10-08T14:17:12.306400Z

it only runs one build at a time

Markus Agwin 2020-10-08T14:25:02.306600Z

Now its a bit clearer to me what's going on

Markus Agwin 2020-10-08T14:31:35.306800Z

somehow the magic worked, voilà a new release. Pls. have a look.

borkdude 2020-10-08T14:33:15.307Z

looks good to me

Markus Agwin 2020-10-08T14:34:45.307200Z

@ales.najmann can you work with the lastest Babashka-web release or is anything missing?

littleli 2020-10-08T14:45:54.307500Z

@markus.agwin side question, what should be homepage of this project? should I use just github home?

borkdude 2020-10-08T14:46:47.307700Z

good question, why is there one repo called babashka and one bb-web

littleli 2020-10-08T14:52:24.307900Z

PR with manifest: https://github.com/littleli/scoop-clojure/pull/117

borkdude 2020-10-08T15:02:03.308200Z

I would change A Clojure babushka for the grey areas of Bash into something which makes it clear that this is a fork

littleli 2020-10-08T15:08:51.308500Z

I agree. I let @markus.agwin decide what he wants there before I merge it 🙂

Markus Agwin 2020-10-08T15:16:10.308700Z

bb-web is a repository with examples for beginners. Let me think about all this naming, will come back.

👍 1
borkdude 2020-10-08T15:17:06.309Z

@markus.agwin Idea: maintain a bb-web branch in your fork, with adapted README/examples etc.

borkdude 2020-10-08T15:17:26.309200Z

so only one repo with examples and releases

borkdude 2020-10-08T15:17:51.309400Z

and the master branch will be the original which can be used for merging upstream bb

Markus Agwin 2020-10-08T15:20:31.309600Z

@borkdude That is the right approach from a technical point of view. But the example repository (now called bb-web) should be a small thing with just one master branch, so there is no doubt what it is.

borkdude 2020-10-08T15:20:59.309800Z

then maybe call your fork repo bb-web or babashka-web and your other one bb-web-examples

Markus Agwin 2020-10-08T15:23:16.310200Z

or rename the current kloimhardt/babashka into babashka-web?

borkdude 2020-10-08T15:24:21.310400Z

yes

Markus Agwin 2020-10-08T15:26:35.310600Z

on the case. @ales.najmann will come back with a title and link to renamed git repository being the homepage.

Markus Agwin 2020-10-08T15:49:33.310800Z

@ales.najmann Homepage: https://github.com/kloimhardt/babashka-web/tree/bb-web Title: A babashka fork for small web-apps

👍 1
borkdude 2020-10-08T15:50:59.311100Z

@markus.agwin Github also allows you to set a default branch, so then you can leave out the /tree stuff

borkdude 2020-10-08T15:51:29.311300Z

Note that your README says: Note: the relevant branch of this fork is guestbook2 which is a bit confusing

Markus Agwin 2020-10-08T16:00:32.311500Z

cleaned all up and set default branch. So the homepage is just https://github.com/kloimhardt/babashka-web

Markus Agwin 2020-10-08T16:01:00.311800Z

I need to set the title in the repository as well.

borkdude 2020-10-08T16:01:18.312Z

looking good

Markus Agwin 2020-10-08T16:04:17.312200Z

Should I replace the standard Babashka Readme.md in the bb-web branch or is this confusing?

borkdude 2020-10-08T16:04:54.312400Z

You could do that, while pointing to the original readme at the top

borkdude 2020-10-08T16:05:10.312600Z

Up to you

Markus Agwin 2020-10-08T16:09:27.312800Z

ok, will do theses cosmetics later on. @ales.najmann Is there anything I need to do for scoop? Remember the homepage is just the GitHub page without the /tree stuff.

littleli 2020-10-08T16:17:49.313Z

I think it's in good shape now. I did some adjustments to my draft, make it a proper PR. Check here: https://github.com/littleli/scoop-clojure/pull/117/files

borkdude 2020-10-08T16:18:10.313200Z

:thumbsup:

Markus Agwin 2020-10-08T16:22:48.313400Z

👏

littleli 2020-10-08T16:38:52.313600Z

I'm about to merge it. I need someone to actually test it, because I'm nowhere near my Windows box system. @borkdude 🙏 can I ask you to test it?

Markus Agwin 2020-10-08T16:45:22.313800Z

I can test too

Markus Agwin 2020-10-08T17:02:32.314Z

is it ready for testing?

Markus Agwin 2020-10-08T17:09:42.314200Z

@ales.najmannis it necessary to do scoop bucket add java for successful scoop install bb-web ?

Markus Agwin 2020-10-08T17:27:20.314400Z

just successfully installed bb-web with scoop. But I do not understand why I need to scoop bucket add java and install openjdk for it. Is this necessary or just accidental?

littleli 2020-10-08T17:54:36.314600Z

It's optional. It's convenience for those who want to use scoop for both clojure (clj) and java installation

littleli 2020-10-08T17:54:54.314800Z

If you side-installed java from other distribution channel, it's fine.

littleli 2020-10-08T17:55:26.315100Z

for binary tools, java installation is not necessary of course.

Markus Agwin 2020-10-08T18:03:18.315400Z

but still, just doing scoop install git scoop bucket add extras and scoop install bb-web did not do the trick. Something was missing, and after I did all the other (not obviously related) scoop commands described in the Readme.md, it worked.

littleli 2020-10-08T18:04:48.315600Z

you mean, you installed other tools from the bucket and after that it started working?

littleli 2020-10-08T18:08:34.315900Z

if it's the case I think candidate for this are: extras/vcredist2010 extras/vcredist2015

borkdude 2020-10-08T18:08:56.316100Z

probably 2015, same as bb original

littleli 2020-10-08T18:09:43.316300Z

there is proper depends in bb-web manifest.

Markus Agwin 2020-10-08T18:11:14.316500Z

Yes, that is what I mean. I tried scoop install joker before doing scoop bucket add java and all following commands. Error message was "Couldn't find manifest for joker". Then I did bucket add 1)java+2)scoop-clojure and install 3)jdk+4)clojure, then joker and bb-web worked. One of those thing 1)-4) seem necessary, and I do not understand why.

borkdude 2020-10-08T18:11:55.316700Z

You need to add scoop-clojure

borkdude 2020-10-08T18:12:04.316900Z

since that's the bucket with all clojure-related things

borkdude 2020-10-08T18:12:15.317100Z

where the packages are hosted from litteli

littleli 2020-10-08T18:12:56.317500Z

yes, extras bucket and scoop-clojure needs to be added before issuing installation commands.

Markus Agwin 2020-10-08T18:14:26.317700Z

I see. The reason I wanted to know is of course to write instruction for installing bb-web with scoop. But maybe an update of the scoop readme would be useful.

Markus Agwin 2020-10-08T18:15:59.317900Z

install git is necessary as well for bb-web, right?

littleli 2020-10-08T18:17:11.318100Z

I'll consider this as more and more tools are present and they maybe some useful without having even clojure installed. Which wasn't the initial purpose.

littleli 2020-10-08T18:17:39.318300Z

git is necessary actually for scoop itself 🙂

littleli 2020-10-08T18:18:41.318500Z

scoop uses git to update itself

Markus Agwin 2020-10-08T18:19:26.318700Z

so scoop install git would not work without git being installed in the first place?

littleli 2020-10-08T18:26:55.318900Z

No. I believe the reason is to be able to do scoop update scoop under the hood.

littleli 2020-10-08T18:27:19.319100Z

or something similar

borkdude 2020-10-08T18:28:42.319300Z

I will also use git for my package manager: https://github.com/borkdude/glam it makes sense. brew does it too

Markus Agwin 2020-10-08T18:38:24.319700Z

I see. I start to understand why some government organisations still use Excel 🙂

borkdude 2020-10-08T18:39:54.319900Z

for package management?

Markus Agwin 2020-10-08T18:42:52.320100Z

Excel for avoiding package management at all. Unfortunately, Universities too.

borkdude 2020-10-08T18:43:54.320300Z

I worked at the national tax service where they still used Office 97 because some scripts relied on that. It's best to stay away from those places.

Markus Agwin 2020-10-08T18:45:26.320500Z

For sure stay away! But still we all depend on them and fund them.

littleli 2020-10-09T07:33:19.321100Z

now what I usually do is to "watch releases only" on Github and once a new release is out, I run a script with version and generate a manifest for it.

Markus Agwin 2020-10-09T14:34:42.322200Z

👍

borkdude 2020-10-06T19:58:09.282700Z

Awesome work, thanks again!

👍 1
littleli 2020-10-06T21:09:33.283Z

Interesting! I would like to package it for scoop. Do you plan to have regular releases on Github?

Markus Agwin 2020-10-06T21:21:48.283300Z

My intention is not to add anything in the near future to my forked Babashka repository. The bb-web repository will be updated though. What would you need for making a scoop package?

littleli 2020-10-06T21:34:16.283500Z

Basically if you upload binary, output from appveyor) as zipped file as Github release, similar to what babashka is doing, it's already quite good.