e(fx)clipse 2.0 – Is released

by Tom Schindl at July 07, 2015 07:26 PM

I’m a bit late to announce the release of e(fx)clipse 2.0 but I’ve been heads down in e4/JavaFX projects so I did not yet have time to blog about the release in detail.

Where to get it from

Naturally we provide p2 update sites:

We also updated our All-In-One builds where we also bundled:

New Features / APIs

The main focus of the release clearly was on the runtime layer where we fixed 119 Bugzilla-Tickets (most of the enhancements). Below is a list of the more interesting ones.

Updateing your application got a lot easier

To put it in kind words the p2-API is a very low-level and noisy one allowing you to do crazy stuff but frankly all you really want is to request an update for your application. So this should be damn easy. With 2.0 we made it dead simple for you:

  • Tooling: The new application wizard allows you to directly bootstrap an application who has all necessary bits to update through p2
    p2-wizard
  • Runtime: We have had a unfunctional implementation which we revised (big thank to Dirk Fauth)
    import org.eclipse.e4.core.di.annotations.Execute
    import org.eclipse.fx.core.update.UpdateService;
    import org.eclipse.fx.core.update.UpdateService.UpdatePlan;
    import org.eclipse.fx.core.update.UpdateService.UpdateResult;
    
    import java.util.Optional;
    
    import org.eclipse.fx.core.ProgressReporter;
    import org.eclipse.fx.core.StatusException;
    
    public class RequestUpdate {
    	@Execute
    	public void update(UpdateService service) {
    		service
    			.checkUpdate(ProgressReporter.NULLPROGRESS_REPORTER)
    			.onComplete(this::onCheckComplete)
    			.onException(this::onException);
    	}
    	
    	private void onCheckComplete(Optional<UpdatePlan> updatePlan) {
    		if (updatePlan.isPresent()) {
    			updatePlan.get().runUpdate(ProgressReporter.NULLPROGRESS_REPORTER)
    				.onComplete(this::onUpdateSuccess)
    				.onException(this::onException);
    		} else {
    			// Show nothing to update
    		}
    	}
    	
    	private void onUpdateSuccess(UpdateResult result) {
    		// Inform that the update has finished
    	}
    	
    	private void onException(StatusException updatePlan) {
    		// Show info that status update failed
    	}
    }
    

New styled text APIs

In case you’ve seen me at demo camps, EclipseCon and XtextCon you noticed that we have put a lot of time into the StyledTextArea which we reworked internally a lot and so things like selection, … are working properly now! The nice side effect of the reworking of StyledTextArea internals is that we managed to factor out internal into reuseable small APIs.

  • StyledString: A java.lang.CharSequence who is made up of StyledStringSegments who have style classes associated with them
  • StyledLabel: Similar API to javafx.scene.control.Label allowing you to represent a StyledString in the scenegraph
  • StyledTextNode: A scenegraph node who is able to show arbitary decorations on a text string
  • StyledTextLayoutContainer: A scenegraph node who is able to display selections
  • SimpleTreeCell & SimpleListCell: Got enhanced to supported StyledString if the CharSequence provided by the labelExtractorFunction is a StyledString

The following screenshots shows some of them working together to present an Dart-Editor
screen-text

In the center is the StyledTextArea, the autocompletion dialog uses SimpleListCell and the outline view the SimpleTreeCell.

FilterableTreeItem & SortableTreeItem

Our UI-Library got 2 now TreeItem implementations who support filtering and sorting! The most remarkable thing is that they have not been developed by BestSolution.at but Christoph Keimel has contributed them!

Get in control of the e4 window WITHOUT providing a custom renderer

Previous version had very limited support for controling your window. Starting with 2.0 we provide a (provisional) API who allows you to control almost anything from your window! For that we developed an abstract window API (org.eclipse.fx.ui.controls.stage.Frame) and also ship some default implementations (eg org.eclipse.fx.ui.controls.stage.DefaultTrimmedWindowPane).

In the screenshot below we’ve relocated the MenuBar into a HBox with a search field at the end to save vertical space

screen-custom

Lightweight dialogs

Based on the Frame/Window API who is used in the renderer code in a heavy weight fashion we also have a new lightweight dialog system who is built around this API beside a base org.eclipse.fx.ui.controls.dialog.Dialog class we ship 2 implementations people we most likely use very frequently:

  • TitleAreaDialog
    screen-title-dialog
  • MessageDialog
    screen-message-dialog

e4 supports lightweight dialogs

While the lightweight dialog API can be used by any application, e4 applications can make use of lightweight dialogs through a new service named org.eclipse.fx.ui.services.dialog.LightWeightDialogService so opening a dialog who takes the complete window can be done with:

