Eclipse IoT Announces Fourth Edition of the Open IoT Challenge

September 28, 2017 02:10 PM

IoT enthusiast? This Challenge is for you! Submit your IoT solution proposal by November 13.

September 28, 2017 02:10 PM

EMF Support for Che – Day 6: Adding your own editor

by Maximilian Koegel and Jonas Helming at September 28, 2017 10:40 AM

In this blog series, we share our experiences extending Eclipse Che to add EMF support. The first post covers our goals. In the last post, we have focused on how to extend Che by adding a custom plugin. So far, we have registered a file extension for +.ecore files and can control the editor to be opened for this file type. We still can open a plain text editor for Ecore files.

The next step is to add a custom editor to support modeling in Ecore as you are used to in classic Eclipse. The existing editor for EMF is written in SWT, we therefore cannot simply reuse it, as we did for the code generation. So, let’s have a look at the different options to implement a new Ecore editor within Che. As described in the first blog post, our first goal is a form-based editor such as the default Ecore tooling rather than a textual or graphical editor. However, the following considerations are pretty much the same.

Che provides a flexible extension mechanism to register editors based on the corresponding file type, as well as a frame (tab) for the same (see here for more details). Therefore, we primarily  need to consider the inner part of our editor, meaning the part showing the actual content of the file.
For this, we have basically three choices:

  1. Extend the existing code editor (which is based on Orion)
  2. Write a new Editor using GWT (Che is implemented with GWT)
  3. Embed an existing HTML/JavaScript component

If you want to modify any text-based artefact, the first option is probably the simplest and best choice. In this case, you would extend the Orion editor with custom syntax highlighting, code completion, etc. Please see here for more details. For our Ecore Editor, we are aiming for a form-based solution, so for us, the Orion editor is not really an option.

The second option, using the Google Widget Toolkit, is probably the simplest one if you need to implement an editor from scratch. As you use the same technology as the surrounding application (Che), integration is straight-forward and you can directly use all of the Che APIs. Finally, you can implement your editor in Java (as supported by GWT). However, you need GWT experience and the GWT ecosystem is not as active anymore.

The third option is actually the most flexible one. As Che is an HTML/JavaScript application, you could potentially embed any web framework you prefer to create an editor. This gives you access to the very vital ecosystem of HTML/JavaScript frameworks. It also makes your editor independant of Che, such that you can write it once and also use a stand-alone solution or embed it into another web IDE such as Atom or Theia. Further, this option makes your development cycle more efficient. You can first develop a stand-alone component with very short build cycles and easy debugging, and then later, embed it into the framework.

As you might have guessed, we have chosen the third option for our Ecore Editor prototype. Before we present the actual editor, let us look more in detail at the way to embed HTML into an existing GWT application (Che). The basic idea is described in this tutorial.

To embed our own existing HTML/JavaScript component in Che we need to accomplish three tasks:

  • Include our own HTML
  • Include our own Javascript
  • Include our own CSS

Che uses the Model-View-Presenter pattern recommended by the GWT developers to implement everything UI related, ranging from simple popups to more complex editors. For embedding HTML in Che you can extend and configure the provided BaseView class. This allows you to register a special GWT-UI Binder xml file in which you can specify your own HTML.

To embed your Javascript you need to implement a presenter. For editors, Che provides the AbstractEditorPresenter which already includes useful functionality like dirty-state-handling. In your implementation you can call the GWT ScriptInjector to inject your Javascript files when the editor initializes. Once they are loaded you must call the previously implemented view to show your defined HTML.

Usually, you then need to communicate with your Javascript library, for example to provide data coming from Che. For this you can use GTW Overlays. Overlays are Java classes representing JavaScript objects. You can use them within your implemented view.

You can add your CSS at the same point where you register your plugin extension by adding it to the Che HTML document. However you should make sure to scope your CSS classes so they do not overwrite CSS defined by Che.

Now you only need to register your editor presenter for an existing or newly defined file type so that the custom HTML/JavaScript component is rendered and that is basically it.

