Loading clpm/clpmfile.lisp +13 −5 Original line number Diff line number Diff line Loading @@ -13,7 +13,8 @@ #:clpm/repos #:clpm/requirement #:clpm/source #:clpm/utils) #:clpm/utils #:clpm/version-strings) (:export #:clpmfile-lockfile-pathname #:clpmfile-pathname #:get-clpmfile)) Loading Loading @@ -67,6 +68,15 @@ an error if it does not exist." :test #'string-equal) (error "Unable to find source ~S" source-name))) (defun parse-clpmfile-version-specifier (version) (cond ((stringp version) (parse-version-specifier version)) ((and (listp version) (listp (first version))) version) ((listp version) (list version)))) (defgeneric parse-clpmfile-form (clpmfile type args)) (defmethod parse-clpmfile-form (clpmfile (type (eql :asd)) args) Loading Loading @@ -157,9 +167,7 @@ instance." :source (when source (find-source-or-error (context-user-sources clpmfile) source)) :version-spec (when version (cons (first version) (second version))) :version-spec (when version (parse-clpmfile-version-specifier version)) :why t) (context-requirements clpmfile))))) Loading @@ -179,7 +187,7 @@ instance." :source (when source (find-source-or-error (context-user-sources clpmfile) source)) :version-spec version :version-spec (when version (parse-clpmfile-version-specifier version)) :why t) (context-requirements clpmfile)))) Loading docs/bundle.org +13 −5 Original line number Diff line number Diff line Loading @@ -60,7 +60,7 @@ with zero configuration or helpers needed (other than ASDF, of course). The project directive declares a dependency on an entire project. #+begin_src common-lisp (name &key vcs systems source) (name &key vcs systems source version) #+end_src + ~name~ :: must be a string, naming the project. Loading @@ -69,21 +69,29 @@ with zero configuration or helpers needed (other than ASDF, of course). + ~:vcs~ :: If provided, must be a plist naming the ~:branch~, ~:commit~, or ~:tag~ to use when checking out the project from version control. + ~:systems~ :: If provided, must be a list of strings naming the systems to be required in the bundle. Otherwise all explicitly defined systems are required. to be required in the bundle. Otherwise all systems are required. + ~:version~ :: If provided, must be a version specifier. Can either be a string (in which case it is parsed as if by =clpm install=), a single version specifier (such as ~(= "1.2")~), or a list of version specifiers (such as ~((>= "1.1") (< "2"))~). *** ~:system~ The system directive declares a dependency on a specific system. #+begin_src common-lisp (name &key source) (name &key source version) #+end_src + ~name~ :: must be a string, naming a system provided by one of the specified sources. + ~:source~ :: If provided, names a source that the system must be located in. + ~:version~ :: If provided, must be a version specifier. Can either be a string (in which case it is parsed as if by =clpm install=), a single version specifier (such as ~(= "1.2")~), or a list of version specifiers (such as ~((>= "1.1") (< "2"))~). *** ~:github~ Loading @@ -105,7 +113,7 @@ with zero configuration or helpers needed (other than ASDF, of course). + ~:commit~ :: If specified, must be a string naming the commit to use. + ~:tag~ :: If specified, must be a string naming the tag to use. + ~:systems~ :: A list naming the systems to require in the bundle. If NIL, all explicitly defined systems are required. all systems are required. *** ~:gitlab~ Loading Loading
clpm/clpmfile.lisp +13 −5 Original line number Diff line number Diff line Loading @@ -13,7 +13,8 @@ #:clpm/repos #:clpm/requirement #:clpm/source #:clpm/utils) #:clpm/utils #:clpm/version-strings) (:export #:clpmfile-lockfile-pathname #:clpmfile-pathname #:get-clpmfile)) Loading Loading @@ -67,6 +68,15 @@ an error if it does not exist." :test #'string-equal) (error "Unable to find source ~S" source-name))) (defun parse-clpmfile-version-specifier (version) (cond ((stringp version) (parse-version-specifier version)) ((and (listp version) (listp (first version))) version) ((listp version) (list version)))) (defgeneric parse-clpmfile-form (clpmfile type args)) (defmethod parse-clpmfile-form (clpmfile (type (eql :asd)) args) Loading Loading @@ -157,9 +167,7 @@ instance." :source (when source (find-source-or-error (context-user-sources clpmfile) source)) :version-spec (when version (cons (first version) (second version))) :version-spec (when version (parse-clpmfile-version-specifier version)) :why t) (context-requirements clpmfile))))) Loading @@ -179,7 +187,7 @@ instance." :source (when source (find-source-or-error (context-user-sources clpmfile) source)) :version-spec version :version-spec (when version (parse-clpmfile-version-specifier version)) :why t) (context-requirements clpmfile)))) Loading
docs/bundle.org +13 −5 Original line number Diff line number Diff line Loading @@ -60,7 +60,7 @@ with zero configuration or helpers needed (other than ASDF, of course). The project directive declares a dependency on an entire project. #+begin_src common-lisp (name &key vcs systems source) (name &key vcs systems source version) #+end_src + ~name~ :: must be a string, naming the project. Loading @@ -69,21 +69,29 @@ with zero configuration or helpers needed (other than ASDF, of course). + ~:vcs~ :: If provided, must be a plist naming the ~:branch~, ~:commit~, or ~:tag~ to use when checking out the project from version control. + ~:systems~ :: If provided, must be a list of strings naming the systems to be required in the bundle. Otherwise all explicitly defined systems are required. to be required in the bundle. Otherwise all systems are required. + ~:version~ :: If provided, must be a version specifier. Can either be a string (in which case it is parsed as if by =clpm install=), a single version specifier (such as ~(= "1.2")~), or a list of version specifiers (such as ~((>= "1.1") (< "2"))~). *** ~:system~ The system directive declares a dependency on a specific system. #+begin_src common-lisp (name &key source) (name &key source version) #+end_src + ~name~ :: must be a string, naming a system provided by one of the specified sources. + ~:source~ :: If provided, names a source that the system must be located in. + ~:version~ :: If provided, must be a version specifier. Can either be a string (in which case it is parsed as if by =clpm install=), a single version specifier (such as ~(= "1.2")~), or a list of version specifiers (such as ~((>= "1.1") (< "2"))~). *** ~:github~ Loading @@ -105,7 +113,7 @@ with zero configuration or helpers needed (other than ASDF, of course). + ~:commit~ :: If specified, must be a string naming the commit to use. + ~:tag~ :: If specified, must be a string naming the tag to use. + ~:systems~ :: A list naming the systems to require in the bundle. If NIL, all explicitly defined systems are required. all systems are required. *** ~:gitlab~ Loading