@Execute
public void openDialog(LightWeightDialogService service) {
    MyDialog d = new MyDialog();
    service.openDialog(d, ModalityScope.WINDOW);
}

While the dialog service allows to open a dialog and control it’s modality there’s a 2nd service who is able to control how a dialog is shown/hidden. By default the dialog is simply show and hidden but you can for example add some nice animations like shown in the video below.



by Tom Schindl at July 07, 2015 07:26 PM

Eclipse Screenshot of the Week: Gerrit

by waynebeaton at July 07, 2015 06:30 PM

It’s easy to get caught thinking that Mylyn only provides access to traditional issue trackers like Bugzilla and Jira. It also features integration with Gerrit.

This screenshot shows the Planning perspective being used to work directly with Gerrit reviews.

Working with Gerrit in the Planning Perspective

Working with Gerrit in the Planning Perspective

You can manipulate the review directly from within Eclipse, browse changes, fetch a patch set (and clone the source repository if necessary), cherry pick, abandon, and more.

Naturally, it also includes the standard sort of great Mylyn support like the ability to schedule when you’re going to do the work and the task focused UI.



by waynebeaton at July 07, 2015 06:30 PM

Hello world!

by xqdt at July 07, 2015 02:35 PM

Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!


by xqdt at July 07, 2015 02:35 PM

Improved search capabilities on Eclipse (LiClipse 2.2.0)

by Fabio Zadrozny (noreply@blogger.com) at July 07, 2015 02:30 PM

LiClipse 2.2.0 (just released) introduces improved search capabilities for Eclipse.

This is done by leveraging Lucene for indexing the files searched -- it's interesting to note that the index is built (and checked for consistency) on-the-fly when a text search is requested, which means that the indexing won't add any overhead on the build process (although that means that the first time some scope is searched it may take a bit more time to build the indexes -- but still comparable to a regular text search on Eclipse -- and subsequent calls are nearly instant).

The image below shows the search dialog (activated through Ctrl + H), where it's possible to select what/where to search. The path(s) and project(s) are updated when a search is requested based on the current selection.


The search results page also offers additional flexibility, which allows grouping the matches in different ways -- they can be flattened, grouped by project, folder or files -- and filtering the results based on the paths (multiple terms may be comma-separated and "!" can be used in the beginning of the term to exclude matches).


Also, this release adds support out of the box for Linux Shell files, Windows bat files, PERL and Swift (through TextMate bundles), so, 27 languages are available out of the box now (View supported languages).


by Fabio Zadrozny (noreply@blogger.com) at July 07, 2015 02:30 PM

Using the Vaadin (GWT) SuperDevMode in OSGi Environments

by Florian Pirchner at July 07, 2015 12:44 PM

GWT and Vaadin come with a great feature to debug the client-side widget code in the Chrome browser. Using GWT’s code server, the Java code will be displayed in the Chrome browser, and you can set your breakpoints and do debugging stuff directly in Chrome.

To run the superDevMode some preparations are required:

  1. Enable SuperDevMode in widgetset
  2. Compile your widgetset by a Maven build
  3. Download all dependencies required to run the codeserver (another Maven build)
  4. Create a launch config to run the code server
  5. Enhance the classpath of the code server launch config
    1. Add all downloaded dependencies to the classpath of the code server launch config
    2. Add local client-side code bundles and their source folders to the classpath
    3. Add the widgetset bundle to the classpath
    4. Ensure that 5.2 and 5.3 are at the beginning of the classpath
  6. Start the code server
  7. Start your OSGi Vaadin Application
  8. Open http://localhost:9876/
    1. Bookmark “Dev Mode on” and “Dev Mode off” in the browser
  9. Open your application in Chrome {URL}/?superdevmode
  10. To reload widgetset in 8) click the “Dev Mode on” bookmark
  11. Ensure that Chrome -> Developer tools -> Properties -> Sources -> xyz Sourcemaps are checked
  12. Open the source tab in Chrome and find your java sources there

1 Enable SuperDevMode

To enable the super dev mode, add the following lines to your widgetset.gwt.xml

<set-configuration-property name="devModeRedirectEnabled"
		value="true" />;

<add-linker name="xsiframe" />

2 Compile widgetset

To compile the widgetset properly, we are using a Maven build.

Create a file called pom-compileWidgetset.xml in your widgetset bundle and configure the pom. Therefore just follow Vaaclipse widgetset as a sample.