The following screenshot shows a simple custom editor which displays statically defined HTML via the BasicView approach described above. Stay tuned for the next blog days where we show how to use the Model-View-Presenter pattern to embed our own, more complex, stand-alone UI component into Che, which will show the contents of an Ecore file.

If you are interested in learning more about the prototype for EMF support, if you want to contribute or sponsor its further development, or if you want support for creating your own extension for Che, please feel free to contact us.

 

List of all available days to date:


by Maximilian Koegel and Jonas Helming at September 28, 2017 10:40 AM

Profiling Spark Applications: The Easy Way

by Michael (noreply@blogger.com) at September 28, 2017 04:26 AM


Recently, I thought about some one-click way to profile Spark applications, so it could be easily integrated in any work environment without the need to configure the system.


The modern way to report profile statistics about an application (any application, not just Spark or Java application) is generating a single .SVG file called "flame graph". Since this is a regular vector graphic format, the file can be opened in any browser. Moreover, you can navigate between different stack frames by clicking on them, and even search for a symbol name by clicking on "Search" link.


This is how sample flame graph looks like:
The y-axis shows the stack depth while the x-axis shows time spent in a stack frame.

In order to generate flame graphs, there are two mandatory processes usually:
  • Capture stack traces from a running process, and dump them to disk. 
  • Parse these stack traces, and generate .SVG file. 
For Java based applications it stack traces can be gathered using commercial features of Oracle JDK (using -XX:+FlightRecorder option). There's an article that explains how to profile Spark applications using this option.

In OpenJDK this feature is not available, but luckily there are other options. Once of them is using statsd JVM profiler library from Etsy. This library integrates as agent into JVM, gathers statistics like CPU or memory usage, and send it to statsd server in real time. Apparently, this library supports reporting to InfluxDB as well .

Keeping the above in mind, the whole process will look like this:
  1. Have InfluxDB running on random port.
  2. Start Spark with the statsd profiler Jar in its classpath and with the configuration that tells it to report statistics back to the InfluxDB instance.
  3. After running Spark application, query all the reported metrics from the InfluxDB instance.
  4. Run a script that generates the target report.
  5. Stop the InfluxDB instance.
  6. Store generated .SVG file somewhere, or send it to someone.
The following script is a wrapper to ‘spark-submit’ command, which does all that:

For the sake of justice, it should be noted that the following utilities must present on your system prior to running the script: perl, python2.7 and pip. Otherwise, the script was used in Amazon EMR environment without any issues. Just use the script instead of usual spark-submit command, and it will profile your application. and create a report:

[hadoop@ip-10-121-4-244 tmp]$ ./spark-submit-flamegraph --name 'etlite' --jars file://$(pwd)/probe-events-1.0.jar etlite_2.11-0.1.0.jar s3://mobility-artifacts/airflow/latest/config/etlite.conf
[2017-06-05T12:34:05] Installing dependencies
[2017-06-05T12:34:09] Starting InfluxDB
[2017-06-05T12:34:10] Executing: spark-submit --jars /home/hadoop/.spark-flamegraph/statsd-jvm-profiler.jar,file:///tmp/probe-events-1.0.jar --conf spark.executor.extraJavaOptions=-javaagent:statsd-jvm-profiler.jar=server=10.121.4.244,port=48081,reporter=InfluxDBReporter,database=profiler,username=profiler,password=profiler,prefix=sparkapp,tagMapping=spark --name etlite etlite_2.11-0.1.0.jar s3://mobility-artifacts/airflow/latest/config/etlite.conf
17/06/05 12:34:11 INFO Main$: Configuration file = 's3://mobility-artifacts/airflow/latest/config/etlite.conf'
17/06/05 12:34:14 INFO S3NativeFileSystem: Opening 's3://mobility-artifacts/airflow/latest/config/etlite.conf' for reading
17/06/05 12:34:15 INFO SparkContext: Running Spark version 2.1.0

... running Spark application ...

17/06/05 12:35:17 INFO SparkContext: Successfully stopped SparkContext
17/06/05 12:35:17 INFO ShutdownHookManager: Shutdown hook called
17/06/05 12:35:17 INFO ShutdownHookManager: Deleting directory /mnt/tmp/spark-fa12133c-b605-4a73-814a-2dfd4ed6fdde

