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?)))
(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!)))

View File

@@ -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 "/")))

View File

@@ -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;
}
}