On Jul 4, 12:57 am, Konrad Hinsen <konrad.hin...@fastmail.net> wrote: > I am looking for a build tool that fulfills the following requirements: > > 1) Must handle Clojure namespaces that are AOT-compiled. > 2) Must handle Clojure namespaces that are not AOT-compiled. > 3) Must handle Java source code files. > 4) Must handle dependencies in the form of on-disk jar files (not in > any repository) > 5) No XML configuration files. > > Candidates that I have tried and found insufficient include > - Leiningen (no dependencies without repositories) > - Cake (doesn't handle Java source files) > - Eclipse/Counterclockwise (doesn't handle AOT compilation) > - ant, maven: XML configuration files > - scons: incomplete Java support, no Clojure support > > Is there anything else worth trying?
Maven works, but if you don't want XML why not just use Leiningen? Split your code base into various modules (each module having its own project.clj) and have a shell script (or PowerShell script if you're on Windows) to take care of the dependencies while building across modules. For example, take this use-case of modules A, B, C and D: A --> B --> C `-> D (A depends on B and D, B depends on C) Write a shell script: -------------------------------- #!/usr/bin/env bash p_home=`dirname $0` function mod { cd $p_home/modules/$1 # arg is module dir lein deps && lein jar && lein install } # To build A (all) mod "C" && mod "B" && mod "D" && mod "A" -------------------------------- If AOT gives you trouble, factor those source files out into a dependency module and so on. IMHO this approach gives much more flexibility than any constrained multi-module feature of a build tool. Regards, Shantanu -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en