Open wbqpk3 opened 1 year ago
While installation should as fast as possible, we should not support easily broken installations, like not installing the webgui and leaving a previously built, possibly outdated version there.
Instead, an incremental installation of the webgui should be supported. This requires two steps:
npm install
, if the package-lock.json
file changed. (For the old GUI, there is only a package.json
file.) This is already done.Alternatively we could use the COMPONENT
argument of the install()
command in CMake to define multiple installation components. Then it would be possible to install the logger and the parser component and not install the webserver component, if it is not needed in a scenario.
Instead, an incremental installation of the webgui should be supported.
I agree, that would indeed be a better option.
Would that be possible to build the webgui during make
and check if the webgui source code changed? In that case, make install
would just simply copy the built files.
The build workflow of Node is not highly compatible with CMake, be it is nice that we have a unified build system for the complete project.
While we can build the frontend during the build
stage of CMake, this will raise another performance issue during development. If someone is working on both the GUI and backend Thrift service, he/she would need to rebuild the frontend each time a make
command is issued. This is vain, as during development, usually not a statically built version of the frontend is tested, but the development server of NodeJS is utilized.
Whenever we execute
make install
it rebuilds the webgui despite no changes in webgui source code. We should add a CMake option to skip webgui builds for bothwebgui
andwebgui-new
.Relevant output of
make install
: