leiningen/todo.org
2010-08-20 13:58:50 -07:00

77 lines
3.5 KiB
Org Mode

#-*- mode: org -*-
#+startup: overview
#+startup: hidestars
#+TODO: TODO | INPROGRESS | DONE
Leiningen TODOs
* For 1.4.0 or later
** TODO add option to use ~/.m2-based classpath instead of copying to lib/?
** TODO plugin task for managing/upgrading plugins
** TODO shell wrappers should support multiple versions
** TODO merge lein-search features?
** TODO classifiers for specifying what clojure version to use?
** TODO test classification using metadata; run a subset of tests
** TODO a list of dirs to include in the jar when building
** TODO re-compile all deps with current clojure version
** TODO specify min. lein version in project.clj
* For 1.3.0
** DONE :omit-source
** DONE lein install $PROJECT (works outside project root)
Possibly take some of this from cljr?
** DONE write shell wrappers on install
** DONE include shell wrapper in jar file from template
** DONE set arbitrary jar metadata
** DONE errors in read-project should show filename
** DONE user-level plugin installation and activation
** DONE user-level config file (with hook list)
** DONE get no-project-needed from arglist
** DONE argument chaining
** DONE interactive task
** DONE resources in generated pom
* For 1.2.0
** DONE Fix self-build clean problem
** DONE Don't catch reader exceptions unless they are from ^D
** DONE document checkout dependencies
** DONE Re-enable rlwrap
** DONE Move the intro into a tutorial
** DONE bin script has stabilized; self-install for dev versions should work
** DONE accept list of namespaces to compile from command-line options
** DONE document version ranges
** DONE include lib/dev in find-lib-jars
** DONE document plugin creation
** DONE document all known project.clj keys
** DONE disable frickin [null] logging from ant (come on srsly)
** DONE recover from missing test exit map gracefully
** DONE Help task should display arglist
** DONE walk up the filesystem to find project.clj
** DONE make inter-task dependencies honor hooks
** DONE wire repl task up to socket repl
** DONE allow *warn-on-reflection* to be turned on in project.clj
** DONE Expose hooks in built-in tasks so plugins may extend them
** DONE make org.clojure implied for clojure/contrib deps
** DONE better way to force setFork in eval-in-project
** DONE rename :namespaces key in project.clj
** DONE include version in jar filenames
** DONE classpath task to just print configured classpath
** DONE move repl task from shell script to clojure code
* For 1.1.0
** DONE upgrade task (patch submitted)
** DONE doc generation (autodoc plugin)
* For 1.0
** DONE Remove install task dependency on having Maven installed :Phil:
** DONE Use -Xbootclasspath where possible :Dan:
** DONE Don't write manifest, pom, etc. to disk when jarring :Dan:
** DONE Don't put uberjar in ~/.m2 :Phil:
** DONE Perform compilation in either a subprocess or with a separate classloader
** DONE Allow test task to take namespaces as an argument
** DONE Fix eval-in-project to let plugins pass in extra args
** DONE Resources directory added to classpath (for properties, etc)
* Git-aware dependencies (experimental back-burner idea)
Talking with Rich after Emerging Langs day 1
Problem: you can pull in two versions of the same library
transitively without realizing it if people fork on clojars. How do
we detect this problem and de-dupe?
** What if artifacts could be correlated with the git rev that produced them?
** They have repository and sha1 metadata in their pom (but no history tree)
** Cross-correlate with a separate revision metadata store?