leiningen/todo.org

115 lines
5.4 KiB
Org Mode
Raw Normal View History

#-*- mode: org -*-
#+startup: overview
#+startup: hidestars
#+TODO: TODO | INPROGRESS | DONE
2009-11-24 06:24:28 +00:00
Leiningen TODOs
2010-09-08 21:06:17 +00:00
See also http://github.com/technomancy/leiningen/issues
2010-08-06 01:45:07 +00:00
* For 1.4.0 or later
2010-08-17 05:05:24 +00:00
** TODO add option to use ~/.m2-based classpath instead of copying to lib/?
2010-09-08 21:06:17 +00:00
It looks like it would be easy to stop copying things into lib/ and
just use ant's notion of the project's dependencies to construct a
classpath that references jars straight from ~/.m2. This should be
optional and not the default since it will break M-x swank-clojure-project
and possibly other things that make the same assumption.
2010-08-20 03:53:40 +00:00
** TODO plugin task for managing/upgrading plugins
2010-09-08 21:06:17 +00:00
Manually copying jar files into ~/.lein/plugins is pretty
lame. Let's get a task to handle this. It could be implemented as a
plugin at first, maybe.
2010-08-18 05:21:53 +00:00
** TODO shell wrappers should support multiple versions
2010-09-08 21:06:17 +00:00
We could write out a different "foo-$VERSION" shell wrapper for each
version of a project that gets installed and then have the plain
"foo" script look for a $VERSION env var if it's set, and if not
just fall back to the latest.
2010-08-20 20:58:50 +00:00
** TODO merge lein-search features?
2010-09-08 21:06:17 +00:00
This plugin is great; we should think about taking it into
Leiningen itself.
** TODO merge lein-run task?
Ditto; this is something useful that many projects need.
2010-07-11 15:00:48 +00:00
** TODO classifiers for specifying what clojure version to use?
2010-09-08 21:06:17 +00:00
As more versions of Clojure start to exist, libraries may want to
publish different branches that target different versions of
Clojure itself. Classifiers may be the way to separate these out?
** TODO test selectors using metadata; run a subset of tests
We could have a :test-selectors key in project.clj that would map
keywords to predicate functions. Then the test task could take a
keyword argument and only run the subset of the tests for which
calling the predicate on its metadata returns true.
2010-06-12 22:33:54 +00:00
** TODO a list of dirs to include in the jar when building
2010-09-08 21:06:17 +00:00
Some people have requested this.
2010-08-06 01:45:07 +00:00
** TODO re-compile all deps with current clojure version
2010-09-08 21:06:17 +00:00
Another thing that's going to start becoming more important as more
Clojure versions are introduced.
** TODO spin lancet off into its own dependency
2010-09-08 21:06:17 +00:00
I've never felt comfortable about simply keeping it inline.
** TODO fail gracefully when run without an Internet connection (Issue #100)
** TODO improve test coverage
2010-08-06 01:45:07 +00:00
* For 1.3.0
** DONE specify min. lein version in project.clj
2010-08-17 05:05:24 +00:00
** DONE :omit-source
2010-08-11 03:04:57 +00:00
** DONE lein install $PROJECT (works outside project root)
Possibly take some of this from cljr?
2010-08-11 03:04:57 +00:00
** DONE write shell wrappers on install
** DONE include shell wrapper in jar file from template
2010-08-08 23:16:48 +00:00
** 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
2010-08-06 01:45:07 +00:00
** DONE interactive task
** DONE resources in generated pom
2010-03-12 05:22:42 +00:00
* For 1.2.0
2010-07-18 20:33:36 +00:00
** DONE Fix self-build clean problem
** DONE Don't catch reader exceptions unless they are from ^D
2010-06-22 02:21:22 +00:00
** 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
2010-06-12 06:01:39 +00:00
** DONE document version ranges
2010-06-07 04:18:56 +00:00
** DONE include lib/dev in find-lib-jars
2010-06-05 21:00:37 +00:00
** 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
2010-05-27 23:08:44 +00:00
** DONE Help task should display arglist
** DONE walk up the filesystem to find project.clj
** DONE make inter-task dependencies honor hooks
2010-05-27 22:15:32 +00:00
** DONE wire repl task up to socket repl
** DONE allow *warn-on-reflection* to be turned on in project.clj
2010-05-27 23:08:44 +00:00
** DONE Expose hooks in built-in tasks so plugins may extend them
2010-05-19 01:31:04 +00:00
** 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
2010-06-12 22:33:54 +00:00
* 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)
2010-09-08 01:54:35 +00:00
* Plugin ideas
** metrics
*** LOC
*** complexity
*** time logs
2010-08-20 20:58:50 +00:00
* 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?