... generating .svg file ...

[2017-06-05T12:35:25] Created flamegraph: /tmp/flamegraph.svg


Integrating this script into Airflow Spark operator is straightforward, especially if your Spark operator is derived from BashOperator. Just make sure the script is available on all Spark Airflow workers, then do the replacement of spark-submit command depending on whether profile=True is passed as the operator argument.

Post your weird flame graphs in comments! :)

by Michael (noreply@blogger.com) at September 28, 2017 04:26 AM

An Eclipse Vert.x Gradle Plugin

by jponge at September 28, 2017 12:00 AM

Eclipse Vert.x is a versatile toolkit, and as such it does not have any strong opinion on the tools that you should be using.

Gradle is a popular build tool in the JVM ecosystem, and it is quite easy to use for building Vert.x project as show in one of the vertx-examples samples where a so-called fat Jar is being produced.

The new Vert.x Gradle plugin offers an opinionated plugin for building Vert.x applications with Gradle.

It automatically applies the following plugins:

  • java (and sets the source compatibility to Java 8),
  • application + shadow to generate fat Jars with all dependencies bundled,
  • nebula-dependency-recommender-plugin so that you can omit versions from modules from the the Vert.x stack.

The plugin automatically adds io.vertx:vertx-core as a compile dependency, so you don’t need to do it.

The plugin provides a vertxRun task that can take advantage of the Vert.x auto-reloading capabilities, so you can just run it then have your code being automatically compiled and reloaded as you make changes.

Getting started

A minimal build.gradle looks like:

plugins {
  id 'io.vertx.vertx-plugin' version '0.0.4'
}

repositories {
  jcenter()
}

vertx {
  mainVerticle = 'sample.App'
}

Provided sample.App is a Vert.x verticle, then:

  1. gradle shadowJar builds an executable Jar with all dependencies: java -jar build/libs/simple-project-fat.jar, and
  2. gradle vertxRun starts the application and automatically recompiles (gradle classes) and reloads the code when any file under src/ is being added, modified or deleted.

Using with Kotlin (or Groovy, or…)

The plugin integrates well with plugins that add configurations and tasks triggered by the classes task.

Here is how to use the plugin with Kotlin (replace the version numbers with the latest ones…):

plugins {
  id 'io.vertx.vertx-plugin' version 'x.y.z'
  id 'org.jetbrains.kotlin.jvm' version 'a.b.c'
}

repositories {
  jcenter()
}

dependencies {
  compile 'io.vertx:vertx-lang-kotlin'
  compile 'org.jetbrains.kotlin:kotlin-stdlib-jre8'
}

vertx {
  mainVerticle = "sample.MainVerticle"
}

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
  kotlinOptions {
    jvmTarget = "1.8"
  }
}

Using with WebPack (or any other custom task)

WebPack is popular to bundle web assets, and there is even a guide for its integration with Gradle.

Mixing the Vert.x Gradle plugin with WebPack is very simple, especially in combination with the com.moowork.node plugin that integrates Node into Gradle.

Suppose we want to mix Vert.x code and JavaScript with Gradle and WebPack. We assume a package.json as:

{
  "name": "webpack-sample",
  "version": "0.0.1",
  "description": "A sample with Vert.x, Gradle and Webpack",
  "main": "src/main/webapp/index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "webpack": "^2.7.0"
  },
  "dependencies": {
    "axios": "^0.16.2"
  }
}

and webpack.config.js as:

module.exports = {
  entry: './src/main/webapp/index.js',
  output: {
    filename: './build/resources/main/webroot/bundle.js'
  }
}

The build.gradle file is the following:

plugins {
  id 'io.vertx.vertx-plugin' version '0.0.4'
  id 'com.moowork.node' version '1.2.0'
}

repositories {
  jcenter()
}

dependencies {
  compile "io.vertx:vertx-web"
}

vertx {
  mainVerticle = "sample.MainVerticle"
  watch = ["src/**/*", "build.gradle", "yarn.lock"]
  onRedeploy = ["classes", "webpack"]
}

