Skip to content
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

Provide a more consistent class for profile settings and package specific settings #11

Draft
wants to merge 4 commits into
base: develop
from

Conversation

Projects
None yet
1 participant
@jgsogo
Copy link
Owner

commented Apr 9, 2019

Changelog: omit
Docs: omit

I'm making this little refactoring to help me on conan-io#4917, with this refactor both the validation of the main settings and the settings scoped for a package is done at the beginning of the execution (during the process_settings call), validation of the last ones was being delayed until the graph.

It is basically encapsulating the member variable Profile::package_settings and changing it from dict(OrderedDict) to dict(_ProfileSettings). This new class _ProfileSettings handles the settings for the general graph or for a specific package; Profile class now inherits from it to implement the options, env and build_requires like it was before.

Pending:

  • Can we get rid of ProcessedProfile? I think that this class is just a view over the actual Profile with the extra of a member variable _dev_reference which is consumed inside the Graph to know which reference should set conanfile.develop = True. -> conan-io#4921

  • This can be simplied

  • Check docstring of Profile functions


@tags: slow (I want to run every test using profiles, settings,...)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.