[yocto] Eclipse plugin plans
Paul Eggleton
paul.eggleton at linux.intel.com
Mon Jan 29 19:33:18 PST 2018
Hi all,
I've recently become involved in development of our Eclipse integration, and
we figured it's about time we sent out an update on where things currently
stand.
Current development
---------------------------
New life is being injected into the Yocto Project Eclipse plugins. There are
several drivers for this:
1) Integrate the tooling with Docker. With changes and additions to Eclipse
CDT and Eclipse Linuxtools projects, it’s now possible to have Docker images
provide functionality that’s running within Eclipse. For example, CDT’s
autotools can be run in a Docker container for compiling/building/recipe and
for running/debugging.
2) Docker tooling also provides a way to do cross-OS building/running - e.g.
Eclipse running on Windows doing compiles/running/recipes for a target running
on Linux (in a Linux Docker Container). Up until now we have been restricted
to Linux as the Eclipse host OS. We will be looking at Windows first, MacOS
may follow later.
3) Simplify the deployment and installation of the plugins. Currently, the
plugins have a number of dependencies…e.g. on Eclipse CDT and others. This
often makes it difficult to install, use, and upgrade the plugins,
particularly for Yocto Project beginners.
4) Update the plugins for latest Eclipse. Eclipse has upgraded its support
(CDT, Linuxtools/Docker, etc) significantly, and the plugins do not yet take
advantage of these improvements. The target for the 2.6 release will likely be
Eclipse Photon (released June 2018).
5) Improve and make more transparent the Build/Continuous Integration/Release
Engineering for the plugins. This will make it easier for others to
contribute, and will make it easier for automated testing to be done improving
overall quality.
To start down these directions and explicitly start on 3, 4, 5 we propose that
for eclipse-poky we move toward a maven-based build. Maven-based builds are
extremely common in the Eclipse plugin development world, and there are a lot
of technologies openly available to support building these plugins: e.g.
maven, tycho, Eclipse itself. As part of this we will be looking to transition
the autobuilder from the current script-based build to a maven-based build,
but with two caveats:
a) the current autobuilder will be used for 2.5 release
b) both builds (script-based) and maven-based will be maintained until after
2.5 release
c) the maven-based build will add: automated testing, easier dependency
management, a more open and maintainable build system
We are proposing that the existing eclipse-poky 2.5 branch (oxygen.master) be
soon frozen (after a few small pending fixes) and that the eclipse-poky
‘master’ be opened up for 2.6 development. This way we will have a stable
release candidate as 2.5 approaches, and be able to begin work on 1-5 as above
for 2.6 as soon as possible.
If you want a peek at what we are currently working on with maven see the
timo/maven branch in eclipse-poky-contrib. New instructions are in the
README.dev file.
A note about CROPS
----------------------------
The earlier effort to build the CROPS architecture to support multiple IDEs
has been dropped - unfortunately we weren't able to realise the original
design for a number of reasons including that in the case of Eclipse it was
incompatible with the upstream Eclipse direction. We have now switched back to
the original eclipse-poky codebase and are following upstream Eclipse /
Linuxtools / CDT development a lot more closely. We will however gain some of
the features that CROPS set out to provide - i.e. building in a container and
therefore enabling the IDE to be running on a non-Linux OS.
Note: the CROPS containers [1] are still around and functional, and will
likely form the basis of the containers used by the current YP Eclipse
plugins.
New mailing list
---------------------
As you may have seen elsewhere, we now have a mailing list dedicated to
Eclipse plugin development and related discussion. You can find information
(and list archives) here:
https://lists.yoctoproject.org/listinfo/eclipse-poky
If you have follow-up questions / discussion or would like to get involved,
please join us over on that list.
Cheers,
Paul
[1] https://wiki.yoctoproject.org/wiki/TipsAndTricks/CropsCLIContainers
--
Paul Eggleton
Intel Open Source Technology Centre
More information about the yocto
mailing list