task webpack(type: Exec) {
  inputs.file("$projectDir/yarn.lock")
  inputs.file("$projectDir/webpack.config.js")
  inputs.dir("$projectDir/src/main/webapp")
  outputs.dir("$buildDir/resources/main/webroot")
  commandLine "$projectDir/node_modules/.bin/webpack"
}

This custom build exposes a webpack task that invokes WebPack, with proper file tracking so that Gradle knows when the task is up-to-date or not.

The Node plugin adds many tasks, and integrates fine with npm or yarn, so fetching all NPM dependencies is done by calling ./gradlew yarn.

The vertxRun task now redeploys on modifications to files in src/ (and sub-folders), build.gradle and yarn.lock, calling both the classes and webpack tasks:

Summary

The Vert.x Gradle plugin provides lots of defaults to configure a Gradle project for Vert.x applications, producing fat Jars and offering a running task with automatic redeployment. The plugin also integrates well with other plugins and external tools for which a Gradle task is available.

The project is still in its early stages and we are looking forward to hearing from you!


by jponge at September 28, 2017 12:00 AM

The OSGi IoT Demo updated and extended for 2017

by Anonymous at September 27, 2017 11:19 AM

by Mike Francis

The OSGi IoT Demo for the OSGi Community Event and EclipseCon 2017 has been updated and extended to deliver another interesting and informative showcase of OSGi in action in IoT. Taking the foundations from the last three years of demos we will be using products from multiple vendors, open source projects and Raspberry PI computers to operate and control LEGO® trains running around a track. For 2017, we add a new and exciting dimension: a robot that will interact with the trains.


by Anonymous at September 27, 2017 11:19 AM

WTP 3.9.1 Released!

September 27, 2017 10:01 AM

The Web Tools Platform's 3.9.1 Release is now available! Installation and update can be performed using the Oxygen Update Site at http://download.eclipse.org/releases/oxygen/. Release 3.9.1 fixes issues that occur in prior releases or have been reported since 3.9's release. WTP 3.9.1 is featured in the Oxygen.1 Eclipse IDE for Java EE Developers, with selected portions also included in other packages. Adopters can download the build itself directly.

More news


September 27, 2017 10:01 AM

Eclipse IDE Now Supports Java 9

September 26, 2017 07:30 PM

Java 9 has been released into the world and support to make your Eclipse IDE ready to build, run, and debug Java 9 applications is available from the Eclipse Marketplace.

September 26, 2017 07:30 PM

Running Eclipse IDE on Java 9

by waynebeaton at September 25, 2017 07:11 PM

Out of the box, Java 9 makes only a subset of the modules available to applications. If your application makes use of APIs from other modules, you need to configure the JVM to make those modules available. The Eclipse IDE its itself a Java application that uses APIs from modules outside of that default group, so a little extra configuration is needed to make it run on Java 9.

