2009-11-25 03:33:07 +00:00
|
|
|
#-*- mode: org -*-
|
|
|
|
#+startup: overview
|
|
|
|
#+startup: hidestars
|
|
|
|
#+TODO: TODO | INPROGRESS | DONE
|
|
|
|
|
2009-11-24 06:24:28 +00:00
|
|
|
Leiningen TODOs
|
|
|
|
|
2010-12-03 02:16:16 +00:00
|
|
|
See also https://github.com/technomancy/leiningen/issues
|
2010-09-08 21:06:17 +00:00
|
|
|
|
2010-10-23 20:22:11 +00:00
|
|
|
* Open Questions
|
2011-03-01 04:04:46 +00:00
|
|
|
- Aether: how would it integrate? Improvement over maven-ant-tasks?
|
|
|
|
- Tests in Nailgun: would it require a separate shell script?
|
|
|
|
- How could nonlinear versions be represented?
|
2010-09-25 20:47:37 +00:00
|
|
|
* For 2.0
|
2011-03-01 04:04:46 +00:00
|
|
|
- make it easier to hook inside eval-in-project
|
|
|
|
- Quit using ant's Java task. It is horrible.
|
|
|
|
Try a custom classloader approach?
|
|
|
|
- Use Aether instead of maven-ant-tasks?
|
|
|
|
http://www.sonatype.com/people/2010/08/introducing-aether/
|
|
|
|
- Rename test-resources to dev-resources
|
|
|
|
Breaking change; needs to wait for a major version bump.
|
|
|
|
- shell wrappers should support multiple versions
|
|
|
|
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.
|
|
|
|
- classifiers for specifying what clojure version to use?
|
|
|
|
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?
|
|
|
|
- a list of dirs to include in the jar when building
|
|
|
|
Some people have requested this.
|
|
|
|
- re-compile all deps with current clojure version
|
|
|
|
Another thing that's going to start becoming more important as more
|
|
|
|
Clojure versions are introduced.
|
|
|
|
- improve test coverage
|
|
|
|
- new push task based on clj-ssh
|
|
|
|
lein-clojars task doesn't support DSA keys
|
2011-05-04 03:02:19 +00:00
|
|
|
* For 1.6
|
2011-05-13 14:54:00 +00:00
|
|
|
- [x] add option to use ~/.m2-based classpath instead of copying to
|
|
|
|
lib/? It looks like it would be easy to stop copying things
|
|
|
|
into lib/ and just use Maven's notion of the project's
|
|
|
|
dependencies to construct a classpath that references jars
|
|
|
|
straight from ~/.m2.
|
|
|
|
- [x] Merge lein-search
|
|
|
|
- [x] Merge lein-retest
|
|
|
|
- [ ] Add support for N retries
|
|
|
|
- [x] Merge native-deps
|
|
|
|
- [ ] transitive native-deps support
|
|
|
|
- [x] Add leiningen.util.injected namespace
|
2011-05-04 03:02:19 +00:00
|
|
|
- Trampoline functionality
|
|
|
|
http://groups.google.com/group/leiningen/browse_thread/thread/a07a7f10edb77c9b
|
2011-03-25 04:16:32 +00:00
|
|
|
* For 1.5.1
|
2011-04-10 22:31:43 +00:00
|
|
|
** TODO
|
2011-04-13 02:08:00 +00:00
|
|
|
- [x] Move ns docstrings to :help-summary to allow AOT given CLJ-130.
|
2011-04-10 22:31:43 +00:00
|
|
|
- [x] Put :eval-in-lein deps in lib/dev for leiningen process access.
|
|
|
|
- [x] Revert back to :warn on checksum failure.
|
|
|
|
- [x] Fix LEIN_ROOT warning in bin/lein.
|
|
|
|
- [x] Honor user-settings in more places.
|
2011-01-25 03:42:38 +00:00
|
|
|
* For 1.5
|
2011-03-01 04:04:46 +00:00
|
|
|
- unify auth options between :repositories and :deploy-to
|
|
|
|
- suppress socket closed stacktrace in interactive task
|
|
|
|
- checksum deps set; don't re-download if unchanged
|
|
|
|
- allow whitelist for post-compile class file deletion
|
|
|
|
- fix warn-on-reflection for repl task (#176)
|
|
|
|
- explain how to do manual self-install if it fails
|
|
|
|
- failure to upgrade leaves lein as a zero-length file (#153)
|
|
|
|
- ensure project jar is last in uberjar (#178)
|
|
|
|
- investigate uberjar slowdown? (#160)
|
2010-10-29 17:55:12 +00:00
|
|
|
* For 1.4
|
2011-03-01 04:04:46 +00:00
|
|
|
- socket timing issues with interactive tests
|
|
|
|
- connect to socket repl in interactive task
|
|
|
|
- :uberjar-exclusions?
|
|
|
|
- :all test-selector built-in
|
|
|
|
- test selectors need to support things like constantly, complement
|
|
|
|
- detect missing level of nesting in project.clj's deps/dev-deps
|
|
|
|
- clear out non-transitive .class files after AOT
|
|
|
|
Luc Prefontaine has code for this.
|
|
|
|
- plugin task for managing/upgrading plugins
|
|
|
|
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.
|
|
|
|
- merge lein-run task?
|
|
|
|
Ditto; this is something useful that many projects need.
|
|
|
|
- expose original pwd as property
|
|
|
|
- merge lein-javac task
|
|
|
|
Also make the compile task run it where appropriate.
|
|
|
|
- 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-08-06 01:45:07 +00:00
|
|
|
* For 1.3.0
|
2011-03-01 04:04:46 +00:00
|
|
|
- specify min. lein version in project.clj
|
|
|
|
- :omit-source
|
|
|
|
- lein install $PROJECT (works outside project root)
|
|
|
|
- write shell wrappers on install
|
|
|
|
- include shell wrapper in jar file from template
|
|
|
|
- set arbitrary jar metadata
|
|
|
|
- errors in read-project should show filename
|
|
|
|
- user-level plugin installation and activation
|
|
|
|
- user-level config file (with hook list)
|
|
|
|
- get no-project-needed from arglist
|
|
|
|
- argument chaining
|
|
|
|
- interactive task
|
|
|
|
- resources in generated pom
|
2010-03-12 05:22:42 +00:00
|
|
|
* For 1.2.0
|
2011-03-01 04:04:46 +00:00
|
|
|
- Fix self-build clean problem
|
|
|
|
- Don't catch reader exceptions unless they are from ^D
|
|
|
|
- document checkout dependencies
|
|
|
|
- Re-enable rlwrap
|
|
|
|
- Move the intro into a tutorial
|
|
|
|
- bin script has stabilized; self-install for dev versions should work
|
|
|
|
- accept list of namespaces to compile from command-line options
|
|
|
|
- document version ranges
|
|
|
|
- include lib/dev in find-lib-jars
|
|
|
|
- document plugin creation
|
|
|
|
- document all known project.clj keys
|
|
|
|
- disable frickin [null] logging from ant (come on srsly)
|
|
|
|
- recover from missing test exit map gracefully
|
|
|
|
- Help task should display arglist
|
|
|
|
- walk up the filesystem to find project.clj
|
|
|
|
- make inter-task dependencies honor hooks
|
|
|
|
- wire repl task up to socket repl
|
|
|
|
- allow \*warn-on-reflection\* to be turned on in project.clj
|
|
|
|
- Expose hooks in built-in tasks so plugins may extend them
|
|
|
|
- make org.clojure implied for clojure/contrib deps
|
|
|
|
- better way to force setFork in eval-in-project
|
|
|
|
- rename :namespaces key in project.clj
|
|
|
|
- include version in jar filenames
|
|
|
|
- classpath task to just print configured classpath
|
|
|
|
- move repl task from shell script to clojure code
|
2010-06-12 22:33:54 +00:00
|
|
|
* For 1.1.0
|
2011-03-01 04:04:46 +00:00
|
|
|
- upgrade task (patch submitted)
|
|
|
|
- doc generation (autodoc plugin)
|
2010-06-12 22:33:54 +00:00
|
|
|
* For 1.0
|
2011-03-01 04:04:46 +00:00
|
|
|
- Remove install task dependency on having Maven installed :Phil:
|
|
|
|
- Use -Xbootclasspath where possible :Dan:
|
|
|
|
- Don't write manifest, pom, etc. to disk when jarring :Dan:
|
|
|
|
- Don't put uberjar in ~/.m2 :Phil:
|
|
|
|
- Perform compilation in either a subprocess or with a separate classloader
|
|
|
|
- Allow test task to take namespaces as an argument
|
|
|
|
- Fix eval-in-project to let plugins pass in extra args
|
|
|
|
- Resources directory added to classpath (for properties, etc)
|
2010-09-08 01:54:35 +00:00
|
|
|
* Plugin ideas
|
2011-03-01 04:04:46 +00:00
|
|
|
- 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?
|
2011-03-01 04:04:46 +00:00
|
|
|
- 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?
|