oakes / Lightmod

An all-in-one tool for full stack Clojure
https://sekao.net/lightmod/
The Unlicense
275 stars 13 forks source link

Creating a template with other external dependencies #19

Open interstar opened 4 years ago

interstar commented 4 years ago

LightMod is looking really exciting for a couple of things I want to do.

I teach some workshops in Clojure, but I've never been able to do it for beginners because of the complexity of setting up tooling etc. LightMod looks a good bet for this.

I also use Processing a lot and teach classes in it. And I'd like to create a couple of templates which use, say, Quil (http://quil.info/) and my own Patterning (https://github.com/interstar/Patterning-Core) which would make it easy for beginners to do graphical things in Clojure. But these obviously have other dependencies.

So how is it possible to make new templates that also bring dependencies in with them?

oakes commented 4 years ago

In the short term, the best solution is to build a custom version of lightmod where you add what you need in the :app alias and replace one of the built-in templates. For example, you could change the list of files in the basic-game template (and update files.edn to reflect that). If you change the dir name, you'll need to change the keyword here to match it. Finally to change the text of the button you'd have to modify the fxml file. I'm pretty sure that's it.

Ideally we would have some kind of feature that could pull dependencies automatically, maybe with add-lib. But that still leaves open the question of how to add new templates without forking the project and doing the above stuff. I don't have any ideas on that right now.