Closed beyang closed 8 years ago
LGTM!
So the most useful change to this is splitting out the Key
part of a SourceUnit
. That accomplishes the cleaner API goal stated in the PR description?
A lot of the commits here are fixup commits. Could you squash them before merging? Doing that before submitting for review would of also been cool :)
In the process, this also deprecates / removes some configuration functionality that is unused by any existing toolchain (the Config field for the Srcfile format and the Ops field).
If it is unused, can't we just remove it?
The JSON serialization of the new SourceUnit is backward compatible with the old SourceUnit.
What testing have you done for this? From reading the code it seems alright, but we have a lot of existing data you could test against.
squashed and pushed.
merge-squashed
This change simplifies the source unit data structure, removing the old
RepoSourceUnit
andSourceUnit
and replacing it with aSourceUnit
data structure defined in protobuf.The motivation behind this change is to make it possible to support "global deps" (i.e., source unit resolution at the application layer) with a cleaner API.
In the process, this also deprecates / removes some configuration functionality that is unused by any existing toolchain (the
Config
field for theSrcfile
format and theOps
field).SourceUnit
is backward compatible with the oldSourceUnit
.Most of the remaining is just changes to test files in response to the data structure change.