diff --git a/build.tools.nix b/build.tools.nix index a49ac36..1aa25b8 100644 --- a/build.tools.nix +++ b/build.tools.nix @@ -7,8 +7,8 @@ let version = "0.8.2"; full-name = "${base-name}-${version}.jar"; cljdeps = callPackage ./deps.nix { }; - classpath = cljdeps.makeClasspaths { }; - dep-jars = splitString ":" classpath; + tools-classpath = cljdeps.makeClasspaths { }; + dep-jars = splitString ":" tools-classpath; extract-jar = jar: "jar -xf ${jar}"; manifest = writeText "MANIFEST.MF" '' @@ -18,8 +18,8 @@ let pthru = o: builtins.trace o o; - java-compile = ns: - ''java -cp .:${./src}:${classpath} clojure.main -e "(compile ${ns})"''; + java-compile = classpath: ns: + ''java -cp .:${classpath} clojure.main -e "(compile ${ns})"''; head-or-null = lst: if (lst == [ ]) then null else head lst; matches-ext = ext: filename: type: (builtins.match ".+[.]${ext}$" filename) != null; @@ -41,9 +41,10 @@ in stdenv.mkDerivation { buildPhase = '' mkdir classes HOME=. + cp ${./src}/build.clj . ${concatStringsSep "\n" (map extract-jar dep-jars)} - ${concatStringsSep "\n" (map java-compile all-namespaces)} - ${java-compile "'build"} + ${concatStringsSep "\n" + (map (java-compile tools-classpath) (all-namespaces ++ [ "'build" ]))} jar cmf ${manifest} ./out.jar -C . cljs cognitect com javax mozilla plugin.xml about.html clojure cognitect_aws_http.edn data_readers.cljc licenses org '';