Ho bisogno di condividere uno spazio dei nomi tra il mio Clojure (Garden) e il mio ClojureScript (Reagent).Clojure che non richiede un file cljc
Attualmente la cartella del progetto appare così:
src/
clj/
name/
css.clj
cljs/
name/
core.cljs
cljc/
name/
config.cljc
Il file config.cljc
ha il seguente spazio: (ns name.config)
.
Ho provato a fare riferimento a questo spazio dei nomi dall'interno di clj/name/css.clj
con un requisito.
(ns name.css
(:require [name.config :as config]))
Tuttavia, questo genera un errore di compilazione da Garden.
Causato da: java.io.FileNotFoundException: Impossibile trovare nome/config__init.class o nome/config.clj su classpath.
Immagino che non stia nemmeno controllando i file cljc
.
ho aggiunto "src/cljc"
al :source-paths
vettore in project.clj
e :garden :builds
ma ottengo lo stesso errore anche dopo il riavvio dei processi di build.
Vedo questo comportamento su Clojure 1.7.0 e 1.8.0.
Potrebbe anche essere utile ricordare che funziona senza problemi in ClojureScript (con Figwheel che gestisce la build). Posso richiedere e utilizzare il nuovo spazio dei nomi senza problemi.
Sembra che mi manchi mancare qualcosa di veramente semplice, perché nessuna documentazione intorno ai file .cljc
menziona anche la richiesta.
'project.clj' ha' org.clojure/clojure' in '" 1.7.0 "' e quando avvio un REPL conferma 'Clojure 1.7.0'. Qualcos'altro che deve essere impostato in 'project.clj'? –
Ho lo stesso problema quando uso anche la 1.8.0. –
Quale versione di Leinigen stai usando? Potresti provare uno più recente se esiste. –