planet command-line tool changes to keep it from spuriously rejecting packages that now make sense; doc updates
svn: r5855
This commit is contained in:
parent
df5495188c
commit
c8be8b8e79
|
@ -19,7 +19,6 @@
|
|||
(DEFAULT-PACKAGE-LANGUAGE (version))
|
||||
|
||||
(USE-HTTP-DOWNLOADS? #t)
|
||||
(HTTP-DOWNLOAD-SERVLET-URL "http://planet.plt-scheme.org/servlets/planet-servlet.ss"
|
||||
#;"http://coach.cs.uchicago.edu/servlets/planet/planet-servlet.ss")
|
||||
(HTTP-DOWNLOAD-SERVLET-URL "http://planet.plt-scheme.org/servlets/planet-servlet.ss")
|
||||
(PLANET-ARCHIVE-FILTER #f)))
|
||||
|
||||
|
|
|
@ -408,6 +408,13 @@ encoded as x-expressions (see the xml collection for details) that
|
|||
PLaneT will use as a short description of your project. This field
|
||||
is also used by the Help Desk.
|
||||
|
||||
The _'release-notes field_
|
||||
|
||||
If present, the release-notes field should contain a list of XHTML
|
||||
fragments encoded as x-expressions (see the xml collection for
|
||||
details) that PLaneT will use as a short description of what's new
|
||||
in this release of your package.
|
||||
|
||||
The _'categories field_
|
||||
|
||||
If present, the categories field should be a list of symbols
|
||||
|
@ -499,10 +506,17 @@ package on the main PLaneT web page.
|
|||
|
||||
The _'primary-file field_
|
||||
|
||||
If present, the primary-file field should be a string corresponding to
|
||||
the name (without path) of the main Scheme source file of your
|
||||
package. PLaneT will direct casual users of your library to require
|
||||
this file.
|
||||
If present, the primary-file field should be a either a string
|
||||
corresponding to the name (without path) of the main Scheme source
|
||||
file of your package, or a list of such strings. The PLaneT web page
|
||||
corresponding to this package will present all files listed here as
|
||||
interface files for your package; it will give direct links to each
|
||||
package and a listing of all names provided by the package along with
|
||||
their contracts (if present).
|
||||
|
||||
If you include only a single string, it will be used as the require
|
||||
line printed on your package's page. If you include a list of strings,
|
||||
then the first legal file string in the list will be used.
|
||||
|
||||
The _'required-core-version field_
|
||||
|
||||
|
@ -595,17 +609,19 @@ problems.)
|
|||
|
||||
4. SUBMIT THE PACKAGE
|
||||
|
||||
E-mail the .plt file you built to jacobm+planet@plt-scheme.org If the
|
||||
package is an upgrade to a prior package, then tell me so and tell me
|
||||
whether or not this package is backwards-compatible with the package
|
||||
it's upgrading. Also tell me what PLT Scheme version this package is
|
||||
intended for. There's no particular format for this message; the
|
||||
system isn't automated yet so I'll just be reading these and
|
||||
processing them by hand.
|
||||
Go to http://planet.plt-scheme.org/ and click on the link marked
|
||||
"contribute a package / log in" in the upper-right-hand corner. If you
|
||||
have not yet created an account, then do so on that page by providing
|
||||
your name, a user name, an email address, and a password and then
|
||||
responding to the confirmation message delivered to the email address
|
||||
you provide.
|
||||
|
||||
Once I've added your package to the repository, I'll e-mail you
|
||||
back and tell you the require-line users will need to type in to get
|
||||
it.
|
||||
Once you have an account, then if this is a new package then upload it
|
||||
using the "Contribute a package" section in your user account page. If
|
||||
this is a package update then click "update this package" next to its
|
||||
name in the "Manage your packages" section of your user account page,
|
||||
then upload the .plt file and indicate on the form whether your update
|
||||
is backwards-compatible with the prior version or not.
|
||||
|
||||
WARNING:
|
||||
|
||||
|
|
|
@ -31,6 +31,12 @@ PLANNED FEATURES:
|
|||
(command-line
|
||||
"planet"
|
||||
(current-command-line-arguments)
|
||||
(once-each
|
||||
(("--force")
|
||||
""
|
||||
"Used in conjunction with --create-package; force a package to be"
|
||||
"created even its info.ss file contains errors."
|
||||
(force-package-building? #t)))
|
||||
(once-any
|
||||
(("-f" "--file")
|
||||
plt-file owner maj min
|
||||
|
|
|
@ -22,6 +22,7 @@
|
|||
current-cache-contents
|
||||
current-linkage
|
||||
make-planet-archive
|
||||
force-package-building?
|
||||
get-installed-planet-archives
|
||||
get-hard-linked-packages
|
||||
remove-pkg
|
||||
|
@ -180,6 +181,7 @@
|
|||
[else (error 'regexp->filter "not a regular expression")])])
|
||||
(lambda (p) (regexp-match re (path->bytes p)))))
|
||||
|
||||
(define force-package-building? (make-parameter #f))
|
||||
|
||||
;; make-planet-archive: directory [file] -> file
|
||||
;; Makes a .plt archive file suitable for PLaneT whose contents are
|
||||
|
@ -205,7 +207,10 @@
|
|||
(λ (bad) (set! warnings (cons bad warnings)))
|
||||
(λ (err) (set! critical-errors (cons err critical-errors))))
|
||||
|
||||
(unless (null? critical-errors) (error '|PLaneT packager| "~a Refusing to continue packaging." (car critical-errors)))
|
||||
(unless
|
||||
(or (null? critical-errors)
|
||||
(force-package-building?))
|
||||
(error '|PLaneT packager| "~a Refusing to continue packaging." (car critical-errors)))
|
||||
|
||||
(pack archive-name
|
||||
"archive"
|
||||
|
@ -253,9 +258,14 @@
|
|||
]
|
||||
[blurb
|
||||
(λ (b) (and (list? b) (andmap xexpr? b)))
|
||||
(announce "Blurb: ~s\n" blurb)
|
||||
(announce "Package blurb: ~s\n" blurb)
|
||||
(unless blurb
|
||||
(warn "Package's info.ss does not contain a blurb field. Without a blurb field, the package will have no description on planet.plt-scheme.org."))]
|
||||
[release-notes
|
||||
(λ (b) (and (list? b) (andmap xexpr? b)))
|
||||
(announce "Release notes: ~s\n" release-notes)
|
||||
(unless release-notes
|
||||
(warn "Package's info.ss does not contain a release-notes field. Without a release-notes field, the package will not have any listed release information on planet.plt-scheme.org beyond the contents of the blurb field."))]
|
||||
[categories
|
||||
(λ (s) (and (list? s) (andmap symbol? s)))
|
||||
(cond
|
||||
|
@ -284,10 +294,18 @@
|
|||
[else
|
||||
(fail (format "The value of the package's info.ss homepage field, ~s, does not appear to be a legal URL." homepage))])]
|
||||
[primary-file
|
||||
string?
|
||||
(λ (x) (or (string? x) (and (list? x) (andmap string? x))))
|
||||
(begin
|
||||
(unless (file-in-current-directory? primary-file)
|
||||
(warn (format "Package's info.ss primary-file field is ~s, a file that does not exist in the package." primary-file)))
|
||||
(cond
|
||||
[(string? primary-file)
|
||||
(unless (file-in-current-directory? primary-file)
|
||||
(warn (format "Package's info.ss primary-file field is ~s, a file that does not exist in the package."
|
||||
primary-file)))]
|
||||
[(pair? primary-file)
|
||||
(let ([bad-files (filter (λ (f) (not (file-in-current-directory? f))) primary-file)])
|
||||
(unless (null? bad-files)
|
||||
(warn (format "Package's info.ss primary-file field is ~s, which contains non-existant files ~s."
|
||||
primary-file bad-files))))])
|
||||
(announce "Primary file: ~a\n" primary-file))
|
||||
(unless primary-file
|
||||
(warn "Package's info.ss does not contain a primary-file field. The package's listing on planet.plt-scheme.org will not have a valid require line for your package."))]
|
||||
|
|
Loading…
Reference in New Issue
Block a user