D5584: Introduction of runtimes
Aleix Pol Gonzalez
noreply at phabricator.kde.org
Tue Apr 25 17:20:06 UTC 2017
apol created this revision.
Restricted Application added a subscriber: kdevelop-devel.
REVISION SUMMARY
When we develop our software, we usually don't develop the application just
for us. In the linux world we have a big problem with distributing our
software beyond software tarballs and this abstraction aims at integrating
the solutions created for deploying software so that it can be integrated
in our workflow when developing.
As you can see in the proposed IRuntime class, there's 2 main things
abstracted:
- the file system, by converting file paths into the runtimes' back and
forth. (e.g. include directories)
- processes, by running the processes we execute to interact and
introspect the system (i.e. cmake or gdb)
For a proof of what we're discussing, I implemented two plugins: flatpak
and docker.
- docker: is more of a proof of concept nowadays, in general it just works
in terms of running processes but there we don't (yet?) have integration
with the file system.
- flatpak: allows us a full-featured environment for creating and deploying
desktop applications, which offers many simplifications over how we've been
working so far.
Here's a couple of videos showing the kind of things we can do and a
proposal for a workflow.
Docker: https://youtu.be/7a4qbQ1rrYc
Flatpak: https://youtu.be/Gh9nT7tFI6g
REPOSITORY
R33 KDevPlatform
BRANCH
runtimes
REVISION DETAIL
https://phabricator.kde.org/D5584
AFFECTED FILES
interfaces/CMakeLists.txt
interfaces/icore.h
interfaces/iruntime.cpp
interfaces/iruntime.h
interfaces/iruntimecontroller.cpp
interfaces/iruntimecontroller.h
language/backgroundparser/backgroundparser.cpp
outputview/outputexecutejob.cpp
outputview/outputexecutejob.h
plugins/CMakeLists.txt
plugins/docker/CMakeLists.txt
plugins/docker/Messages.sh
plugins/docker/dockerplugin.cpp
plugins/docker/dockerplugin.h
plugins/docker/dockerpreferences.cpp
plugins/docker/dockerpreferences.h
plugins/docker/dockerpreferences.ui
plugins/docker/dockerpreferencessettings.kcfg
plugins/docker/dockerpreferencessettings.kcfgc
plugins/docker/dockerruntime.cpp
plugins/docker/dockerruntime.h
plugins/docker/kdevdocker.json
plugins/docker/kdevdockerplugin.qrc
plugins/docker/kdevdockerplugin.rc
plugins/executescript/scriptappjob.cpp
plugins/flatpak/CMakeLists.txt
plugins/flatpak/Messages.sh
plugins/flatpak/flatpakplugin.cpp
plugins/flatpak/flatpakplugin.h
plugins/flatpak/flatpakruntime.cpp
plugins/flatpak/flatpakruntime.h
plugins/flatpak/kdevflatpak.json
plugins/flatpak/kdevflatpakplugin.qrc
plugins/flatpak/kdevflatpakplugin.rc
shell/CMakeLists.txt
shell/core.cpp
shell/core.h
shell/core_p.h
shell/runtimecontroller.cpp
shell/runtimecontroller.h
shell/runtimesmodel.cpp
shell/runtimesmodel.h
To: apol, #kdevelop
Cc: kdevelop-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20170425/acd8a67e/attachment.html>
More information about the KDevelop-devel
mailing list