commit | 18d9047d3c6f035357be67d41eb970bc79b1d9ad | [log] [tgz] |
---|---|---|
author | Todd Wang <toddw@google.com> | Fri May 29 01:46:40 2015 -0700 |
committer | Todd Wang <toddw@google.com> | Fri May 29 01:46:40 2015 -0700 |
tree | e67e3db86596a8029eb9d3e5da05a034ec9b5b76 | |
parent | af3debe7ee116fc5c2f49acd0f5e9f2f07519c1d [diff] |
lib: Change godepcop to an XML (rather than JSON) config file. Most of the rest of our build-related config files use XML, so this increases consistency. It's also easier to add comments. The XML file is called .godepcop (rather than GO.PACKAGE) to match the naming of the .api config file, and also to hide it from view since it's rarely edited. Here's an example of the v.io/x/lib/.godepcop file: <godepcop> <import allow="v.io/x/lib/..."/> <import allow="github.com/cosnicolaou/llog"/> <import deny="..."/> <xtest allow="v.io/v23/..."/> <xtest allow="v.io/x/ref/..."/> </godepcop> Note that the new file allows specification of rules for regular imports, test imports and xtest imports. Having rules for all three groups of imports is useful, since we can now have strict rules about the dependencies for all code (both test and non-test) that is used to build each package. E.g. we have very strict rules for the vdl package and the v23 tool, since they're so critical to our codebase. I also discovered (and fixed) a bug that caused us to miss some transitive dependencies during checking. E.g. vlog imports verror, which imports a bunch of other packages under v23, but the bug caused us to only check the verror dependency and skip the others. The bug was in checkImports, where we were incorrectly re-using the "deps" variable. I've also created reasonable .godepcop files for our codebase, as appropriate, and added comments describing the philosophy. MultiPart: 3/3 Change-Id: Idd7b2694410aa6c3009139b26a547cdb0a411dd5
This repository contains general purpose libraries used by the Vanadium project.