In your Eclipse IDE installation directory, you’ll find the eclipse.ini file that your Eclipse IDE uses for configuration information. Add --add-modules=ALL-SYSTEM after the -vmargs argument (basically anything that follows the -vmargs argument is passed to the VM at start up (note that most VMs will barf if you pass in arguments that they don’t know or expect; adding this option when running on a Java 8 JVM will result only in disappointment and frustration).

...
-vm
/path/to/jdk/bin
...
-vmargs
--add-modules=ALL-SYSTEM
...

There’s more information in the Eclipse wiki.

Note that we’re pushing out some updates to make it so that the modification is not required. But that will only apply on future versions of Eclipse IDE (e.g. the Oxygen point releases, Photon, and later). For all older versions of Eclipse IDE, you’ll need to make this configuration change.

If you want to learn more about Java 9 support in the Eclipse IDE, including the Java development tools (JDT) and other great features like Eclipse Web Tools, Eclipse Code Recommenders and Eclipse Maven Integration, etc., consider attending EclipseCon Europe in Ludwigsburg, Germany from October 24 – 26, 2017.

There’s an entire Java and JDT track that includes the following:

There will also be BoFs, along with all sorts of opportunities to network and learn.

EclipseCon Europe 2017

If you want to learn more about the great features available in the Eclipse IDE, follow @EclipseJavaIDE on Twitter (follow me while you’re at it).



by waynebeaton at September 25, 2017 07:11 PM

“Things” Update — Fall

by Roxanne on IoT at September 25, 2017 03:13 PM

Hello again! It’s been a while. Summer is always a unique time in the office and even thought I had good intentions, I neglected to post here. But, I am writing today with exciting news. I promise the wait will have been worth it.

Keep reading to find out more about:

  • Open IoT Challenge 4.0
  • New Eclipse IoT Newsletter
  • Eclipse IoT Day @ ThingMonk Recordings
  • All Things IoT @ EclipseCon Europe

Open IoT Challenge 4.0

I am pleased to say that we launched the fourth Open IoT Challenge today! We are very excited about this one because last year’s was such a great success. I have a feeling that this year will be even more awesome.

Open IoT Challenge 4.0

What is the Open IoT Challenge?

It’s an annual challenge to encourage IoT enthusiasts and developers to build innovative IoT solutions using open standards and open source technology.

The Challenge finally gives you the chance to build the open IoT solution you’ve been dreaming of. We all have these personal plans and awesome ideas, but never seem to find the time to actually work on them. Initiatives like the Challenge give you the opportunity and a set timeframe to commit to.

Make sure you work hard on your proposal; the 10 best proposals will receive $150 to purchase hardware to make their idea come to life. Don’t be discouraged — even if you don’t make the Top 10, you can still win the Challenge. Everyone who submits a proposal is in the running!

New to the Challenge this year

To make it even more interesting, we encourage submitters to make a video or write a blog post explaining why their solution should be in the Top 10. This is optional, but thinking about your proposal thoroughly and writing it down will help you refine your vision.

What are you waiting for — get that proposal ready!

Details: http://iot.eclipse.org/open-iot-challenge/

Eclipse IoT Newsletter

We are working on the new Eclipse IoT Newsletter. The first issue will be published at the beginning of October and a new one will be published every quarter. This means that I will now be the editor for two newsletters, this new one and the Eclipse Newsletter!

We’ve featured Eclipse IoT articles in the Eclipse Newsletter in the past (March 2017 issue), but thought there was enough content for it to merit it’s own newsletter.

Subscribe here to get it delivered to your inbox.

Subscribe to the Eclipse IoT Newsletter

Eclipse IoT Day @ ThingMonk Videos

We were in London again this September for the Eclipse IoT Day @ ThingMonk. It was an awesome event and we hope you could be there to witness it live. If you weren’t there, you can watch the talk recordings here.

All Things IoT @ EclipseCon Europe

EclipseCon Europe (ECE) has been around for more than a decade. Since 2015, we’ve been organizing co-located Eclipse IoT Days with EclipseCon in Ludwigsburg. This year, there are so many great IoT events and activities happening at and around ECE, that we’ve decided to map it all out for you!

Visit the All Things IoT @ ECE page to get the most IoT out of your time at EclipseCon Europe, including:

  • Smart Home Day
  • Eclipse IoT Day
  • Eclipse IoT Working Group Meeting
  • and more!
All Things IoT @ ECE

I hope to see you Oct 22–26 at all these IoT events in Ludwigsburg! Message me on Twitter @roxannejoncas if you’re attending. :)


by Roxanne on IoT at September 25, 2017 03:13 PM

All Things IoT at EclipseCon Europe

by Ian Skerrett at September 25, 2017 02:39 PM

This year it is going to be All Things IoT at EclipseCon Europe. There will be a wealth of content that focuses on the IoT industry and technology.  It is going to be a great learning experience for anyone interested in IoT.

The main highlight is 3 days of single track IoT content:

  1. Smart Home Day is scheduled for Sunday, October 22.  This will be the go to event for anyone interested in home automation and specifically openHAB and Eclipse SmartHome. Thanks for Deutsche Telekom for sponsoring this event.
  2. The Eclipse IoT Working Group will be hosting a face-2-face meeting on Monday, October 23. Each year this meeting is a highlight of the Eclipse IoT community. It is an opportunity for the community members and new members to gain a deep understanding of the current Eclipse IoT projects.
  3. Eclipse IoT Day is once again scheduled for Tuesday, October 23.  There will be 7 sessions on how Eclipse IoT technology is being used in industry. There will be speakers from Red Hat, Bosch, Deutsche Telekom, Orange, Eurotech and others sharing their experience of using Eclipse IoT projects. Thanks to IncQueryLabs and Red Hat for sponsoring the Eclipse IoT Day.

In addition to these IoT specific events, there is also 15 IoT related sessions in the EclipseCon general program and the OSGi Community event. Companies like Huawei, German Aerospace Center, CEA, Renesas, Bosch and others will be presenting.

It is going to be All Things IoT at EclipseCon Europe. I hope you will join us and discover what the Eclipse community offers the IoT industry.

All things IoT Twitter

 



by Ian Skerrett at September 25, 2017 02:39 PM

Special Notice for Eclipse IDE Users on macOS 10.13 in non-English mode

September 25, 2017 01:30 PM

When Eclipse is launched on macOS 10.13 and user's primary language is not set to English, all the menu items in the main menubar are disabled. However, Context menus are not disabled

September 25, 2017 01:30 PM

Eclipse Day Milan 2017 : speaking about Eclipse Hono !

by ppatierno at September 24, 2017 09:53 AM

Last Friday, September 22nd, I was in Milan for the first Eclipse Day !

It was a really great event with a good number of attendees (there were about 100 people) following sessions from italian and international speakers.

I had my session speaking about Eclipse Hono, digging into its architecture, its API and what it provides today for building IoT solutions. Of course, having an open source platform for the Internet of Things gets a lot of interest from developers.

Being in Milan gave me the chance to meet some colleagues from the Red Hat office as well 🙂

You can find the slides about my session here.

 eclipseday_02 eclipseday_03

eclipseday_04

eclipseday_05 eclipseday_06

 



by ppatierno at September 24, 2017 09:53 AM

The whole nine yards, dressed to the nines and on cloud nine!

by Donald Raab at September 23, 2017 11:12 PM

Eclipse Collections 9.0 Released!

The beautiful California Coastline

It’s official! Eclipse Collections 9.0 is available in Maven Central and Eclipse p2 Repo. Here’s the release review from the Eclipse Foundation.

9.0.0 Release Review

I presented Eclipse Collections 7.0 at JavaOne 2015 with Hiroshi Ito in two sessions titled “Eclipse Collections by Example”. I’ll be back at JavaOne presenting again (sadly without Hiroshi this time), and we now have an official logo, Eclipse Collections Stickers and our first batch of Eclipse Collections t-shirts. We also have an updated pair of Eclipse Collections katas, both hosted online in GitHub. You can check them out here:

eclipse/eclipse-collections-kata

Here we are two years and two major releases later. Eclipse Collections 7.x versions are compatible all the way back to Java 5. Eclipse Collections 8.0 was the first release to be compiled with Java 8. Eclipse Collections 9.0 continues to be compatible with Java 8 and has had some changes that make it compatible going forward with Java 9.

Java 9 and Eclipse Collections 9, both released right before JavaOne 2017. So exciting!

Here are the official release notes for Eclipse Collections 9.0.

eclipse/eclipse-collections

The Eclipse Collections community continues to grow, and we are now up to 24 contributors in GitHub. This was the original purpose of moving Eclipse Collections to the Eclipse Foundation. We wanted to have a truly open source project where anyone could contribute, and through meritocracy eventually become future committers and project leads. This is really happening.

I created stickers for the current top ten contributors (by commits) in GitHub. I also created an over-sized Eclipse Collections bumper sticker and fixed them all to my work laptop.

We will be looking for more interested users and contributors at JavaOne. I am hosting two sessions in the Hackergarten where I will help developers begin the journey to become an Eclipse Collections contributor. The best place to start that journey is right here:

eclipse/eclipse-collections

I hope to see some of you at JavaOne. I also hope you will give Eclipse Collections 9.0 a look and maybe even try it out in your current or perhaps an upcoming project. It really is an amazingly comprehensive Java collections framework.


by Donald Raab at September 23, 2017 11:12 PM

Java 9 Support for Eclipse IDE, Oxygen Edition

by waynebeaton at September 22, 2017 01:12 PM