Following entries in the pom are mandatory:

  1. Add all your maven dependencies required to compile the widgetset
  2. Configure the vaadin-maven-plugin to compile the widgetset. The compiled widgetset will be copied to ${basedir}/resources.

Run the build with “mvn clean verify -f pom-compileWidgetset.xml”

3 Download all dependencies for the CodeServer

To run the code server properly, a lot of jar files are required. The simplest method to collect all dependencies and their transitive dependencies is to use another Maven build.

Create a file called pom-superdev.xml in your widgetset bundle and configure the pom. For this pom, just follow Vaaclipse widgetset as a sample.

The pom contains all required dependencies and a configuration for the maven-dependency-plugin which copies all jar files to a folder under “${project.build.directory}/superDev-lib”. Attention: The superDev-lib folder will be removed, if you call “mvn clean …” on the widgetset bundle. So it might be a good idea to create a folder called superDev-lib directly in the widgetset bundles root and copy the jars from${project.build.directory}/superDev-lib” to this folder manually.

Run the build with “mvn clean verify -f pom-superdev.xml”

4 Create a superDev launch config

The superDev launch config is a simple java launch config.

Settings:

  • Main class: com.google.gwt.dev.codeserver.CodeServer
  • Program arguments: “-logLevel DEBUG org.semanticsoft.vaaclipse.widgetset.DefaultWidgetset”
  • VM arguments: “-Xss8M -Xmx512M -XX:MaxPermSize=512M”

5 Enhance the classpath of the superDev launch config

The jar files downloaded under 3) need to be added to the classpath of the launchconfig.

  • Open the launch config, switch to tab “Classpath”
  • Press “Add JARs”
  • Then add all jar files located in /superDev-lib to the classpath.
  • Then add any “local client-side bundles” contained in the workspace
  • Add the source folder of the “local client-side bundles” too
  • Add the “widgetset bundle”
  • Add the source folder of the “widgetset bundle”
  • Ensure that the “local client-side bundles”, the “widgetset bundle” and their source folders are at the beginning of the classpath.

Follow the launch configs contained in Vaaclipse widgetset as a sample.

superdev-launchconfig

6 Run the superDev launch config

Running the superDev launch config means that the widgetset is compiled.

If the code server could start properly, you will find following lines in the console:

The code server is ready.
Next, visit: http://localhost:9876/

7 Start the application launch config

Now you need to start you application using a launch config. No special configs are required there.

8 Open http://localhost:9876/

superDevURL

Just follow the instructions on the website and bookmark the two links.

9 Open application in superDevMode

To do this, open {URL}/?superdevmode in your Chrome browser.

The browser will tell you that the widgetset is being recompiled. Afterwards, the application opens.

10 and 11

No steps to describe here …

12 Open source code in Chrome browser

Open the developer tools in Chrome. Under the source tab you should find all your client-side Java code.

sourceCodeInChrome

You may set breakpoints to the code and do all the debugging stuff — right in your browser!



by Florian Pirchner at July 07, 2015 12:44 PM

Easy bug reporting based on a stacktrace in Eclipse Mars

by aurelien.pupier at July 06, 2015 12:20 PM

Everyone is already aware of the Automated Error Reporter Tool - and if you're not I invite you to check one of these articles: reason of this project, InfoQ interwiew. The excellent news is that it is shipped by default in Eclipse Mars. Each time a stacktrace is logged, you can easily report the error with details by clicking View Details in notification popup.

notification

This is a very convenient way to send feedback. But - yes, there is a but - if I missed the popup, how can I report the issue anyway?

Case 1: Report the issue when I'm a committer

In this case, unless automatic send was deactivated, go to the page of the Automated Error Reporting Initiative (AERI)

AERI

Otherwise, you can put on your "normal user" hat and go to the second case.

Case 2: Report the issue when I'm a normal user

  • Open the Error Log view and right-click on the error line. At the bottom of the contextual menu there is an option Report as Bug.

errorReportMenu

  • Choose the Eclipse.org repository.

chooseEclipse

  • The Mylyn Task Editor opens. Fill in all the information that you can provide, then click Submit at the top right.

Mylyn Task Editor

The downside of the second approach is that it requires the user to triage the correct Eclipse components which is not always easy. But it looks like a GSoC project is on the way for Mars SR1.

gsoc


by aurelien.pupier at July 06, 2015 12:20 PM

2015 Annual Eclipse Community Report

July 06, 2015 12:03 PM

The fourth annual Eclipse Foundation Community Report is now available.

July 06, 2015 12:03 PM

Oomph vs. Groundhog Day

by ftl at July 05, 2015 11:43 AM

