Scientific software lacks much of the prim and polish of other types of software - it can be hard to use or find, it might only be distributed as C and Fortran source, and it probably doesn't run on Windows. In addition to being extremely annoying, the reality of this situation severly undermines productivity and scientific progress. What would things be like if installing linear algebra libraries was as simple as installing mobile apps?
Based in the language server protocol and the architectural ideas behind it, big chunks of the Spring Boot tooling for Eclipse are currently re-implemented. This talk provides a sneak peek into the implementation and discusses the early experiences using this approach. We dive into the details and challenges how we implemented tooling for Spring Boot property files (pure properties + yaml), support for Cloud Foundry manifest files, and how we extracted and refactored existing Spring IDE code to run inside of a language server.
AceJump, a popular plugin for IntelliJ IDEA, is coming soon to Eclipse! We'll discuss some technical hurdles encountered when migrating this plugin, and how I resolved them using Kotlin, Gradle, and the Eclipse RCP to help you jump to any character in the editor with just a few keystrokes.
Software developers spend much of their time exploring the source code of their software systems, seeking to understand how it works and to assess the implications of making a change. But many developers report occasionally becoming disoriented during this exploration, where they become "lost" and are unable to recall what they were doing and why they were looking at some program element. Becoming disoriented is frustrating, and recovering from disorientation is difficult.
Eclipse Che is a cloud-based IDE including online workspace management. As all Eclipse projects, it is open source as well as extensible with custom plugins. Some of Ches’ language tooling already reuses existing Eclipse frameworks, such as JDT for the Java support or Orion for the code editor.
Therefore, we wondered, can we enable the EMF tooling to run online in the cloud?
Our goal was to create an Ecore editor for the Che IDE, to enable code generation and potentially even facilitate other EMF features, such as a generic editor.
Eclipse JDT LS (Language Server) project aims to develop a Java Language Server that will make JDT features available to any client that supports the Language Server Protocol. This talk covers the changes, challenges and lessons learned while building the JDT LS. It will also provide insights to using and developing language servers and some tips to converting existing features. There will also be demos of JDT LS features on different editors and their comparision with the Eclipse JDT to give a better understanding of the possibilities and problems of language servers.
In this talk you will get a quick introduction on how to use Docker effectively, especially for development from within Eclipse.
We will show how the release of Eclipse Neon supports Docker to make it even more integrated into your day-to-day work from within your IDE. In particular, you'll see how you can pull and run an image for a database, build a custom image for an application server, run it then deploy and even debug an application using data volumes, exposed ports and container links.
I will describe the Control Station for a free-flying robot called Astrobee. Astrobee will serve as a mobile camera, sensor platform, and research testbed when it is launched to the International Space Station (ISS) in 2017. Astronauts on the ISS as well as ground-based users will control Astrobee using the Eclipse-based Astrobee Control Station. Designing the Control Station for use in space presented unique challenges, such as allowing the intuitive input of 3D information without a mouse or trackpad. Come to this talk to learn how Eclipse is used in an environment few humans have the
The standard of using X11 (X.Org) in the vast majority of Linux Distros has been favorable...until now. Learn about the history of X11 and why Wayland is a necessary change every distro needs to make in the near future, and what Eclipse Developers are doing about it. Although there are resources trying to explain Wayland's reasonings and uses, there isn't a clear answer to the justification of change. We will go in-depth to why X11 is obsolete in modern day applications and why Wayland is a strong candidate to aid future Linux/Unix applications.
Writing good tests is as important as writing good code for mastering high-quality software development. The JUnit framework is one of the most valuable skills a developer can learn to achieve that. JUnit 4.0 was first released over a decade ago after the introduction of annotations in Java 5. The world of Java and testing has evolved a lot since then. To take advantage of the new features like lambda expressions in Java 8 and to support the advanced testing needs, JUnit 5 is emerging as the next generation test framework.
With Neon.1, we ship the 11th release of EMF Forms, a framework to efficiently build form-based UIs for showing and modifying data. Since version 1.0.0, we have completed over 1000 feature requests and bug reports, 33 contributors have submitted 10k commits and developed over 600k lines of code. EMF Forms continues to be one of the most active projects at Eclipse.
In this talk we will discuss the new API paradigm in Eclipse Dirigible and will show examples for:
In this talk, we'll take a whirlwind tour of the ways that Gradle and Eclipse can interact:
- Some of the pros and cons of Gradle compared to Maven
- How to generate your project IDE as a build artifact (similar to Oomph)
- How to consume p2 repositories
- How to autogenerate OSGi metadata
- How to run PDE build
You'll leave with working code examples for a variety of usecases, and all the tools you'll need to use Gradle in your own projects.
Developers are facing big changes in the way they are working since the raise of Docker. It’s terribly trendy and popular. Containers are heavily used to build, ship and run softwares.But what are the biggest impacts and values for the Developers?
Developers can benefit from portable developer environments leveraging the Docker containers technologies. It’s the main purpose of Eclipse Che. During this session we will discuss the various changes containers have provided to the developers, why dockerizing your projects and what are the best tactics to achieve that with Eclipse Che?
The Xtext framework has always been a very useful and successful part of the Eclipse world, because it makes it very easy to design programming languages and corresponding Eclipse tooling. Since the last two years the team was also working on adding support for other popular editing platforms, such as IntelliJ IDEA and web browsers in general.
The Language Server Protocol (LSP) introduced by Microsoft’s VSCode team has been a hot topic recently. In a nutshell it is an effort to unify how editors communicate with advanced language tooling.
In this session we want to give you an overview of what the LSP is, why it is so important and how you could leverage it. We will also explain what it does and what it doesn’t do, discuss some misconceptions and show some cool demos based on a Java implementation of the protocol.
Managing 3rd party dependencies for Eclipse based products and plug-ins can be time-consuming and error prone. Not every library you'd like to use is distributed as an OSGi bundle. Some may contain OSGi headers but they may be wrong or incomplete. Join this tutorial to learn how to setup a process that will make it easy and less painful.
Oticon is in the business of development of Hearing Aids – both your ordinary behind-your-ear sorts and the specialized cochlear implants and bone anchored sorts. The development of these advanced devices requires that many - very diverse - development teams are able to exchange build artifacts in a seamless and controlled manner as well as debug the many aspects of the devices.
Many business applications contain a considerable percentage of form-based UIs for data entry and editing. Developing and maintaining these form-based UIs manually is a tedious and error-prone process. The EMF ecosystem provides great support for developing data-centric UIs for the desktop.
We run data acquisition at the UK's biggest science project using Java. This year we completed a migration of around three million lines of code in our Java servers to OSGi running with Equinox and declarative services. This is the story of how we did it, the pitfalls and real world examples of what happened.
With the Java 9 release, the Java Platform Module System (JPMS) is coming. The JPMS will finally modularize the class libraries provided by the JVM. In addition, the JPMS can be used by developers to modularize applications. This allows developers to split their applications into modules. These modules can then specify what other modules they require and what packages they export for use by other modules.
Google uses Test-Driven Development extensively, but when Google’s newly formed Cloud Tools for Eclipse team set out to write a new Eclipse plug-in to support the Google Cloud Platform, we ran into a numerous areas where the RCP framework was not very testable. This talk explores multiple hacks we used to test things that were never designed to be tested:
The Eclipse Graphical Editing Framework (GEF) project team has officially released its next generation, JavaFX-based code base (aka. GEF4) as part of its 4.0.0 (Neon) release, and has since been evolving it towards the upcoming 5.0.0 (Oxygen) release.
This tutorial will give you a jumpstart on the concepts of the Eclipse 4 Application Platform. If you have previous experience developing with RCP 3.x but limited or no experience with e4, this tutorial is designed for you. Using a sample application, we introduce the most important features of the Eclipse 4 platform, such as the Application Model, Dependency Injection and the Programming Model based on Annotations. We complete the introduction with an overview of the most important services available. All topics include hands-on examples that we’ll work through together.
Nearly every Eclipse user is aware what Xtext is and what it is useful for. It is always a pleasure to see in which kind of areas it is used.
One reason is clearly, that it is really easy to build a first working example in no time. The grammar alone is sufficient and the rest is done by a code generator. Xtext will generate stub classes, that are ready to fill in individual logic for different areas.
By doing that most of the things just work, because Xtext comes with a lot of defaults that suits in most of the cases.