-
Notifications
You must be signed in to change notification settings - Fork 260
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enable reusing the specification of options in a dfyconfig.toml #5337
Comments
This sounds useful! I initially thought we wouldn't need both this feature and #5336 since they behave similarly, but I think the use cases are pretty different: organizing similar groups of code internally in a project, as opposed to dependencies between projects that may be maintained by independent groups of people. I'd suggest if we implement this we deprecate the |
I should clarify. The intended usage here is:
Where |
Fixes #5337 ### Description - Add the field `base` to Dafny project files, which allows a project file to inherit fields from another one. Options from the current file override options from the base. Includes from the current file override excludes from the base, and excludes from the current file override includes from the base. The base may itself also have a base. - Small improvements to project file error reporting. See the updates in existing tests for more information. ### How has this been tested? - Added the test `cli/projectFile/base/included.dfy` <small>By submitting this pull request, I confirm that my contribution is made under the terms of the [MIT license](https://github.com/dafny-lang/dafny/blob/master/LICENSE.txt).</small>
To enable reusing the specification of options, Dafny should allow using a Dafny project file as a source file, either directly on the CLI or in the
includes
section of a project file. This allows specifying a tree of project files. Elements from this tree are merged into a single Dafny project. The merging is done bottom up, where later elements override the options set by earlier ones. Overriding an excludes can be done by setting the same path in an includes.The text was updated successfully, but these errors were encountered: