Skip to content

Commit faaecde

Browse files
committed
Config Path
1 parent ccc899b commit faaecde

File tree

3 files changed

+13
-3
lines changed

3 files changed

+13
-3
lines changed

cppython/core/resolution.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,15 @@ def resolve_cppython(
114114
root_directory = project_data.project_root.absolute()
115115

116116
# Add the base path to all relative paths
117+
modified_configuration_path = local_configuration.configuration_path
118+
119+
# TODO: Grab configuration from the project, user, or system
120+
if modified_configuration_path is None:
121+
modified_configuration_path = root_directory / 'cppython.json'
122+
123+
if not modified_configuration_path.is_absolute():
124+
modified_configuration_path = root_directory / modified_configuration_path
125+
117126
modified_install_path = local_configuration.install_path
118127

119128
if not modified_install_path.is_absolute():
@@ -141,6 +150,7 @@ def resolve_cppython(
141150
modified_scm_name = plugin_build_data.scm_name
142151

143152
cppython_data = CPPythonData(
153+
configuration_path=modified_configuration_path,
144154
install_path=modified_install_path,
145155
tool_path=modified_tool_path,
146156
build_path=modified_build_path,
@@ -166,6 +176,7 @@ def resolve_cppython_plugin(cppython_data: CPPythonData, plugin_type: type[Plugi
166176
modified_install_path = cppython_data.install_path / plugin_type.name()
167177

168178
plugin_data = CPPythonData(
179+
configuration_path=cppython_data.configuration_path,
169180
install_path=modified_install_path,
170181
tool_path=cppython_data.tool_path,
171182
build_path=cppython_data.build_path,

cppython/core/schema.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ def dynamic_data(cls, model: 'PEP621Configuration') -> 'PEP621Configuration':
107107
class CPPythonData(CPPythonModel, extra='forbid'):
108108
"""Resolved CPPython data with local and global configuration"""
109109

110+
configuration_path: Path
110111
install_path: Path
111112
tool_path: Path
112113
build_path: Path

tests/unit/core/test_resolution.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,9 @@ class MockModel(CPPythonModel):
8181

8282
bad_data = {'field': 4}
8383

84-
with pytest.raises(ConfigException) as error:
84+
with pytest.raises(ConfigException):
8585
resolve_model(MockModel, bad_data)
8686

87-
assert error.value.error_count == 1
88-
8987
good_data = {'field': 'good'}
9088

9189
resolve_model(MockModel, good_data)

0 commit comments

Comments
 (0)