Initial Wayland Support From SWT


The SWT ControlExample now displays on Wayland.

The SWT ControlExample running in Weston.

Yes that’s correct, as of this week, newly built programs using the Standard Widget Toolkit will now display in Weston, the reference Wayland compositor. Continue reading

Posted in Other | Leave a comment

Who and how many people contributed to a Git repository during a given period?

For my new book I wanted to check how many people contributed to the platform.ui repository during the last three months:

git log –since=’last 3 month’ –raw | grep “^Author: ” | sort | uniq -c

seem to be doing the job fine.

git log –since=’last 3 month’ –raw | grep “^Author: ” | sort | uniq -c | wc -l

gives a a count for this period.

27 is the answer in case someone else is interested.

Posted in Eclipse | Tagged , | Leave a comment

Styling of Eclipse table headers (without SWT support)

Just for reference, the PyDev developer Fabio Zadrozny just posted a nice snippet with allows you to style your SWT table headers via CSS (with your register the snippet as CSS property handler).

See the comments in Liclipse released and directly the snippet Gist snippet.

Posted in Eclipse, Lars Vogel | Tagged | Leave a comment

Working with the JNI side of SWT

The JNI (Java Native Interface) is a way to link a Java program, running in the JVM (Java Virtual Machine) with a native program. This can have many uses, one of which is the ability to utilize platform-optimized code in performance critical components of an application. SWT uses this to access platform dependent GUI libraries in a platform independent way. This interface allows a user of SWT to write an application in a standardized, Java-based API, while the resulting product will have the Look and Feel of a native app. Because of this usage, SWT can be conceptually divided into two different sets of code; a standardized, developer-facing Java API, and the native code that makes it work. Continue reading

Posted in Other | Leave a comment

Reusing patches for JFace Viewers

Hello readers,

In this post, we will continue to talk about generifying JFace viewers, as part of our Google Summer of Code project. As mentioned before, there is an existing attempt to generify JFace viewers. Let’s see in more details how to reuse the existing patches to continue the work.

Continue reading

Posted in Jeanderson Candido | Tagged , | Leave a comment

Google Summer of Code – Wayland SWT Port

At this point I would like to introduce myself, my name is Joshua Barkovic and I am currently participating in the Google Summer of Code 2014 program with the Eclipse Foundation. I am working with the SWT team specifically and my work consists of porting SWT so that it will support Linux systems running the new Wayland display server.

Wayland is a next generation display server for Linux machines that strives to solve some of the limitations of the X.Org display server. While X11 will still be around for some time, Wayland has been designed from the ground up to have a small footprint and to work well with non-PC interfaces (e.g. tablets and phones).

SWT (Standard Widget Toolkit) is an opensource widget toolkit built for Java. It allows the developer platform independent access to native graphics libraries and as such requires some maintenance when new libraries and underlying software are developed. Since SWT relies in part on the existence of X11 on a Linux machine in order to function, my work involves removing this dependence and allowing SWT based applications to coexist on both display servers.

GSoC (Google Summer of Code) is a program sponsored by Google in which students in Software Development related programs are paired with mentors in the opensource community. Suggested work is posted yearly on the program’s website in the early spring at which time students can apply to participate in these projects. Successful students and mentors will then spend the summer working together on the tasks they chose to contribute to the community. This partnership allows an increased awareness of opensource initiatives and fosters further participation and growth in the community.

I am a Software Engineering undergraduate student in my final year at McMaster University, Ontario Canada.

My mentors in this project are: Lars Vogel and Alexander Kurtakov.

The project can be found on the GSoC website here.

Posted in Other | Leave a comment

New book: Contributing to the Eclipse project: Principles, Plug-ins and Gerrit Code Review

Frequently I get the feedback that the process of contributing to the Eclipse Open Source project is difficult to get for new contributors. To help with this process I described the process in a new book

Eclipse-Performance-GSoC2014 link link

This book describes how to contribute to the Eclipse Open Source project.

This book starts with an introduction into the structure of the Eclipse Open Source project and continues with a short introduction into Eclipse plug-in development and the handling of the Git functionality within the Eclipse IDE.

After this introduction it describes how to contribute source code to the Eclipse Open Source project using the Eclipse platform project as example. In this main part the usage and configuration of the Eclipse Gerrit code review system is explained. This includes how to run the platform unit tests.

Afterwards tools to analyze the Eclipse code base are presented and it is explained how to build the Eclipse IDE itself.

The last chapters contain short information and interviews with Eclipse project leaders about how to contribute to other Eclipse projects like CDT, Tycho, the PHP IDE and Eclipse based projects like ADT and PyDev.

The current ebook version is an “Early access version”. I want to add for interviews with Eclipse project leaders and do some minor tweaks to the content. Purchases of this early access version will get an update via Amazon once I release the final version (also a paper book) in 6-8 weeks.

Many thanks goes to my awesome reviewer team, Thanh Ha, Wim Jongman, Hendrik Still, Sopot Çela and Steven Spungin.

Posted in Eclipse, Lars Vogel, Other | Tagged , | Leave a comment

Using awk and sed to convert error messages to something useful

This is mainly a post for myself, so that I don’t forget it.

I’m in the process of creating a ebook version of my new “Contributing to the Eclipse OS project” and I had lots of the following error message:

ERROR: /home/vogella/workspace/docu/de.vogella.publishing/../output/epub/book.epub: image file OEBPS/images/starteclipse10.png is missing

So I used ask to remove the beginning of the string: awk ‘/image/ { print $6 }’ matcher.txt > matcher2.txt
And sed to create a correct include statement for my ant build: sed ‘s/\(.*\)//’ matcher3.txt

I should really learn awk and sed at some point.

Posted in Other | Leave a comment

Android Development Tools (ADT) for Eclipse now building with Maven Tycho

The ADT project is now using Maven Tycho for there build. See Bug report and ADT build instructions for details.

Posted in Android, Eclipse, Lars Vogel | Tagged , , , | 6 Comments

Eclipse 4 RCP migration – how to avoid Plugin.getDefault().getPreferenceStore()

Today I got the question how to avoid the usage of Plugin.getDefault().getPreferenceStore() to access preferences as for example in:


The solution is easy you can directly use InstanceScope.Instance, the underlying storage is the same.

getBoolean(IPreferenceConstants.TEST, true);

I hope this helps.

[Reminder for myself, we should probably start using that also in platform...]

Posted in Eclipse, Lars Vogel | 2 Comments