interface.lisp 5.93 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 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 155 156 157 158 159
;;;; ---------------------------------------------------------------------------
;;;; Handle ASDF package upgrade, including implementation-dependent magic.

(defpackage :asdf/interface
  (:nicknames :asdf)
  (:use :common-lisp
   :asdf/package :asdf/implementation :asdf/utility :asdf/pathname :asdf/os :asdf/upgrade
   :asdf/component :asdf/system :asdf/find-system :asdf/find-component
   :asdf/operation :asdf/action :asdf/lisp-build :asdf/lisp-action
   :asdf/configuration :asdf/output-translations :asdf/source-registry
   :asdf/plan :asdf/operate :asdf/defsystem :asdf/bundle :asdf/concatenate-source
   :asdf/backward-interface)
  ;; TODO: automatically generate interface by merging select used packages?
  (:export
   #:defsystem #:find-system #:locate-system #:coerce-name
   #:oos #:operate #:traverse #:perform-plan
   #:system-definition-pathname #:with-system-definitions
   #:search-for-system-definition #:find-component #:component-find-path
   #:compile-system #:load-system #:load-systems
   #:require-system #:test-system #:clear-system
   #:operation #:upward-operation #:downward-operation
   #:load-op #:prepare-op #:compile-op #:load-fasl-op
   #:prepare-source-op #:load-source-op #:test-op
   #:feature #:version #:version-satisfies #:upgrade-asdf
   #:implementation-identifier #:implementation-type #:hostname
   #:input-files #:output-files #:output-file #:perform
   #:operation-done-p #:explain #:component-sibling-dependencies
   #:component-load-dependencies #:run-shell-command ; deprecated, do not use
   #:precompiled-system #:compiled-file
   #+ecl #:make-build #+mkcl #:bundle-system

   #:component #:parent-component #:child-component #:system #:module
   #:source-file #:c-source-file #:java-source-file
   #:cl-source-file #:cl-source-file.cl #:cl-source-file.lsp
   #:static-file #:doc-file #:html-file :text-file
   #:source-file-type

   #:component-children          ; component accessors
   #:component-children-by-name
   #:component-pathname
   #:component-relative-pathname
   #:component-name
   #:component-version
   #:component-parent
   #:component-property
   #:component-system
   #:component-encoding
   #:component-external-format

   #:component-depends-on ; backward-compatible name rather than action-depends-on
   #:module-components ; backward-compatibility
   #:operation-on-warnings #:operation-on-failure ; backward-compatibility

   #:system-description
   #:system-long-description
   #:system-author
   #:system-maintainer
   #:system-license
   #:system-licence
   #:system-source-file
   #:system-source-directory
   #:system-relative-pathname
   #:map-systems

   #:operation-description

   #:*system-definition-search-functions*   ; variables
   #:*central-registry*
   #:*compile-file-warnings-behaviour*
   #:*compile-file-failure-behaviour*
   #:*resolve-symlinks*
   #:*load-system-operation*
   #:*asdf-verbose*
   #:*verbose-out*

   #:asdf-version

   #:operation-error #:compile-failed #:compile-warned #:compile-error
   #:error-name
   #:error-pathname
   #:load-system-definition-error
   #:error-component #:error-operation
   #:system-definition-error
   #:missing-component
   #:missing-component-of-version
   #:missing-dependency
   #:missing-dependency-of-version
   #:circular-dependency        ; errors
   #:duplicate-names

   #:try-recompiling
   #:retry
   #:accept                     ; restarts
   #:coerce-entry-to-directory
   #:remove-entry-from-registry

   #:*encoding-detection-hook*
   #:*encoding-external-format-hook*
   #:*default-encoding*
   #:*utf-8-external-format*

   #:clear-configuration
   #:*output-translations-parameter*
   #:initialize-output-translations
   #:disable-output-translations
   #:clear-output-translations
   #:ensure-output-translations
   #:apply-output-translations
   #:compile-file*
   #:compile-file-pathname*
   #:enable-asdf-binary-locations-compatibility
   #:*default-source-registries*
   #:*source-registry-parameter*
   #:initialize-source-registry
   #:compute-source-registry
   #:clear-source-registry
   #:ensure-source-registry
   #:process-source-registry
   #:system-registered-p #:registered-systems #:already-loaded-systems
   #:resolve-location
   #:asdf-message
   #:user-output-translations-pathname
   #:system-output-translations-pathname
   #:user-output-translations-directory-pathname
   #:system-output-translations-directory-pathname
   #:user-source-registry
   #:system-source-registry
   #:user-source-registry-directory
   #:system-source-registry-directory))

(in-package :asdf/interface)

(with-upgrade (:when (fboundp 'make-sub-operation))
  (defun* make-sub-operation (c o dep-c dep-o)
    (declare (ignore c o dep-c dep-o)) (asdf-upgrade-error)))

#|
          (pkgdcl
           :asdf
           :use (:common-lisp)
           :fmakunbound
           (#:perform #:explain #:output-files #:operation-done-p #:traverse-action #:traverse
            #:compute-action-stamp #:component-load-dependencies #:action-valid-p
            #:component-depends-on #:perform-plan #:mark-operation-done #:operation-forced
            #:perform-with-restarts #:component-relative-pathname
            #:system-source-file #:operate #:find-system #:find-component #:find-operation
            #:apply-output-translations #:translate-pathname* #:resolve-location
            #:system-relative-pathname #:source-file-type #:builtin-system-p
            #:inherit-source-registry #:process-source-registry #:process-source-registry-directive
            #:compile-file* #:source-file-type #:trivial-system-p)
           :fmakunbound-setf (#:output-translations)
           :unintern
           (#:*asdf-revision* #:around #:asdf-method-combination #:split #:make-collector
            #:do-dep #:do-one-dep #:do-traverse #:visit-action #:component-visited-p
            #+(or ecl mkcl) #:output-files #+ecl #:trivial-system-p
            #:loaded-systems ; makes for annoying SLIME completion
            #:output-files-for-system-and-operation) ; obsolete ASDF-BINARY-LOCATION function
           :export
|#