Java 9 has been released into the world and support to make your Eclipse IDE ready to build, run, and debug Java 9 applications is available from the Eclipse Marketplace. You can install this either from within the Marketplace Client in the Eclipse IDE itself (Help > Eclipse Marketplace) or by dragging and dropping from the website.

Or, just drag and drop this install button onto your running Eclipse.

Drag to your running Eclipse* workspace. *Requires Eclipse Marketplace Client

Installing the Java 9 support will also add the JUnit 5 support as well!

The Java 9 support includes:

  • the ability to add JRE and JDK 9 as installed JRE;
  • support for JavaSE-9 execution environment;
  • the ability to create Java and Plug-in projects that use a JRE or JDK 9; and
  • the ability to compile modules that are part of a Java project

Checkout https://wiki.eclipse.org/Java9/Examples for some working examples of Java 9.

We’ll be including both Java 9 and JUnit 5 support in our package downloads and the installer soon!



by waynebeaton at September 22, 2017 01:12 PM

Get the Early Price for EclipseCon Europe

September 21, 2017 01:30 PM

Register now and save €100! Prices go up after October 5.

September 21, 2017 01:30 PM

Eclipse Newsletter - Eclipse MicroProfile

September 20, 2017 03:30 PM

In the September issue of the Eclipse Newsletter, discover everything you need to know about Eclipse MicroProfile.

September 20, 2017 03:30 PM

JBoss Tools 4.5.1.AM2 for Eclipse Oxygen.1

by jeffmaury at September 20, 2017 07:02 AM

Happy to announce 4.5.1.AM2 (Developer Milestone 2) build for Eclipse Oxygen.1.

Downloads available at JBoss Tools 4.5.1 AM2.

What is New?

Full info is at this page. Some highlights are below.

OpenShift 3

New command to tune resource limits

A new command has been added to tune resource limits (CPU, memory) on an OpenShift deployment. It’s available for a Service, a DeploymentConfig, a ReplicationController or a Pod.

To activate it, go the the OpenShift explorer, select the OpenShift resource, right click and select Edit resource limits. The following dialog will show up:

edit resource limits

After you changed the resource limits for this deployment, it will be updated and new pods will be spawned (not for ReplicationController)

edit resource limits1

Discover Docker registry URL for OpenShift connections

When an OpenShift connection is created, the Docker registry URL is empty. When the CDK is started through the CDK server adapter, an OpenShift connection is created or updated if a matching OpenShift connection is found. But what if you have several OpenShift connections, the remaining ones will be left with the empty URL.

You can find the matching Docker registry URL when editing the OpenShift connection through the Discover button:

edit connection discover

Click on the Discover button and the Docker registry URL will be filled if a matching started CDK server adapter is found:

edit connection discover1

CDI Tools

CDI 2.0

CDI Tools now support CDI 2.0 projects. If your CDI project (with enabled CDI support) has CDI 2.0 jars in its classpath, CDI Tools will recognize it as CDI 2.0 project automatically. There is no need to use any special settings to distinguish CDI 1.0 or CDI 1.1 from CDI 2.0 in CDI Tools.

The new javax.enterprise.event.ObservesAsync is now being validated according to the CDI specifications.

Fuse Tooling

Apache Karaf 4.x Server Adapter

We are happy to announce the addition of new Apache Karaf server adapters. You can now download and install Apache Karaf 4.0 and 4.1 from within your development environment.

Apache Karaf 4x Server Adapters

Switch Apache Camel Version

You can now change the Apache Camel version used in your project. To do that you invoke the context menu of the project in the project explorer and navigate into the Configure menu. There you will find the menu entry called Change Camel Version which will guide you through this process.

Switch Camel Version

Improved Validation

The validation in the editor has been improved to find containers which lack mandatory child elements. (for instance a Choice without a child element)

Improved validation

Enjoy!

Jeff Maury


by jeffmaury at September 20, 2017 07:02 AM

Top 6 Public Cloud Providers in CNCF

by Chris Aniszczyk at September 19, 2017 10:07 PM