Ahh, summertime: sunny weather, lots of barbecue and new a Eclipse release. As every year, this also means finding out again, which useful plug-ins you did install during the course of the last year, which tweaks you did to your Eclipse installation. All this just in order to reproduce your development environment based on the latest and greatest features from Mars. Sure, there is this new installer based on Oomph, that does the downloading and all this crazy stuff to prepare your workspace. Sadly your beloved little utility plug-ins are not part of the predefined Eclipse products.

But wait a minute! When you switch the installer to “Advanced mode”, there is this <User Products> node.

User Products node

What if it is possible to define your own product, that contains all this useful plug-ins that help you every day?

Create your own product

As a starting point, you can use the product definition for the Oomph installer itself. Download the file and put it into a “General Project” in your workspace.

Oomph Installer product

If not already done, install the latest Oomph version into your IDE. This allows you to easily edit the Oomph related files with the Setup Editor. You should also get the setups project into your workspace. This contains a lot of examples and material that you can use for your own product definition.

To add your plug-ins, add the required P2 repositories and the feature IDs (as requirement) under the P2 Director (Eclipse Installer) node. Since the Oomph Installer product is not really a useful base for an IDE product, you should also add the P2 information from your favorite EPP package. When you open the file setups/org.eclipse.setup in the Setup Editor, you can easily copy and paste this information to your product defintion.

My Customized Eclipse Committer Package

Now you can drag your setup file onto the <User Products> node and voilá: install your product with all the handy helpers already prepared for you.

Tune to 11

Tune to 11

This is great so far. But it gets even better. Of course, you cannot only install plug-ins. You can do all the magic, that Oomph provides. You find a lot of information about what is possible in the Oomph Authoring Guide.

What absolutely made my day, and what I was missing the last 13 years: you can set the preference /instance/org.eclipse.ui/SHOW_TEXT_ON_PERSPECTIVE_BAR to false.

Thank you Eike and Ed for this one! I owe you a beer.

One more thing

If you got so far, there is one more thing you should try. Put your setup file online (e.g. like I did on github). Now remove the entry under the <User Products> node and drag the URL to your online version there instead. You have now one central definition of your personal development environment, that you can use on several computers (e.g. or for all people in your team). If you change this definition, you can apply the changes with just on click on “Perform Setup Tasks…” on all your machines.


by ftl at July 05, 2015 11:43 AM

Integration tooling for Fuse + Early Access Data Trans and SAP support

by pleacu at July 04, 2015 11:27 AM

JBoss Fuse Tooling plus an updated Teiid Designer and Early Access versions of the Fuse SAP Tool Suite, Fuse Data Transformation tooling and SwitchYard (Luna/JBoss Developer Studio 8).

jbosstools jbdevstudio blog header
JBoss Tools Integration Stack 4.2.2.Final / JBoss Developer Studio Integration Stack 8.0.2.GA

What’s an Integration Stack?

The Integration Stack for JBoss Tools Developer Studio is a set of plugins for Eclipse that provides integration tooling for the following frameworks.

JBoss Fuse Development

  • Fuse Tooling - Tools related to integrating and developing software components that work with Apache ServiceMix, ActiveMQ and Camel - support for Fuse.

The Fuse Development tooling category has both released and early access components. Consequently, you will see it in both the release installation dialog and the early access installation dialog.

JBoss Business Process and Rules Development

  • BPEL Designer - Orchestrating your business processes.

  • BPMN2 Modeler - A graphical modeling tool which allows creation and editing of Business Process Modeling Notation diagrams using graphiti.

  • Drools - A Business Logic integration Platform which provides a unified and integrated platform for Rules, Workflow and Event Processing.

  • jBPM - A flexible Business Process Management (BPM) suite.

JBoss Data Virtualization Development

  • Modeshape - A distributed, hierarchical, transactional and consistent data store with support for queries, full-text search, events, versioning, references, and flexible and dynamic schemas. It is very fast, highly available, extremely scalable, and it is 100% open source.

  • Teiid Designer - A visual tool that enables rapid, model-driven definition, integration, management and testing of data services without programming using the Teiid runtime framework.

JBoss Integration and SOA Development

  • All of the Business Process and Rules Development plugins, plus…​

  • Fuse Apache Camel Tooling - A graphical tool for integrating software components that works with Apache ServiceMix, Apache ActiveMQ, Apache Camel and the FuseSource distributions.

  • SwitchYard - A lightweight service delivery framework providing full lifecycle support for developing, deploying, and managing service-oriented applications.

The SOA Development tooling category has both released and early access components. Consequently, you will see it in both the release install dialog and the early access install dialog.

