Commit Graph

478 Commits

Author SHA1 Message Date
Matthew Flatt
a496404411 setup/configtab: prevent cross-module inlining of configuration
The intent is that the configuration module can be rewritten without
recompiling code that uses it, so don't let the compiler inline
configuration values.
2013-01-05 07:33:41 -07:00
Matthew Flatt
0a708b040a setup/link: fix collection-root results for version regexps 2012-12-28 11:57:34 -07:00
Matthew Flatt
6eef00a312 raco setup: fix problem with doc index database
When a tag is serializable but not `write'--`read' invariant,
then it needs to be serialized and deserialized.

Also, clarify and check in `tag?' that a tag should be
serializable.
2012-12-13 15:45:48 -07:00
Matthew Flatt
62019bbd0f raco setup: flush loaded "info-domain" when info is updated
Fixes problems updating user-specific documentation on a
package install, for example.
2012-12-05 08:26:40 -06:00
Matthew Flatt
cd257fe65b setup/xref: simplify db interaction
Relies on improvements to SQLite retry support.
2012-12-03 18:57:53 -07:00
Matthew Flatt
b3b56fa3c8 unbreak PLaneT install 2012-11-30 14:02:04 -07:00
Matthew Flatt
540bab88e1 setup/getinfo: allow a path string for `get-info/full' 2012-11-30 07:26:51 -07:00
Matthew Flatt
3c253b0e2b raco pkg': treat ".plt" format consistently with raco setup -A'
An old package intended for use with `raco setup -A' can be
installed with `raco pkg install'.

A package created with `raco pkg create --format plt' can be
installed with `raco setup -A', although it could leave behind
weird "MANIFEST.rktd" and other files in the "collects" directory.

An old package created with `raco pkg create --format plt' still
can be used with `raco pkg install', although not with `raco setup -A'.

The change from previous 'raco pkg' behavior is that package content
now claims to be in a "collects" directory that is
installation-relative, and unpacking redirects "collects" to the
package-staging area. At the same time, unpacking still works the
same as before on ".plt" archives that are not installation-relative.
2012-11-29 06:27:38 -07:00
Matthew Flatt
88a729df56 setup/setup: a keyword-based API for running `raco setup'
Mostly moves the implementation out of `setup/plt-single-installer'
into a more generic format.
2012-11-29 06:27:38 -07:00
Samuel Bronson
b366d04792 Typo fixes 2012-11-27 07:55:29 -07:00
Matthew Flatt
569af52ffc raco setup: turn off synchronous mode for doc database
Synchronous mode implies fsync(), which makes updates *much*
slower on some machines, such as the DrDr machine. The doc
database doesn't need to survive a catastrophic failue
(such as a power failure or OS crash), so turn synchronous
mode off.
2012-11-26 06:24:29 -07:00
Matthew Flatt
31e644e5e1 raco setup: add a layer of db write locking, db read fallback
Change `raco setup' to guard database writes in different places
by an explicit lock that is implemented by place channels. Change
corss-reference reading to fall back to just loading ".sxref"
files if the database seems to be too contended at that point.

These changes are aimed at avoiding distaerous performance when
SQLite seems not to behave well.

Also, fix break and other exception handling near the "fast abort"
path for both reads and writes.
2012-11-25 17:55:23 -07:00
Matthew Flatt
d47bfc287d raco setup: more consistent logging and pausing on db locks 2012-11-25 07:23:59 -07:00
Matthew Flatt
4b094f8ec8 raco setup: fix for non-parallel doc build in a fresh installation 2012-11-24 11:33:07 -07:00
Matthew Flatt
c12a129b09 remove unused locking layer in the doc database manager 2012-11-24 08:13:51 -07:00
Matthew Flatt
19d7519dfe don't fail when there's no user-specific docindex 2012-11-24 05:28:04 -07:00
Matthew Flatt
9888fac99e raco setup: move doc dependency and duplicate checking to database
This change makes document building --- and specially incremental
document building --- more scalable. The global duplicate-definition
check is handled by a database query, for example.
2012-11-23 20:07:49 -07:00
Matthew Flatt
a73dc50224 break cross-reference info for document into pieces
For example, the cross-reference information for the
Reference is now broken into about 16 pieces, so that
resolving a cross-reference into the Reference doesn't
require loading all cross-reference information for
the Reference.

Every document is split into two pieces, so that the title
of a document is roughly in its own piece. That way,
re-building the page of all installed documentation can be more
scalable (after some further changes).
2012-11-23 18:44:51 -07:00
Matthew Flatt
41e9e3e5ff db: add `sqlite3-available?'
Loading `db/sqlite3' no longer raises an exception if
the SQLite library isn't found. Instead, `sqlite3-connect'
raises an exception, while `sqlite3-available?' reports
whether it will work.

The dynamic test allows the documentation-help system
to continue to work if SQLite3 is not available. Currently,
though, `raco setup' still insists on using SQLite3 to
build the database of documented tags.
2012-11-23 18:44:51 -07:00
Matthew Flatt
8c1b5db815 raco setup: build database mapping doc tags to "out.sxref"s
The `xref' produced by `setup/xref' uses the database to delay
loading "out.sxref"s, which cuts 64-bit DrRacket's initial
footprint by around 50MB (i.e., about 20%).
2012-11-23 18:44:50 -07:00
Matthew Flatt
4080446c50 skip ".git" or ".svn" in a collects directory
Also, update the documentation for `raco setup' and its handling
of command-line argument.
2012-11-16 14:10:32 -07:00
Eli Barzilay
39a0ab60a7 Some more #lang racket' -> #lang racket/base' conversions
(And some other related minor racketisms.)
2012-11-07 08:03:44 -05:00
Matthew Flatt
a150140684 raco setup: improve description of `--doc-pdf'
Merge to v5.3.1
2012-10-12 22:37:47 -04:00
Matthew Flatt
1eabd154fb setup/path-relativize: fix for unknown root path 2012-09-22 08:11:08 -06:00
Matthew Flatt
c75c0d9946 setup/dirs: fix for failure to find embedding executable 2012-09-21 07:18:55 -06:00
Robby Findler
f1dd6be88b adjust the installer dialog so that it prints a "completed"
message at the end of the transcript and so that it shuts down
the installation custodian (which means that any threads or
anything like that that the .plt file's code may have created
will die, plus that the "abort installation" button will now
be greyed out)

