Closed spine-o-bot closed 3 years ago
In GitLab by @manuelma on Oct 31, 2020, 17:48
changed the description
In GitLab by @manuelma on Oct 31, 2020, 21:37
changed the description
In GitLab by @manuelma on Oct 31, 2020, 21:38
changed the description
In GitLab by @manuelma on Nov 1, 2020, 21:23
changed the description
In GitLab by @soininen on Nov 2, 2020, 08:28
project_item_info
and specification stuff may need to be moved to Engine as well.
In GitLab by @PekkaSavolainen on Nov 2, 2020, 10:12
Sounds like a lot of refactoring again. Any chance of making 'dummy' spinetoolbox independent base classes just for the engine?
In GitLab by @manuelma on Nov 2, 2020, 10:16
I'm not sure what you mean. Sounds like duplicating code which means maintaining it in both sides?
In GitLab by @manuelma on Nov 2, 2020, 14:17
changed the description
In GitLab by @manuelma on Nov 2, 2020, 14:18
changed the description
In GitLab by @manuelma on Nov 2, 2020, 19:20
mentioned in commit 63f8ff6e703bf84e10a516888e068b21e7f32eeb
In GitLab by @manuelma on Nov 2, 2020, 19:58
mentioned in commit 7074f6abd1eb1ac2a7bdd0a42feedd88acbc1fea
In GitLab by @manuelma on Nov 2, 2020, 20:21
Done by above commits. Here is a summary of what has been moved from toolbox to engine
spinetoolbox.project_item.executable_item_base
spinetoolbox.project_item.project_item_info
spinetoolbox.project_item.project_item_resource
spinetoolbox.project_item.project_item_specification_factory
spinetoolbox.project_item.project_item_specification
spinetoolbox.config: GAMS_EXECUTABLE, GAMSIDE_EXECUTABLE, JULIA_EXECUTABLE, GIMLET_WORK_DIR_NAME, TOOL_OUTPUT_DIR
spinetoolbox.spine_io.gdx_utils
spinetoolbox.spine_io.type_conversion
spinetoolbox.spine_io.exporters.gdx
spinetoolbox.spine_io.exporters.excel
spinetoolbox.spine_io.importers.csv_reader
spinetoolbox.spine_io.importers.excel_reader
spinetoolbox.spine_io.importers.gdx_connector
spinetoolbox.spine_io.importers.json_reader
spinetoolbox.helpers_qt_free
with all the corresponding unit tests.
In GitLab by @manuelma on Nov 2, 2020, 20:26
mentioned in commit 10fc04016690006d8821bab6f5ca3cf887cc99be
In GitLab by @manuelma on Oct 31, 2020, 17:47
In #3, we made the executable part of the items qt-free, so we could load them from a remote engine environment that doesn't require PySide2.
But the executable parts still import some stuff from spinetoolbox, which means spinetoolbox (and thus PySide2) still needs to be installed in the remote engine machine.
So I think we need to make the executable parts 'spinetoolbox-free' now. I propose to do this by moving some of the base project item classes from toolbox to engine, notably
executable_item_base
,project_item_resource
,helpers_qt_free
,project_item_specification_factory
,project_item_info
,project_item_specification
, some constants fromconfig
(e.g.TOOL_OUTPUT_DIR
,GIMLET_OUTPUT_DIR
), and part ofspine_io
.Eventually we may need to split
project_item_specification_factory
into qt-free and qt-bound.Any comments? @PekkaSavolainen @soininen @ererkka ?