SOA 5.x Development

  • JBoss ESB - An enterprise service bus for connecting enterprise applications and services.

  • jBPM3 - A flexible Business Process Management (BPM) Suite - JBoss Enterprise SOA Platform 5.3.x compatible version.

All of these components have been verified to work with the same dependencies as JBoss Tools 4.2 and Developer Studio 8.

What’s Been Updated?

Updates have been made to the Business Process tooling, Fuse Tooling, Data Virtualization and SwitchYard. See the Integration Stack 8.0.2 Release Notes

Released Tooling Highlights

JBoss Fuse Development Highlights

  • New projects can now be given an arbitrary name. Previously, artifactId was used as the project name without the possibility to alter it.

  • JMX Navigator has been moved to JBoss Core and reworked. It now contains 3 categories: Local Processes, Server Connections, and User-Defined Connections.

  • Camel Debugger has been added. It allows to set, edit and remove breakpoints in the Design view. Camel 2.12 or higher is required for this functionality.

  • The Servers view now provides access to JMX when the server is running. Fuse-specific nodes are now also visible in the Servers view.

  • New and reworked server adapters have been added for Apache Karaf, Apache ServiceMix, and JBoss Fuse.

  • The previous deployment mechanism using hotfolder, JMX node and fabric8 nodes has been replaced by a publishing logic in the Servers view.

  • Project running on a server are now automatically redeployed when changed locally.

  • The Servers view now shows deployed projects and their bundle state.

  • The deploy, redeploy and undeploy operations are now all done in the Servers view.

  • Server credentials are now stored in the Eclipse secure storage.

  • A new editor palette drawer has been added for the most frequently used Camel components.

  • New custom component properties pages have been added.

  • Fabric8 tooling is now DEPRECATED and will be removed with the release of Fuse Tooling 8.0.0 (released in sync with JBoss Fuse 7.0.0).

BPMN2 Modeler Highlights

Teiid Designer Highlights

Early Access/ Technical Preview Tooling Highlights

Fuse Tooling Highlights

  • The new SAP Tool Suite enables integration of Camel routes with a remote SAP application server. The suite consists of ten components that support Remote Function Calls (RFC) and transmission of Intermediate Documents (IDocs).

  • The new Data Transformation tooling provides a GUI to assist users in implementing data translations as part of Camel routes.

Also see Lars Heinemann’s Blog for more Fuse Tooling insights.

SwitchYard Highlights

The JBoss Tools website features tab

Don’t miss the Features tab for up to date information on your favorite Integration Stack components.

Installation

The easiest way to install the Integratin Stack components is to install JBoss Developer Studio Integration Stack from the Eclipse Marketplace via Help > Eclipse Marketplace…​

Eclipse Marketplace - JBoss Developer Studio Integration Stack

For a complete set of Integration Stack installation instructions, see Integration Stack Installation Instructions

More to come…​

Paul Leacu.


by pleacu at July 04, 2015 11:27 AM

Orion 9.0 Code Edit Widget With Language Tooling

by Libing Wang at July 03, 2015 12:38 PM

Orion 9.0 was just announced with greatly enhanced javascript language tooling features. In addition to using Orionhub.org as an IDE, developers have been demanding that they can embed the Orion editor into their web pages with all the features that the Orion editor offers. Now Orion 9.0 comes with a new widget called “Code Edit”.

Consuming the Code Edit widget is very simple. You just need to go to the Orion 9.0 download page and download the widget build named built-codeEdit.zip.

download

After downloading the build you can host the unzipped files into your web server and start to consume it in your web page. The Code edit wiki page describes how to consume it but as a quick start you can use the run-able html example to launch it. It only takes you several minutes to do so. We’ve also hosted a demo page where you can try the widget right now!

demo

While Orion 9.0 announcement describes some new tooling features in 9.0, there are existing features like syntax highlighting, problems validation, quick fixes, etc. You can find a quick guide from the feature list on the demo page.

The demo page only demos a javascript file but the widget supports more languages such as css, html and most of the web languages. Refer to the list of supported file types for syntax highlighting. You can also theme the editor’s syntax highlighting and other visual parts. The editor theming  describes more on these.

As the Code Edit widget is part of the Orion build, we are actively adding features and doing bug fixes for the widget. Stay tuned with the post 9.0 stable builds!

As part of the future plan, we will allow users to inject their own plugins to the widget. For example, this will allow users to add new language syntax highlighting, add more editor commands, add their own file systems for multiple file reference on language tooling, etc.

 


by Libing Wang at July 03, 2015 12:38 PM

Vert.x3 and PostgreSQL JSON type

