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