diff --git a/doclet/src/clojure/play_clj_doclet/core.clj b/doclet/src/clojure/play_clj_doclet/core.clj index e0afe52..9c6b982 100644 --- a/doclet/src/clojure/play_clj_doclet/core.clj +++ b/doclet/src/clojure/play_clj_doclet/core.clj @@ -142,9 +142,8 @@ (remove nil?))) (defn parse-clj - [java-docs] - (->> (io/file "../src/") - file-seq + [java-docs files] + (->> files (filter #(-> % .getName (.endsWith ".clj"))) (remove #(contains? ignore-files (.getName %))) (sort-by #(.getName %)) @@ -155,18 +154,25 @@ (group-by :ns) (into (sorted-map)))) -(defn save! - [parsed-files] - (html/create-site! "site" parsed-files) - (html/create-embed! "embed" parsed-files) - (println "Created site/ and embed/")) +(defn generate! + [java-docs] + (let [play-clj-files (file-seq (io/file "../src/")) + nightmod-file (io/file "../../nightmod/src/clojure/nightmod/game.clj") + net-file (io/file "../../play-clj.net/src/play_clj/net.clj")] + (->> play-clj-files + (parse-clj java-docs) + (html/create-site! "site")) + (when (and (.exists nightmod-file) (.exists net-file)) + (->> play-clj-files + (concat [nightmod-file net-file]) + (parse-clj java-docs) + (html/create-embed! "embed"))))) -(defn parse +(defn generate-all! [^RootDoc root] (if (= 0 (count (.classes root))) (println "No Java classes found") (->> (map parse-class (.classes root)) (filter some?) (apply concat) - parse-clj - save!))) + generate!))) diff --git a/doclet/src/clojure/play_clj_doclet/html.clj b/doclet/src/clojure/play_clj_doclet/html.clj index 4923d1c..11fa3bf 100644 --- a/doclet/src/clojure/play_clj_doclet/html.clj +++ b/doclet/src/clojure/play_clj_doclet/html.clj @@ -94,7 +94,8 @@ (spit (io/file dir (str->filename ns name)) (create-site-file name (sidebar parsed-files) (content group))))) (spit (io/file dir "index.html") - (create-site-file "play-clj docs" (sidebar parsed-files) nil))) + (create-site-file "play-clj docs" (sidebar parsed-files) nil)) + (println "Created" (str dir "/"))) (defn create-embed! [dir parsed-files] @@ -112,4 +113,5 @@ :file (str->filename ns name)}))) (apply concat) vec - pr-str))) + pr-str)) + (println "Created" (str dir "/"))) diff --git a/doclet/src/java/play_clj_doclet/core/Start.java b/doclet/src/java/play_clj_doclet/core/Start.java index 9d6e002..78defa3 100644 --- a/doclet/src/java/play_clj_doclet/core/Start.java +++ b/doclet/src/java/play_clj_doclet/core/Start.java @@ -9,8 +9,8 @@ import com.sun.javadoc.*; public class Start { public static boolean start(RootDoc root) { RT.var("clojure.core", "require").invoke(Symbol.intern("play-clj-doclet.core")); - Var parse = RT.var("play-clj-doclet.core", "parse"); - parse.invoke(root); + Var generate = RT.var("play-clj-doclet.core", "generate-all!"); + generate.invoke(root); return true; } }