by pmlopes at July 03, 2015 12:00 AM

One of the interesting features of NoSQL databases is their schema-less mode of operation. This feature is very useful
during project prototyping and early development since at early the stages of development of projects all data
structures are not clear or have been defined yet. The reason of this post is not to discuss about that subject, but to
show that sometimes you can also use NoSQL with a more traditional database engine like PostgreSQL.


by pmlopes at July 03, 2015 12:00 AM

Eclipse Scout 5 is here

by Jérémie Bresson at July 02, 2015 02:54 PM

scout_on_mars

Eclipse Mars Release Train

We are happy to announce that Eclipse Scout 5 is out. Taking part for the 5th time in the Eclipse simultaneous release train, the latest release of Eclipse Scout was released last week on 24.06.2015 as part of the train.

Highlights of Scout 5.0.0 are:

  • Support for modular Scout Applications
  • Improvements Scout Runtime and SDK
  • Documentation

For details, check out our new and noteworthy page. To download the latest Scout release use the Eclipse package download page.

Scout Neon – the Outlook

As announced early this year, we have big plans on our roadmap for the Neon release. Most of the team has already been working for months on the develop branch. While the replacement of the Eclipse platform as dependency is already visible, the code of the new HTML5 renderer will be moved over later this year.

We will start to share the result with the coming Neon milestone releases over the coming months. If you have questions or would like to share your thoughts please use this forum post.

Project Home, Forum, Wiki, Twitter


by Jérémie Bresson at July 02, 2015 02:54 PM

Screencast of Docker Tooling for Eclipse

by xcoulon at July 02, 2015 01:28 PM

Last week at DevNation I had the chance to show some of the cool features that we provide in JBoss Developer Studio, including the Docker tooling that we’ve built for Eclipse Mars and that was released last week[1].

I also recorded a screencast that highlights some of those Docker tooling features. The video shows how to:

  • Connect to a local Docker engine (0:32)

  • Start a PostgreSQL container with a custom username and password (1:52)

  • Build a custom image for Wildfly to include the PostgreSQL JDBC driver and configure a datasource (3:20)

  • Start a WildFly container linked to PostgreSQL, with exposed ports and a volume mounted on the host machine (6:44)

  • Import a Quickstart project using JBoss Central (8:30)

  • Deploy the project on the WildFly container using a Server Adapter with custom settings (9:55)

  • Connect to the JVM using the Remote Debugging tools (13:25)

I commented all the tasks as I recorded this screencast to highlight the important steps. Beware that if you run &aposboot2docker&apos, you’ll need to use a specific IP address instead of &aposlocalhost&apos when creating the Server adapter in Eclipse (trust me, I made this mistake before…​)..

The dockerfile and its associated resources (module.xml, standalone.xml and JDBC driver) used during the demo is available on GitHub, so feel free to clone the repo and play with it ;-)

Keep in mind that some wizards showed in this screencast may be refactored in the near future, as we target Eclipse Mars SR1 at the end of September for a more complete version of the Docker tooling.

Feel free to discuss features and report bugs with us on the Docker component of Linux Tools at Eclipse.org. As usual, feedback is welcome!

Enjoy!
Xavier Coulon
@xcoulon


1 Docker tooling is part of Developer Studio since version 9.0.0.Beta1 and JBoss Tools users can install it from Eclipse Marketplace or from our Update site

by xcoulon at July 02, 2015 01:28 PM

Integrating my.openHAB with IFTTT

by Kai Kreuzer (noreply@blogger.com) at July 02, 2015 10:15 AM

Today I have some great news to share - I am sure this will make openHAB attractive to even more users than ever before!

my.openHAB Goes Public!

Having offered the cloud companion service for openHAB since more than a year as a closed beta program, it is now time to make it available to everyone! And yes, we are determined to keep it a completely free service for all openHAB users, so that everybody can enjoy the easy and secure remote access as well as the push notifications to the native Android and iOS apps.

Integrate openHAB with Hundreds of Web Services through IFTTT

Our new IFTTT integration is the even bigger news and the very best reason to use my.openHAB: From today on, you can use openHAB together with IFTTT (If This Than That)! As a result, you can make use of all existing IFTTT channels within your rules - simply activate the openHAB channel and grant IFTTT access to your my.openHAB account. You can then use openHAB as a trigger for recipes or send any kind of command from an IFTTT recipe to your openHAB instance.


We think that these new services are very useful additions to many openHAB users. Please provide us your feedback on our mailing list. Note that my.openHAB does not yet work with openHAB 2.0 (which is still in alpha and not meant to be used productively by end users) - but the integration with my.openHAB is high on my priority list as this combination will lower the entry barrier for new users to a new minimum - I am looking forward to it!