Last week, I had the pleasure of welcoming Oracle into the Cloud Native Computing Foundation (CNCF). This now marks the top 6 leading public cloud providers in the world are now part of the CNCF:

This also marks for the first time in the history of our industry that these leading cloud providers are working together in the same open source focused foundation to move the state of the art infrastructure forward.

Also last week I had the opportunity to bring in two new high quality cloud native projects into CNCFEnvoy is a high-performance open source edge and service proxy that makes the network transparent to applications. Jaeger is an open source distributed tracing system inspired by Google Dapper paper and OpenZipkin community. It can be used for tracing microservice-based architectures. Uber began deploying Jaeger internally in 2015. It is now integrated into thousands of microservices and recording thousands of traces every second.

 

Anyways, this is one of the reasons I enjoy working in open source today, bringing together diverse (and even competing) companies to build a better world by collaborating in the open!


by Chris Aniszczyk at September 19, 2017 10:07 PM

The Future of Developer Tools for IoT, ThingMonk 2017

by Tracy M at September 19, 2017 04:07 PM

ThingMonk is an annual London conference that brings together the people building and shaping the Internet of Things. This year I spoke at the conference on ‘The Future of Developer Tools for IoT’. This talk looks at emerging and future trends in the developer tools space. Check out the slides and feedback from the audience, as well as reference links at the end. Plus thanks to Marcel Bruch & Codetrails for input on AI tools. Be sure to share your thoughts on how you see developer tools shaping up to scale for building the Internet of Things.

Reference Links



by Tracy M at September 19, 2017 04:07 PM

Zero to CTO

September 19, 2017 12:00 PM

Hercules

Disclaimer: First, you should know that I am a girl born in the 80’s and so I grew up watching (and watching and re-watching…) Disney’s movies, and I am still used to watch them when new ones are released. So I am sorry for you: no doubt, at the end of this article you will have many annoying songs running in your head. But all those girls made what I am today and it is only justice to them to ear once more time what they have to say ;)

Ariel

Seven years ago I joined the Obeo company. At that time, it was a small frenchies’ company making open source modeling tools. I was a free software activist but at that point even though I was using lots of free software, I never had the bravery to contribute by my own on my free time. When I was thinking about Obeo, I just wanted to be part of that world.

Elsa

At some point as my technical skills could fit their needs, I decided to let it go and send them my resume.

Jasmine

And know what? They recruited me! It was both amazing and scary. It was like a dazzling place, a whole new world to discover.

Moana

Year after year, I got the chance to work and learn from the talented Obeo’s experts about Eclipse & modeling stuff. They shared their high technical skills & knowledge with me and I loved this atmosphere of constant research of improvements and innovations. I learned so much! Working at Obeo opened me the doors of the open source community through the Eclipse community. I had the opportunity to participate to many conferences, giving talks and sharing my knowledge in turn. I could not say how far I would go but I was on the open source community road…

Rapunzel

I’ve got a dream… Be part of the open source world! Day after day it became true. First, two years ago I became committer on the Eclipse Sirius & EEF projects, and this year, since one month, I am the Eclipse Planning Council chair. I am really proud of working on free software and particularly on the Sirius technology. I feel even happier when this framework is used to create other impressive open source tools such as Capella, a graphical modeler for Model Based System Engineering.

Mulan

A few months ago, Obeo’s management announced me that we will open a new subsidiary in Vancouver, Canada! This was an awesome news. Our current CEO Stéphane Lacrampe would move overseas to manage the new entity. This will allow us to be physically present on the new continent, making our international expansion easier and faster. Cédric Brun our CTO will replace Stéphane as CEO. And they offered me to become the new Obeo’s CTO. I am at the same time proud and really excited by the many challenges this new position brings! I will do my best!

Marry Poppins

So being Obeo’s CTO is my new game from now. This means for me lots of fun ahead, this is my new spoonful of sugar!

“In every job that must be done
There is an element of fun
You find the fun and snap!
The job’s a game
And every task you undertake
Becomes a piece of cake“
Mary Poppins

Thanks open source community, Eclipse Foundation and Obeo for giving me this opportunity!

Go west

Have a look also at Cédric’s blog post and Obeo’s summary.


September 19, 2017 12:00 PM