[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