Fork me on GitHub
#development-containers2021-08-18
>
pez14:08:23

Hi! I specifically wanted to ask @seancorfield about how you think a good Gitpod Clojure template should work. I am thinking about the template that Gitpod are about to make available from their GUI. We can create all sorts of templates too, but the one that users will find in the Gitpod dashboard needs to be quite general. I’m thinking it should have clojure, leiningen, babashka and maybe something more (polylith?) pre-installed. And then deps-new and clj-new as well. The README should only give some basic hints about how to create a project. However, if the user creates a project using, say deps-new, this project will be placed one level down in the directory structure. Maybe this is not a problem? Sorry, unsorted wall of text. I haven’t wrapped my mind around this very well yet.

seancorfield15:08:55

I haven't played with Gitpod enough yet to have strong opinions. Part of me would like to "strongly encourage" folks to adopt newer tooling and also to try to keep it simple -- but that somewhat conflicts with making it "general" and "broadly applicable". Are you thinking that it would allow users to create new projects etc via the terminal, using clojure -Tnew app :name com.acme/my-cool-app kind of stuff or something more integrated into VS Code?

pez15:08:59

I am thinking using the terminal, like you point out there. Also thinking we should strongly encourage modern tooling, but that the workspace still should have leiningen available. (We can probably skip boot.

seancorfield15:08:20

Def. skip boot at this point. I've been trying to engage the Boot folks for months about the Verified Group Names stuff so that boot new conforms by default. The Leiningen folks got onboard pretty quickly changing both how projects are generated and how they are searched but nada from the Boot folks -- so that project is either "dead" or they don't care about important changes in the Clojure world, it seems.

pez15:08:31

And Calva doesn’t help with anything regarding boot projects. 😃

pez15:08:07

Can I tell deps-new to generate the project in the current directory? (As opposed to a sub directory.)

seancorfield15:08:56

Yes, :target-dir '"."' :overwrite true

pez15:08:20

Awesome!

seancorfield15:08:58

(`:overwrite` defaults to false except for the pom shortcut, :target-dir is derived from the project name by default)

seancorfield15:08:31

I was just looking at the prebuild stuff -- nice that you can set that up per branch (I use it to set up the Clover config.cljs file in ~/.config/clover/ so that my shortcut tasks are all installed).

pez16:08:01

I’m using it for rich4clojure too, to have things as prepared as possible.