by Kai Kreuzer (noreply@blogger.com) at July 02, 2015 10:15 AM

Vert.x 3 init.d Script

by cescoffier at July 02, 2015 12:00 AM

Let’s say you have a Vert.x 3 application you want to install on a Linux server. But you want the old school way (I meant not the docker way ☺). So, in other words, you need an init.d script. This post proposes an init.d script that you can use to start / stop / restart a Vert.x 3 application.


by cescoffier at July 02, 2015 12:00 AM

Presentation: 10 Platforms in 30 Minutes–Powered by Eclipse

by Jonas Helming, Maximilian Koegel at July 01, 2015 07:20 PM

Jonas Helming, Maximilian Koegel develop a simple client-server app using a variety of Eclipse frameworks and producing 10 different versions of the same client running on the multiple platforms.

By Jonas Helming, Maximilian Koegel

by Jonas Helming, Maximilian Koegel at July 01, 2015 07:20 PM

MesosCon 2015 Keynotes and Lightning Talk CFP

by Chris Aniszczyk at July 01, 2015 06:01 PM

Holy it’s July already!

Last year I helped organized the first MesosCon community conference and we’re doing the same this year with a slightly larger Program Committee (thankfully, organizing conferences is so under appreciated in the tech industry).

Recently we announced the schedule and some of the keynote speakers for MesosCon 2015. On top of an amazing program, we’re excited to have a bunch of keynote speakers with @benh, @neha, @kenowens12, @adrianco and more.

 

Honestly, it’s been great to watch the Mesos community grow over the years, from its humble beginnings at Twitter to Apple announcing their adoption to seeing a plethora of other companies using it within their infrastructure.

What’s also fun at MesosCon is that we’re co-locating it with LinuxCon and ContainerCon in Seattle so you have the opportunity to attend those events too if they are of interest.

Also, if you’re interested, the lightning talk CFP is open until July 14th.

Hope to see you there! In my opinion, there really is no better set of events if you’re interested in seeing how the future of infrastructure will be run, along with having the opportunity to shape that direction.


by Chris Aniszczyk at July 01, 2015 06:01 PM

Vert.x3 Web easy as Pi

by pmlopes at July 01, 2015 12:00 AM

Vert.x Web distinguishes itself from traditional application servers like JavaEE by just
being a simple extension toolkit to Vert.x, which makes it quite lightweight and small but
nevertheless very powerful.


by pmlopes at July 01, 2015 12:00 AM

Mars on Linux

by Andrey Loskutov (noreply@blogger.com) at June 30, 2015 06:32 PM

Eclipse is landed on Mars, and now Platform UI team (as well as SWT and EGit teams) start to receive new bug reports from our end users. That's OK, business as usual after each release. Not OK is that we could get much less bug reports, especially from our Linux users. Why?

Eclipse Mars on Linux uses first time GTK3 toolkit by default (all versions before 4.5 were on GTK2), and that is the major driver for new bugs from Linux users. I'm writing this on Linux, and know what I'm talking about. Eclipse SWT team crafted the SWT GTK3 port with tremendous effort, but unfortunately GTK3 exists an a bunch of (partly incompatible) versions with different API behavior, and developing a widget toolkit on top of it is a pain, not a pleasure (IMHO).

The major issue with GTK3 is that if SWT is broken, it affects each and every Eclipse UI plugin, at most unexpected places! Anyway, now this is default toolkit and we must know how to work with it (or workaround it).

So if you are on Linux and see a new UI regression on Eclipse Mars, please be aware that if this a GTK3 issue, there is easy way to fix it - switch to back to the GTK2 version (which is still supported by Eclipse 4.5). But before switching the toolkit - try to help Eclipse and report the issue you observe, so that the next release has a bug fix for it!

1. Search for similar bugs

Before reporting, please search for bugs! All properly reported GTK related bugs contain [GTK], [GTK2] or [GTK3] keywords in the summary. If your bug is already reported, do not report another one, but just add extra details you want to mention.

2. Check if the GTK3 to blame? 

Try to check if your issue is GTK3 related: switch to GTK2. Either export SWT_GTK3=0 in the shell before starting Eclipse or add this two lines to your eclipse.ini:
--launcher.GTK_version
2
which has exact the same effect. If this helps, we will know that the problem is most likely GTK3 related.

3. Check if the GTK+ theme to blame?

Not always the GTK itself is a problem, but the current GTK theme (widget style).