closes PR 13122
2012-09-19 06:03:03 -05:00
Robby Findler
0c6734f782 Add the contents of the "blue boxes" in the docs to the upper-right
corner of the definitions window, based on the information that check
syntax computes

This commit contains two separate changes to make this work:

  - adding a new renderer, based on the text renderer, that
    pulls out the contents of the blue boxes and saves them
    in the doc/ directories (specifically in the files named
    contract-blueboxes.rktd)

  - extend check syntax to use and display the information
    build by the new renderer
2012-08-12 08:41:46 -05:00
Matthew Flatt
9d6cb8e50e setup/pack: fix internal and contract errors
Part of the contract-error fix is an implementation change, and part
is a documentation change.

Closes PR 12904
2012-08-10 07:49:17 -06:00
Kevin Tew
38e90b52c4 Fixes parallel raco make of relative paths including subdirectories
closes PR 12953
2012-08-03 09:15:22 -06:00
Eli Barzilay
c408dfb03b Put the main work in a `main' sub-module.
This should avoid re-checking the zo file at the end, leading to an
error when it's not there if it moved.
2012-07-27 10:35:00 -04:00
Robby Findler
6588493810 adjust a bunch of error printfs in raco setup so they include the
stacktrace (by calling error-display-handler). Not sure if this is
always safe, so including it in a separate commit for easy reversion.
2012-06-22 21:38:09 -05:00
Robby Findler
a5d9520274 Revert "a start on getting text rendering running automatically via 'raco setup'"
This reverts commit 6b5cd10670.
2012-06-18 11:27:42 -05:00
Robby Findler
6b5cd10670 a start on getting text rendering running automatically via 'raco setup' 2012-06-18 11:26:27 -05:00
Matthew Flatt
af9d11bfce fix `raco setup' "nothing to do" check w.r.t. Planet paths 2012-06-13 07:44:57 +08:00
Matthew Flatt
42db3a7516 raco setup: print "nothing to do" to stdout instead of sdterr
Printing to stderr shows through in various ways, such as
when installing a Planet package (where stdout is redirected
and stderr isn't).
2012-06-05 17:53:26 +08:00
Matthew Flatt
f00c1150fe adjust `raco setup' replay of exception messages to handle multiple lines 2012-05-25 18:37:29 -06:00
Matthew Flatt
ed6c08f548 dependency-cycle detection in parallel `raco setup' 2012-05-20 10:57:54 -06:00
Matthew Flatt
2f9a0f4b94 fix bad refactoring 2012-05-12 00:55:12 -06:00
Eli Barzilay
621fd87b51 Warn when a given collection has nothing to compile, abort with an error all are empty. 2012-05-11 06:18:21 -04:00
Eli Barzilay
b20575b1c9 Switch to `racket', and a bunch of code cleanups.
There should not be any functionality change in this commit, but please
keep an eye for possible problems.
2012-05-11 06:18:20 -04:00
Eli Barzilay
17090fca4f A bunch of fprintf' -> eprintf' conversions (and a few related things). 2012-05-06 12:06:00 -04:00
Matthew Flatt
5ffb9389ac fix `raco setup' for splicing collections
Closes PR 12676
2012-05-03 11:11:38 -06:00
Matthew Flatt
3d69dfab86 first cut at submodules 2012-03-09 10:34:56 -07:00
Robby Findler
51207a2f68 Revert "topologically sort collections based on the dependencies between"
This reverts commit 79c6a2b1e5.

Sorry--- I didn't mean to push this commit
2012-03-01 11:43:54 -06:00
Robby Findler
79c6a2b1e5 topologically sort collections based on the dependencies between
them and use that to order 'raco setup'

The dep-list.rkt file contains code that reads .dep files
and computes the topological sort; this result is expected
to be copied over into setup-unit.rkt
2012-03-01 11:41:00 -06:00
Ryan Culpepper
94ae918b0f setup "images" collection earlier, "drracket" at end
This change cuts real time of "raco setup -D" almost in half
on a 4-core machine.
2012-02-28 05:27:58 -07:00
Matthew Flatt
012ef60cd5 fix non-tail loop in parallel `raco setup'
Deep recursion with too-few recognizable JIT frames caused
trouble with `current-continuation-marks'.
2012-02-27 14:46:03 -07:00
Matthew Flatt
350d0b1edf fix `raco make -j'
Closes PR 12491

Merge to 5.2.1
2012-01-19 13:14:02 -07:00
Matthew Flatt
d56d28f0b6 protect `raco setup' from files in linked collection dirs
Patch by Jay McCarthy.

Merge to 5.2.1
2012-01-09 16:55:39 -07:00
Matthew Flatt
ee775c3cc3 intern strings, etc. only when making syntax objects, not in `read'
Rename `read-intern-literal' to `datum-intern-literal'.

Interning is needed only in `read-syntax' or `datum->syntax' to
set up the invariants that the bytecode compiler needs for cross-module
optimization. When `read'ing numbers from a data file, meanwhile,
interning slows things down a lot and doesn't seem worthwhile.
2011-12-14 16:03:44 -07:00