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
I just published a release: https://github.com/kloimhardt/babashka/releases/tag/v0.2.2
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.
@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
like bb-web.exe and babashka-web.zip
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)
The name is determined in the script/compile scripts
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.
that's what I proposed as well
Oh, sorry I overlooked this
so then it must be a good idea :)
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
yes, let's just avoid confusion all around
understood, will come back with a new release attempt as basis for further steps
This is how it may look like (draft PR) https://github.com/littleli/scoop-clojure/pull/117
Made a new release with proposed naming. Pls. have a look if I missed anything.
@markus.agwin The zip has the name SNAPSHOT in it. Unpacking the zip, the binary is still called bb.exe, not bb-web.exe
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?
$ unzip babashka-0.2.3-SNAPSHOT-windows-amd64.zip
Archive: babashka-0.2.3-SNAPSHOT-windows-amd64.zip
inflating: bb.exe
I'll try again just to make sure
you are using babashka-0.2.3.. it is called babashka-web-0.2.3
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
Does it make sense to release this as bb-web <some other stable version> and not SNAPSHOT?
maybe just 0.2.2 same as normal bb?
so then people know: this is bb 0.2.2 + some extras?
cool. Now point 1: is the name SNAPSHOT a big problem (I do not know a good way to get rid of it)
@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.
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'
you could choose to only override these files in CI, just temporarily overwrite them there
I can't help you with not being able to push to your own repos :)
or are you trying to push a tag?
you can edit / remove tags on github
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.
Note that deleting a release is not the same as deleting a tag, you have to do both
I don't see the tag anymore in your repo, so I'm puzzled why you're not able to push
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
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?
@markus.agwin I think this is derived from the files I just linked you in resources.
understood, I just change the content of the file BABASHKA_VERSION (thought there is a more standard way somehow involving BABASHKA_RELEASED_VERSION)
the RELEASED_VERSION file is only used for the linux/mac installer script
ah, I see, thank you for the info. I get back to work on a next release attempt 🙂 thank you for the patience.
thank YOU for your efforts
the efforts are mostly because bb-web is for folks like me who are not well versed in dev-ops things.
Now AppVayor obviously delays my builds because I made so many today or so... need to wait for that build.
@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
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 🙂
you can see the history here: https://ci.appveyor.com/project/kloimhardt/babashka/history
it only runs one build at a time
Now its a bit clearer to me what's going on
somehow the magic worked, voilà a new release. Pls. have a look.
looks good to me
@ales.najmann can you work with the lastest Babashka-web release or is anything missing?
@markus.agwin side question, what should be homepage of this project? should I use just github home?
good question, why is there one repo called babashka and one bb-web
PR with manifest: https://github.com/littleli/scoop-clojure/pull/117
I would change A Clojure babushka for the grey areas of Bash
into something which makes it clear that this is a fork
I agree. I let @markus.agwin decide what he wants there before I merge it 🙂
bb-web is a repository with examples for beginners. Let me think about all this naming, will come back.
@markus.agwin Idea: maintain a bb-web branch in your fork, with adapted README/examples etc.
so only one repo with examples and releases
and the master branch will be the original which can be used for merging upstream bb
@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.
then maybe call your fork repo bb-web or babashka-web and your other one bb-web-examples
or rename the current kloimhardt/babashka into babashka-web?
yes
on the case. @ales.najmann will come back with a title and link to renamed git repository being the homepage.
@ales.najmann Homepage: https://github.com/kloimhardt/babashka-web/tree/bb-web Title: A babashka fork for small web-apps
@markus.agwin Github also allows you to set a default branch, so then you can leave out the /tree stuff
Note that your README says: Note: the relevant branch of this fork is guestbook2 which is a bit confusing
cleaned all up and set default branch. So the homepage is just https://github.com/kloimhardt/babashka-web
I need to set the title in the repository as well.
looking good
Should I replace the standard Babashka Readme.md in the bb-web branch or is this confusing?
You could do that, while pointing to the original readme at the top
Up to you
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.
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
:thumbsup:
👏
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?
I can test too
is it ready for testing?
@ales.najmannis it necessary to do scoop bucket add java
for successful scoop install bb-web
?
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?
It's optional. It's convenience for those who want to use scoop for both clojure (clj) and java installation
If you side-installed java from other distribution channel, it's fine.
for binary tools, java installation is not necessary of course.
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.
you mean, you installed other tools from the bucket and after that it started working?
if it's the case I think candidate for this are:
extras/vcredist2010
extras/vcredist2015
probably 2015, same as bb original
there is proper depends in bb-web manifest.
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.
You need to add scoop-clojure
since that's the bucket with all clojure-related things
where the packages are hosted from litteli
yes, extras bucket and scoop-clojure needs to be added before issuing installation commands.
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.
install git is necessary as well for bb-web, right?
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.
git is necessary actually for scoop itself 🙂
scoop uses git to update itself
so scoop install git
would not work without git being installed in the first place?
No. I believe the reason is to be able to do scoop update scoop
under the hood.
or something similar
I will also use git for my package manager: https://github.com/borkdude/glam it makes sense. brew does it too
I see. I start to understand why some government organisations still use Excel 🙂
for package management?
Excel for avoiding package management at all. Unfortunately, Universities too.
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.
For sure stay away! But still we all depend on them and fund them.
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.
👍
Awesome work, thanks again!
Interesting! I would like to package it for scoop. Do you plan to have regular releases on Github?
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?
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.