GTK applications can be "styled" - they can look and feel differently on same GTK version due the currently selected "style" or "theme". There are various GTK themes available, and some are better for use with Eclipse as others.

Beware of oxygen-gtk theme on GTK3! This pair is known to be extremely buggy!

Unfortunately, many distributions set the default KDE GTK theme to oxygen-gtk. It worked well in the past with the old GTK2, but on GTK3 this can be a source of multiple issues. If you are using KDE desktop, the first thing you should do is to check if you are using oxygen-gtk. If so, switch to another theme (Adwaita or Clearlooks-Phenix). Later one is my favorite, and I even forked it to make it working on GTK2 in the way I like it :-).

Please note, that after switching GTK theme it is highly recommended to restart Eclipse to avoid unexpected side effects of half-zombied theme artifacts. If the problem do not disappear after restart we know it is independent from the theme.

4. Report the bug

If your bug is not on the list, prepare the information we need to triage it properly! First and foremost we want know exact Eclipse and GTK version used. Eclipse version is shown in the "About" dialog, GTK version is not that easy to retrieve. If you are on Eclipse 4.5, you can see GTK version used by SWT in the "Help -> About -> Installation Details -> Configuration" dialog - search for the "org.eclipse.swt.internal.gtk.version" property, it looks like:
org.eclipse.swt.internal.gtk.version=2.24.28 

But of course on Linux we want use command line tools :-)
For the rpm - based distributions (Fedora, RHEL, CentOS) it's easy: just call
rpm -q gtk2; rpm -q gtk3
and you will see something like:
gtk2-2.24.28-1.fc21.x86_64
gtk3-3.14.13-2.fc21.x86_64

For the debian based distributions (Ubuntu & Co) I know about two commands:
apt list | grep installed | grep libgtk2.; apt list | grep installed | grep libgtk-3.
or
dpkg -l | grep libgtk2.; dpkg -l | grep libgtk-3.
but both of them aren't that concise as rpm and print lot of unneeded information. Please also note inconsistent naming schema: libgtk2 but libgtk-3. Nice and makes lot of sense, isn't?

Now we know the installed GTK version we can go and submit bug report against Platform/SWT.
NB: please also add your operating system details, desktop environment (Unity/Gnome/KDE) and GTK+ theme used.

P.S.
From my personal point of view SWT GTK3 port is still not on par with GTK2 and ideally shouldn't be made default for 4.5 - it wastes lot of space and introduces multiple regressions. But the decision was made and only way to fix it now is to contribute to Eclipse.

by Andrey Loskutov (noreply@blogger.com) at June 30, 2015 06:32 PM

It’s Time to Revise the Eclipse Development Process: 2015 Edition

by waynebeaton at June 30, 2015 05:05 PM

20150630_112837

Every couple of years, I work with the Eclipse Architecture Council to revise the Eclipse Development Process (EDP). The EDP is the document that describes the structure of projects, relationships between projects and committers, and the sorts of activities that projects are expected to engage in.

After many years and many revisions, it’s past time for a complete (or near complete) rewrite. That’s an exhausting thought, frankly, but it’s my hope that we’ll be able to do just that.

I’ve started gathering ideas for how the EDP can change on Bug 463857; this is an umbrella bug to collect the issues that need to be addressed. I’ve already added a few blocker bugs for some issues that I feel need to be addressed. Feel free to add your comments and other blockers as you see fit. Please do join in the discussion.

The first thing on my list is release reviews. Originally, a release review was an event: a conference call on which the project was required to defend their release to the community (or at least that subset of the community that joined the call). In those days, review materials needed to be prepared and disseminated a week in advance of the call to allow the community to prepare. But as community participation dropped, so to was the conference call and we turned the week of review material availability into the review itself.

I’m not at all convinced that there’s much value in the formal week of waiting to release. The community rarely–if ever–comments on release review documentation and since we set reviews up to succeed, they never fail. Further, I’m of the mind that anybody who is interested in an open source project is either already following the progress of the project or should be. If you’re waiting for the release review to be notified that something new is coming from your favourite open source project, it may be time to consider getting more directly involved with project discussion.

For releases, I’m thinking:

  • Get IP Team approval of the IP Log;
  • Get Project Management Committee (PMC) Approval of the release; and
  • Ship it.

Documentation requirements are the PMC’s call. Personally, I think that it’s totally reasonable to require that projects produce at least a single paragraph that describes the nature of the release in broad terms. And planning needs to happen in some form: either as a formal plan or more informally via target milestones on Bugzilla records.

Add your thoughts on Bug 415620.



by waynebeaton at June 30, 2015 05:05 PM