Hi! Rusty Clojure Dev here. Trying to follow project-templates . Getting
$ clojure -T:project/create :template practicalli/service \
:name practicalli/gameboard :target-dir gameboard-service
Error building classpath. Library io.github.practicalli/project-templates has invalid tag: 2023.07.14
Using current clojure-cli-configalong with
$ clj --version
Clojure CLI version 1.11.1.1347
$ java --version
openjdk 20.0.1 2023-04-18
Any ideas what I might be missing?Ah, I might have used dashed instead of dots for the version in Practicalli Clojure CLI... Let me start the computer and check
Apologies, I had used dashed in the release and dots in the project docs and Clojure CLI Config. Both should be fixed now, please pull the latest clojure-cli-config. I will do some testing as soon as the computer is on...
You are amazing! Thanks!
There still appears to be an issue.
$ clojure -T:project/create :template practicalli/service \
:name practicalli/gameboard :target-dir gameboard-service
Checking out: at 253f32af67a87bc4f6d7f60e2a7353ca220a9d81
Checking out: at a22c6b108de75a54f2cecff06ba754c36e653860
Template guide:
Creating project from practicalli/service in gameboard-service
Execution error (NoSuchFileException) at sun.nio.fs.UnixException/translateToIOException (UnixException.java:92).
/home/deas/.gitlibs/libs/io.github.practicalli/project-templates/a22c6b108de75a54f2cecff06ba754c36e653860/resources/practicalli/service/dev/user.clj Ah, it's failing with no :component option is passed, must have an incorrect filename in he default rules. I should be able to fix that....
Paasssing :component :donut or :component :integrant arguments at the end of the should work currently. I'll create a fix and a new release for the default (which obviously seems not to be tested well, sorry)
Yes, passing :componentdoes the trick. Again, thank you!
One more thing is hitting me. 😉
clojure -M:run/service
Execution error (FileNotFoundException) at de.xxx.cmis-wrap.system/eval6959$loading (system.clj:9).
Could not locate practicalli/hole_in_one/router__init.class, practicalli/hole_in_one/router.clj or practicalli/hole_in_one/router.cljc on classpath. Please check that namespaces with dashes use underscores in the Clojure file name.
No hurries. Just saying. 😉Other that that: Those templates look great!
Yes, it seems I missed a substitution in the system.clj file, so its using a hard-coded namespace which worked in my tests but not in general. The router namespace require has now been fixed in the template I've also pushed several fixes to the default service template, so this should work now. So 2023-07-17-2 version should be working (although it seems I should figure out how to automate testing of the generated projects.
Thanks John!