Commit Graph

466 Commits

Author SHA1 Message Date
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
Matthew Flatt
b2fade9206 read-intern strings generated by Scribble; other interning
This change saves a small amount of space in cross-reference files
and some space in loaded cross-reference information.
It also saves work converting strings to mutable on deserialize,
although the performance difference seems negligible.
2011-12-10 11:43:58 -07:00
Matthew Flatt
14e0698602 raco setup: one more path simplifcation point
Closes PR 12355
2011-11-28 13:51:24 -07:00
Robby Findler
3f8d6eb2b2 adjust call to get-info/full so that it respects the contract 2011-11-04 21:48:04 -05:00
Matthew Flatt
8c2dc5ccb7 parallel `raco setup': print "running" before insead of after
That is, before actually running the document, so that the
"running" message is a useful indicator of what is happening
now.
2011-10-11 17:17:58 -06:00
Matthew Flatt
c74bce598b fix Ctl-C problems in parallel `raco setup'
The main problem was that when a place catches an exception,
it would continue in breaks-disabled mode. Also improve
`parallel-do' to detects additional breaks when waiting on
places and propagate them, in case a place was running something
that ate the initial break.
2011-10-11 15:54:22 -06:00
Matthew Flatt
f21187248a fix `raco setup' for a collection that disappears 2011-09-20 13:22:27 -06:00
Kevin Tew
099e89a297 Fix pr 12205 pass --disable-inline and --vv options through to parallel make 2011-09-20 11:10:56 -06:00
Matthew Flatt
e03a70025f fix another raco setup path-normalization (especially for Windows) 2011-09-18 08:09:04 -06:00
Matthew Flatt
39601cedcf Revert "putting the "drscheme" collection last isn't useful anymore"
This reverts commit 89581f5e21.

Putting "drscheme" last is useful because it avoids having two
places try to compile "drracket" and "drscheme" at the same time,
in which case the "drscheme" place gets stuck waiting on the
"drracket" place. Moving "drscheme" to the end is a hack, but
it improves the build time for 2-4 cores.
2011-09-16 16:36:57 -06:00
Eli Barzilay
623c7493ed Some selective #:when (not ...)' -> #:unless ...'. 2011-09-16 10:48:18 -04:00
Kevin Tew
a6b4b42982 pr# 12143 raco make -j 2, fix split-path's 'relative to byte-string conversion 2011-09-05 17:22:59 -06:00
Matthew Flatt
5de2ea9547 fix absolute paths in cross-reference info
The absolute paths were introduced by support for parallel build,
which piggy-backs information in "in.sxref" to communicate among
processes. Since the information is persistent beyond that
cooperation, the information needs to be in relative form.

[Sorry for the reformatting noise, but the file's indentation was
 especially mangled.]
2011-09-04 09:53:36 -06:00