Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
A
asdf
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Jan Moringen
asdf
Commits
e1f6ad14
Commit
e1f6ad14
authored
11 years ago
by
Robert P. Goldman
Browse files
Options
Downloads
Plain Diff
Merge branch 'master' of
ssh://common-lisp.net/project/asdf/public_html/asdf
parents
f6f10f69
4afe446b
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
TODO
+45
-17
45 additions, 17 deletions
TODO
doc/index.html
+3
-0
3 additions, 0 deletions
doc/index.html
with
48 additions
and
17 deletions
TODO
+
45
−
17
View file @
e1f6ad14
...
@@ -27,16 +27,26 @@
...
@@ -27,16 +27,26 @@
but still require loading the defsystem-depends-on dependencies:
but still require loading the defsystem-depends-on dependencies:
on the target:
on the target:
(defmethod perform-forms ((target null) operation component)
;; null means the target is the current host.
;; null target designates current image
;; Or should the base class be plan-traversal or such?
`((asdf:perform ',op ',comp)))
(defmethod perform-form ((target null) operation component)
(defmethod perform-forms ((target external-target) operation component)
;; :host means execute on the host. () is empty options.
;; external target means a cross compiler
`(:host () (asdf:perform ',op ',comp)))
`((require :asdf)
(map () 'asdf:load-system '(,defsystem-deps))
;; external-target means a cross compiler that we spawn.
(defmethod perform-form ((target external-target) operation component)
`(:target ;; who is to execute that? the target Lisp.
;; options for the performing system:
(:depends-on ,(defsystem-dependencies
(component-system component)))
;; The actual forms to evaluate
(asdf:perform ,(fake-operation-form operation)
(asdf:perform ,(fake-operation-form operation)
,(fake-component-form component))))
,(fake-component-form component))))
By specifying :host-common-lisp you can have forms run on the host.
By specifying :run-program, you can spawn a subprocess without
having to first spawn a Lisp that will call run-program. etc.
The other way around the default perform method could be:
The other way around the default perform method could be:
(defmethod perform ((o t) (c t))
(defmethod perform ((o t) (c t))
...
@@ -66,6 +76,13 @@
...
@@ -66,6 +76,13 @@
they can keep the perform method to run on older versions of ASDF.
they can keep the perform method to run on older versions of ASDF.
** Modify SBCL and other implementations so they provide UIOP
** Modify SBCL and other implementations so they provide UIOP
independently from ASDF?
independently from ASDF?
** The default perform-plan method could iterate over pre-computed forms,
in a way that does not involve the ASDF object model anymore,
making ASDF friendlier to self-upgrades.
Then, ASDF wouldn't need to be concatenated during upgrade
— but should still concatenate for bootstrap purposes,
when require'ing it as an implementation-provided module,
compiling from ASDF 2, or otherwise distributing as a single file.
* Implementation bugs
* Implementation bugs
** CMUCL has bugs:
** CMUCL has bugs:
...
@@ -128,6 +145,11 @@
...
@@ -128,6 +145,11 @@
** Find out why ABCL fails the timestamp propagation test.
** Find out why ABCL fails the timestamp propagation test.
** ECL has issues with its bundles.
On MacOS X, test-bundle.script fails.
On Linux, test-program.script fails with recent ECL 237af2e,
but used to work quite fine earlier in 2013.
* Find an easier way to bind variables around compilation and loading of files
* Find an easier way to bind variables around compilation and loading of files
* Design & Implement some out-of-line configuration mechanism for various options?
* Design & Implement some out-of-line configuration mechanism for various options?
...
@@ -137,10 +159,12 @@
...
@@ -137,10 +159,12 @@
* Use the above variable binding mechanism.
* Use the above variable binding mechanism.
* Fix bugs on http://bugs.launchpad.net/asdf/+bugs
* Fix bugs on http://bugs.launchpad.net/asdf/+bugs
** fix directory-files to not return directories on CCL, etc. Add tests.
* fix directory-files to not return directories on CCL, etc. Add tests.
* Learn to use cl-grid-test
** So we can easily make sure ASDF changes don't break stuff,
* use cl-test-grid to see if asdf-user can :use most (all?) of UIOP.
and that breakage gets fixed quickly.
** So we see if ASDF-USER can :use most (all?) of UIOP.
SB-GROVEL used (until 25c1769 from 2013-02-23) to :use both ASDF and
SB-GROVEL used (until 25c1769 from 2013-02-23) to :use both ASDF and
SB-EXT, which prevents ASDF from exporting RUN-PROGRAM, but
SB-EXT, which prevents ASDF from exporting RUN-PROGRAM, but
should not be a problem with ASDF-USER :use'ing UIOP.
should not be a problem with ASDF-USER :use'ing UIOP.
...
@@ -149,13 +173,14 @@
...
@@ -149,13 +173,14 @@
* have a mode to explain WHY a component needs to be recompiled.
* have a mode to explain WHY a component needs to be recompiled.
*
have a better defsystem form verifier - see lp#1007335
*
Improve robustness
** have a better defsystem form verifier - see lp#1007335
* have a function verify-strict-asd that can verify a asd is pure lp#541562
*
* have a function verify-strict-asd that can verify a asd is pure lp#541562
Then if it passes, use load-strict-asd.
Then if it passes, use load-strict-asd.
If not, optionally issue a warning. Start migrating people toward that.
If not, optionally issue a warning. Start migrating people toward that.
* have with-input-file use the encodings mechanism?
* have with-input-file use the encodings mechanism?
** Import asdf-encodings into UIOP? Sounds a lot of code for no users.
* have a single test .asd that tests as many features as possible, use it for upgrade test.
* have a single test .asd that tests as many features as possible, use it for upgrade test.
...
@@ -164,12 +189,15 @@
...
@@ -164,12 +189,15 @@
** At least document the issue.
** At least document the issue.
** Real solution: defer parsing and evaluation of defsystem forms.
** Real solution: defer parsing and evaluation of defsystem forms.
* Learn to use cl-grid-test, to make sure ASDF changes don't break stuff,
and that breakage gets fixed quickly.
* Include some ABL test for stassats's (now obsolete?) thing:
* Include some ABL test for stassats's (now obsolete?) thing:
(asdf:enable-asdf-binary-locations-compatibility
(asdf:enable-asdf-binary-locations-compatibility
:centralize-lisp-binaries t :default-toplevel-directory *fasl-dir*)
:centralize-lisp-binaries t :default-toplevel-directory
*fasl-dir*)
** Or deprecate and remove ABL compatibility altogether?
No one has been using ASDF1 for years.
There is no ABL to be compatible with —
is anyone still using the compatibility mode?
Maybe issue a warning, then a cerror, before to remove the code?
* Make load-op a generic operation that selects the proper strategy
* Make load-op a generic operation that selects the proper strategy
for each system, module or file, according to component properties and user-configuration:
for each system, module or file, according to component properties and user-configuration:
...
...
This diff is collapsed.
Click to expand it.
doc/index.html
+
3
−
0
View file @
e1f6ad14
...
@@ -232,6 +232,9 @@ Peter Graves <gnooth@gmail.com> (XCL).
...
@@ -232,6 +232,9 @@ Peter Graves <gnooth@gmail.com> (XCL).
or the slides of the
or the slides of the
<a
href=
"https://github.com/fare/asdf3-2013/blob/master/els-slides.org"
<a
href=
"https://github.com/fare/asdf3-2013/blob/master/els-slides.org"
>
ASDF 3 tutorial
</a>
presented at ELS 2013.
>
ASDF 3 tutorial
</a>
presented at ELS 2013.
For an introduction to the source code, see also this video:
<a
href=
"https://www.youtube.com/watch?v=Qqqbc31ZZ-U"
>
ASDF3.1 walkthrough
</a>
.
</p>
<p>
Finally, while the manual covers all the basics,
<p>
Finally, while the manual covers all the basics,
some advanced or new features remain underdocumented.
some advanced or new features remain underdocumented.
Please contact our mailing-list (see below)
Please contact our mailing-list (see below)
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment