Generate nightmod docs if files exist

This commit is contained in:
oakes
2014-09-06 18:14:30 -04:00
parent e9bb51e24e
commit 4f233a24e0
3 changed files with 23 additions and 15 deletions

View File

@@ -142,9 +142,8 @@
(remove nil?))) (remove nil?)))
(defn parse-clj (defn parse-clj
[java-docs] [java-docs files]
(->> (io/file "../src/") (->> files
file-seq
(filter #(-> % .getName (.endsWith ".clj"))) (filter #(-> % .getName (.endsWith ".clj")))
(remove #(contains? ignore-files (.getName %))) (remove #(contains? ignore-files (.getName %)))
(sort-by #(.getName %)) (sort-by #(.getName %))
@@ -155,18 +154,25 @@
(group-by :ns) (group-by :ns)
(into (sorted-map)))) (into (sorted-map))))
(defn save! (defn generate!
[parsed-files] [java-docs]
(html/create-site! "site" parsed-files) (let [play-clj-files (file-seq (io/file "../src/"))
(html/create-embed! "embed" parsed-files) nightmod-file (io/file "../../nightmod/src/clojure/nightmod/game.clj")
(println "Created site/ and embed/")) 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] [^RootDoc root]
(if (= 0 (count (.classes root))) (if (= 0 (count (.classes root)))
(println "No Java classes found") (println "No Java classes found")
(->> (map parse-class (.classes root)) (->> (map parse-class (.classes root))
(filter some?) (filter some?)
(apply concat) (apply concat)
parse-clj generate!)))
save!)))

View File

@@ -94,7 +94,8 @@
(spit (io/file dir (str->filename ns name)) (spit (io/file dir (str->filename ns name))
(create-site-file name (sidebar parsed-files) (content group))))) (create-site-file name (sidebar parsed-files) (content group)))))
(spit (io/file dir "index.html") (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! (defn create-embed!
[dir parsed-files] [dir parsed-files]
@@ -112,4 +113,5 @@
:file (str->filename ns name)}))) :file (str->filename ns name)})))
(apply concat) (apply concat)
vec vec
pr-str))) pr-str))
(println "Created" (str dir "/")))

View File

@@ -9,8 +9,8 @@ import com.sun.javadoc.*;
public class Start { public class Start {
public static boolean start(RootDoc root) { public static boolean start(RootDoc root) {
RT.var("clojure.core", "require").invoke(Symbol.intern("play-clj-doclet.core")); RT.var("clojure.core", "require").invoke(Symbol.intern("play-clj-doclet.core"));
Var parse = RT.var("play-clj-doclet.core", "parse"); Var generate = RT.var("play-clj-doclet.core", "generate-all!");
parse.invoke(root); generate.invoke(root);
return true; return true;
} }
} }