Commit Graph

12 Commits

Author SHA1 Message Date
David Glasser
2120669f46 Remove XXX comment 2015-08-11 19:33:06 -07:00
David Greenspan
c3c07f74a1 Don't add imports of prodOnly packages in compiler
The compiler inserts code that imports the exports of used packages.
It's important that we don't do this for the exports of used
debugOnly and prodOnly packages, because the inserted code will
fail at runtime if the packages are not linked in because we aren't
in dev mode or aren't in prod mode.
2015-08-07 09:28:37 -07:00
Slava Kim
39d8aef3d9 move files into console/ tool-testing/ 2015-08-06 16:39:00 -07:00
Slava Kim
6b1bb038d8 Move files into tools/fs 2015-08-03 22:09:28 -07:00
Slava Kim
8a8db83d29 Move files into tools/utils 2015-08-03 20:32:38 -07:00
Slava Kim
49a7088c30 Create a folder "tool-env"
Contains uninteresting setup and cleanup files
2015-07-31 18:38:25 -07:00
David Glasser
122093bc58 On-disk cache for linker.fullLink 2015-07-23 20:33:02 -07:00
David Glasser
d4a8c491c1 some more comments on compiler-plugin.js 2015-07-22 21:40:52 -07:00
David Glasser
1c6acba777 build plugin doc comment tweaks 2015-07-20 23:46:22 -07:00
Slava Kim
685c1cc510 Add a doc comment for getExtension 2015-07-20 19:26:55 -07:00
David Glasser
5e0fefa912 Better linker error detection/caching
Fixes 3 issues:

- The error detection code in linker.fullLink was buggy.The goal of this
  code was to convert an error from findAssignedGlobals into empty
  linked output. But buildmessage.jobHasMessages() wasn't precise
  enough; if a much larger job had any errors, linker.fullLink would
  incorrectly return empty linked output here. (Worse, it got cached in
  memory, so the incorrect result would recur on future links!) The fix
  is to make the scope of the error detection more targeted.

- OK, now it's OK to cache error outputs from linker.fullLink, because
  they're at least only occuring on real errors, right?  Wrong... we
  shouldn't cache the error return value without also caching the *error
  itself*. In this case, we just change the cache to not cache erroneous
  outputs at all (though we could have instead saved the error and
  rethrown it if we got it again).

- When mutating the File to pretend it was empty, we should keep the
  sourceHash up to date. (This doesn't seem to be directly causing any
  bugs but can't hurt.)

Fixes #4591.
2015-07-16 21:48:29 -07:00
David Glasser
2ccaf6a51e Move some files into isobuild subdirectory
The exact borderline between "Isobuild" and "the tool" is a little hazy,
but the idea is that "Isobuild" is the part that you could imagine being
embedded in a non-command-line build tool. It's not about commands or
UI, but just about building packages and apps.

A next step could be moving things that are strictly "the command-line
tool" into their own subdir, and leaving the top directory mostly just
for shared utilities like buildmessage.  (Which could even go in a utils
subdir?)
2015-07-16 15:12:36 -07:00