TODO 6.45 KB
Newer Older
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
* Decree that versions older than 2 years are not supported,
  remove them from upgrade tests.

* Improve upgrade so that we don't lose state when upgrading from a "recent enough" ASDF.
  This requires better upgrade tests, with hot data.

* ASDF 3.2: moving toward cross-compilation.
   This would allow to get all or most of the benefits of XCVB
   (reproducibility, scalability, applicability to mobile platforms, etc.),
   except without the backward incompatibility of XCVB.
** Need to further split asdf:perform in two parts:
   A part that runs on the host and specifies (as SEXP or string to read)
   a form that must be evaluated on the target machine, not the host.
   A trivial that runs on the target
   and doesn't require ASDF or CLOS installed there (though maybe UIOP).
** Audit all the current users of perform, and offer them a new way;
   they can keep the perform method to run on older versions of ASDF.

* Some out-of-line configuration mechanism for various options?
   i.e. have files that override some variables around compilation of some systems.

* Find an easier way to bind variables around compilation and loading of files

24
* Find out why ABCL fails the timestamp propagation test.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
25

26
* Fix bugs on http://bugs.launchpad.net/asdf/+bugs
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
27

28
* fix directory-files to not return directories on CCL, etc. Add tests.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
29

30
* use cl-test-grid to see if asdf-user can :use most (all?) of UIOP.
31
32
  Unhappily, on SBCL, sb-grovel uses asdf and sb-ext,
  which causes a clash with run-program.
33
  Or has this been changed long enough ago? Can it be special-cased?
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
34

Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
35
* have a mode to explain WHY a component needs to be recompiled.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
36

37
* have a better defsystem form verifier - see lp#1007335
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
38

39
40
41
* have a function verify-strict-asd that can verify a asd is pure lp#541562
  Then if it passes, use load-strict-asd.
  If not, optionally issue a warning. Start migrating people toward that.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
42

43
* have with-input-file use the encodings mechanism?
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
44

45
* have a single test .asd that tests as many features as possible, use it for upgrade test.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
46

47
* implement deferred warnings support on lispworks
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
48

49
* work with cl-test-grid to eliminate deferred warnings from quicklisp libraries
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
50

Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
51
52
* fix upgrade on clisp, cmucl, abcl (if still broken)
** Extract minimal test case, build a battery of automated tests
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
53

54
* Bug found by fe[nl]ix: infinite loop if the definitions in an asd file
55
56
57
  are not in strict defsystem-depends-on dependency order.
** At least document the issue.
** Real solution: defer parsing and evaluation of defsystem forms.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
58

59
* Learn to use cl-grid-test, to make sure ASDF changes don't break stuff,
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
60
 and that breakage gets fixed quickly.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
61
62

* Include some ABL test for stassats's (now obsolete?) thing:
63
64
   (asdf:enable-asdf-binary-locations-compatibility
    :centralize-lisp-binaries t :default-toplevel-directory *fasl-dir*)
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
65

Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
66
67
* Make load-op a generic operation that selects the proper strategy
  for each system, module or file, according to component properties and user-configuration:
68
  compile the lisp file then load the fasl (load-fasl-op on a cl-source-file),
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
69
  load the lisp file without compiling (load-source-op),
70
71
  compile all files for the system, link them and load the result
   (load-fasl-op on the system),
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
72
73
74
75
  compile all files for the system *and* its dependencies, link and load (monolithic-load-fasl-op),
  concatenate all files for the system, then load the result (load-concatenated-source-op),
  concatenate all files for the system, then link them and load the result (load-compiled-concatenated-op),
  concatenate all files for the system *and* its dependencies, link and load (monolithic-load-compiled-concatenated-op).
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
76

77
78
* operation cleanup?
** Kill backward-compat functions after all clients have moved on.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
79
** Kill original-initargs -- BEWARE, it currently has clients!
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
80

81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
* Get rid of component-properties
** directly use component-properties:
*** yaclml.asd => misguided :features for version comparison
*** amazon-ecs-20110418-git/amazon-ecs.asd => :website property
*** hemlock.asd => bad implementation of latin1 encodings
** .asd use :properties
*** arnesi, arnesi+ => :features, misguided for version comparison and pseudo #+features
*** lkcas, thopter => :long-name
*** cl-irc cliki-bot rss cl-syslog com.informatimago.clext
   com.informatimago.clisp com.informatimago.clmisc
   com.informatimago.common-lisp.arithmetic
   om.informatimago.common-lisp.bank
   com.informatimago.common-lisp.cesarum
   com.informatimago.common-lisp com.informatimago.common-lisp.csv
   com.informatimago.common-lisp.cxx
   com.informatimago.common-lisp.data-encoding
   com.informatimago.common-lisp.diagram
   com.informatimago.common-lisp.ed
   com.informatimago.common-lisp.graphviz
   com.informatimago.common-lisp.heap
   com.informatimago.common-lisp.html-base
   com.informatimago.common-lisp.html-generator
   com.informatimago.common-lisp.html-parser
   com.informatimago.common-lisp.http
   com.informatimago.common-lisp.interactive
   com.informatimago.common-lisp.invoice
   com.informatimago.common-lisp.lisp
   com.informatimago.common-lisp.lisp.ibcl
   com.informatimago.common-lisp.lisp.stepper
   com.informatimago.common-lisp.lisp-reader
   com.informatimago.common-lisp.lisp-sexp
   com.informatimago.common-lisp.lisp-text
   com.informatimago.common-lisp.parser
   com.informatimago.common-lisp.picture
   com.informatimago.common-lisp.regexp
   com.informatimago.common-lisp.rfc2822
   com.informatimago.common-lisp.rfc3548
   com.informatimago.common-lisp.telnet
   com.informatimago.common-lisp.unix
   linc
   com.informatimago.lispdoc
   com.informatimago.lua
   com.informatimago.cocoa-playground
   com.informatimago.objcl
   com.informatimago.rdp
   com.informatimago.rdp.basic
   com.informatimago.rdp.basic.example
   com.informatimago.rdp.example
   com.informatimago.susv3
   com.informatimago.common-lisp.tools.make-depends
   com.informatimago.xcode
   spartns
   xlunit
   => (uninterned!)
   #:author-email #:date
   (#:albert #:output-dirs)
   (#:albert #:formats)
   (#:albert #:docbook #:template)
   (#:albert #:docbook #:bgcolor)
   (#:albert #:docbook #:textcolor)
   (#:albert #:docbook #:dtd)
*** portableaserve
   =>
   ("system" "author" "email")
   ("albert" "presentation" "output-dir")
   ("albert" "presentation" "formats")
   ("albert" "docbook" "dtd")
   ("albert" "docbook" "template")
*** com.clearly-useful.generic-collection-interface => :com.clearly-useful
*** metatilities
   => :ait-timeout :system-applicable-p
*** ucw ucw-core 
   =>
   version
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
155
156
157

* ASDF4: search for this tag, rename things (incompatibly, thus) and cleanup code.