[yocto] Eclipse plugin plans

Koehler, Yannick yannick.koehler at hpe.com
Tue Jan 30 12:13:10 PST 2018


Big fan of what CROPS did and we use the poky container in our development, but slightly differently.

If I may, I would like to see is an eclipse docker image that pre-include the Yocto plugin (CDT, gdb, etc), which still allow for adding addtl plugin via Dockerfile (they is likely already some Dockerfile like this that exists but not targeting Yocto itself).

And I would like to be able to use bitbake (or toaster) as a server running inside docker controlled by another bitbake poky acting as a client, using poky code that is mounted using volume instead of pre-built in the Dockerfile.

	docker run -v mypokyfolder:/var/lib/poky/ -t crops/bitbake-server 
	docker run -ti crops/bitbake ...

--
Yannick Koehler

-----Message d'origine-----
De : yocto-bounces at yoctoproject.org [mailto:yocto-bounces at yoctoproject.org] De la part de Paul Eggleton
Envoyé : 29 janvier 2018 22:33
À : yocto at yoctoproject.org
Cc : eclipse-poky at yoctoproject.org
Objet : [yocto] Eclipse plugin plans

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
--
_______________________________________________
yocto mailing list
yocto at yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


More information about the yocto mailing list