What's New in 4.3.0.Final
General
Java 8 requirement
Java 8 is now a minimum requirement to run JBoss Tools. JBoss Tools continues to support running servers and applications with older Java versions.
If JBoss Tools is run on an older Java version, a warning dialog appears:
Related JIRA: JBIDE-19500
Easier import of projects
JBoss Tools now integrate new UI entry-points to simplify import of existing projects. This alternative mechanism scans a given folder of the filesystem to detect different kinds of existing projects (Eclipse projects, Maven projects, Cordova projects, Java EE projects, JavaScript projects…) to import and configure them at best inside the IDE. The difference with existing import strategies is that user isn’t required to know how to import a given project, and can now focus on what to import and rely on the IDE to take care of how to do it.
The entry-points for this import are:
-
File > Import Projects from Folder…
-
File > Import… > General > Projects from Folder
-
File > Import… > Git > Projects from Git (auto-import)
Related JIRA: JBDS-3285
Arquillian
Better support for the ShrinkWrap API in Generate Deployment
Dependent classes for the same package are added with addClasses(…) instead of using addClass on each individual package.
Related JIRA: JBIDE-18270
'Export Archive' to Arquillian Cruiser view
An archive can be exported by right-clicking an archive entry in the Arquillia Cruiser view and selecting the Export Archive action.
Related JIRA: JBIDE-16385
ShrinkWrap Archive file location validation
Arquillian warns that known EE descriptor files are not in the correct location.
Related JIRA: JBIDE-14782
Maven configurator for arquillian
Arquillian now includes a Maven configurator that configures Arquillian capabilities if a project includes Arquillian classes. The configurator is disabled by default.
Related JIRA: JBIDE-14427
Arquillian JUnit Test Case wizard: Add dependent classes
The Arquillian JUnit Test Case wizard has an option to add dependent classes for a class under test.
Related JIRA: JBIDE-20221
Arquillian Cruiser: Arquillian Working Set Filter
The Arquillian Working Set Filter filter shows all projects that are placed in the same working set as the selected project.
Related JIRA: JBIDE-20220
Arquillian Cruiser: Expand action
Related JIRA: JBIDE-20218
Aerogear
Import FeedHenry Applications
A new wizard allows you to import Cordova Applications from FeedHenry to take advantage of the Cordova features and the CordovaSim on JBoss Tools.
Windows Phone Support
Hybrid Mobile(Cordova) projects now support Windows Phone. The new Windows Phone allows cordova projects to run on Windows Phone emulator directly from JBoss Tools. It also provides export support for Windows Phone applications and native projects.
Independent Cordova platforms
You can now select the Cordova version per platform. This allows you to mix and match different Cordova version to best accommodate the requirements of your application.
FeedHenry Application import dialog refreshed
Uses improved iconography and better connection handling.
Cordova platform downloads is using npm.
Cordova engine downloads have switched to use npm to improve the reliability of the downloads. Download dialog is also refreshed to adjust to this change.
Create FeedHenry Cordova Application
A new wizard allows you to convert a hybrid mobile project to a FeedHenry application. The wizard creates a client application on the FeedHenry cloud and configures the git repository for the project.
Related JIRA: JBDS-3268
Batch Tools
Batch Job XML Editor
A new JavaEE 7 Batch job XML editor is available in JBoss Tools 4.3. The editor has three tabs:
-
Tree form editor
-
Visual (diagram) editor
-
XML source editor
Related JIRA: JBIDE-18859
Visual (diagram) editor features
-
Visualization of structure of batch job, i.e.:
-
step, flow, split, decision
-
connection using next attribute and next elements
-
end, stop and fail outcomes
-
support for browsing nested flows
-
-
Other properties editable via context actions and linked property views
-
Setting a flow element as a start (i.e. reordering)
-
Content proposal for batch artifacts
See a demo video:
Related JIRA: JBIDE-19717
Content Assist
Job XML Editor provides content assist for <* ref="">, <* next="">, <* to="">, <* restart=""> and for batch properties:
Related JIRA: JBIDE-19268
Content assist also works for any class attribute (used to reference exception classes). Just type the first letter of the class or name and the content assist will show all available proposals.
Related JIRA: JBIDE-19386
Hyperlink navigation (OpenOns)
Batch artifacts can be navigated to via OpenOn. Just press Ctrl and click on <* ref="">, <* next="">, <* to="">, <* restart=""> or property name to open the corresponding source code or Job XML element.
Related JIRA: JBIDE-19267
To navigate from the Properties editor to the corresponding batch artifact, click the icon at the property name and select 'Open <artifact>'.
If no artifacts are included, click the 'Create <artifact>' link. This starts the 'New Batch Artifact' wizard.
Related JIRA: JBIDE-20005
It is also possible to navigate (Ctrl+Click) from injection points annotated @BatchProperty to the corresponding property references:
Related JIRA: JBIDE-19700
Validation
Batch artifact and property references are validated in Job XML files:
Related JIRA: JBIDE-19158
There are Quick Fixes available for the following validation problems:
-
"Batchlet "<batchlet-name>" is not found"
-
"Checkpoint algorithm "<checkpointalgorithm-name>" is not found"
-
"Decider "<decider-name>" is not found"
-
"Item Processor "<itemprocessor-name>" is not found"
-
"Item Reader "<itemreader-name>" is not found"
-
"Item Writer "<itemwriter-name>" is not found"
-
"Job listener "<joblistener-name>" is not found"
-
"Partition Analyzer "<partitionanalyzer-name>" is not found"
-
"Partition Collector "<partitioncollector-name>" is not found"
-
"Partition Mapper "<partitionmapper-name>" is not found"
-
"Partition Reducer "<partitionreducer-name>" is not found"
-
"Step listener "<steplistener-name>" is not found"
The Quick Fixes open a pre-set New Batch Artifact wizard to create the missing artifact:
Related JIRA: JBIDE-19266
Searching and Renaming Batch Artifacts
Search for references (Ctrl+Shift+G) works for batch artifact classes and its property fields. For example if you have a batchlet class:
@Named public class SearchableBatchlet implements Batchlet { @Inject @BatchProperty(name="secondName") String otherName; ... }
then results for SearchableBatchlet references will include the corresponding Job XML file:
When you rename some class name or property field then the corresponding Job XML references will be renamed too:
Related JIRA: JBIDE-19507
New Batch Job XML Wizard
New Batch Job XML wizard is available in New→Others→Batch menu and creates a new Batch Job XML file:
Related JIRA: JBIDE-19516
New Batch Artifact wizard
This wizard allows to create batch artifacts, such as:
-
Batchlet
-
Checkpoint Algorithm
-
Decider
-
Item Reader
-
Item Writer
-
Item Processor
-
Partition Analyzer
-
Partition Reducer
-
Partition Collector
-
Partition Mapper
-
Partition Plan
-
Chunk Listener
-
Item Process Listener
-
Item Reader Listener
-
Item Writer Listener
-
Job Listener
-
Step Listener
-
Retry Process Listener
-
Retry Read Listener
-
Retry Write Listener
-
Skip Process Listener
-
Skip Listener
-
Skip Write Listener.
Related JIRA: JBIDE-18950
Performance improvements
We have fixed a critical performance issue with JBoss Knowledge Base builder for project with large JAR libraries that contain Batch artifacts. For example, if your Maven project has a dependency on glassfish-embedded-all.jar then it could take more than 5 minutes to build the project just because of this dependency. Now, it takes seconds.
Related JIRA: JBIDE-20593
BrowserSim
Individual platform releases support for CordovaSim
Apache Cordova Project is now doing individual releases per platform (Android / Windows Phone / IOS). This functionality is now available for CordovaSim. One can specify cordova engine via Properties → Hybrid Mobile Engine:
Related JIRAs: JBIDE-19426, JBIDE-19471
BrowserSim is now available in the "Quick Access"
The "Run BrowserSim" command is now available in the "Quick Access" for every single perspective:
Related JIRA: JBIDE-12108
Improved Cheat Sheets for BrowserSim
Now an optional url
parameter can be added to the BrowserSim command when writing Cheet Sheets. The usage is the following:
<command
required="false"
serialization="org.jboss.tools.vpe.browsersim.eclipse.commands.runBrowserSim(url=http://example.com/)"/>
Related JIRA: JBIDE-15884
iPhone 6 / 6 plus skin
Brand new iPhone 6 and iPhone 6 Plus skins are now available in BrowserSim and CordovaSim:
Related JIRAs: JBIDE-18874, JBIDE-18875
JavaFx web engine support for BrowserSim standalone
For whose who do not use Eclipse / JBoss Developer Studio, there is a standalone mode of BrowserSim. However, only SWT WebKit
web engine used to be supported. Now there is a possibility to run BrowserSim standalone against JavaFx
web engine which provides features like Dev Tools Debugger and JavaScript logging in the console.
Related JIRA: JBIDE-18703
Basic FeedHenry support for CordovaSim
CordovaSim has gained basic FeedHenry support. Now it is possible to run FeedHenry hybrid apps against both local
and remote
Node.js server:
Related JIRA: JBIDE-18900
Saving all CordovaSim preferences on close
From now on all specific preferences (UI themes, tabs order, settings, etc.) are saved on CordovaSim close.
Related JIRA: JBIDE-18732
Security note for "Remote" proxy in CordovaSim
Now there is a security warning for "Remote" proxy. Basically, If the app is transferring sensitive data (authentication tokens, credentials etc.), it is strongly recommended to use "Local" proxy instead of the "Remote" one.
Related JIRA: JBIDE-19094
CDI Tools
CDI 1.2
CDI Tools now support CDI 1.2 projects. If your CDI project (with enabled CDI support) has CDI 1.2 JARs in its classpath, CDI Tools recognizes it as CDI 1.2 project automatically. There is no need to use any special settings to distinguish CDI 1.2 from CDI 1.1 or 1.0.
Related JIRA: JBIDE-17923
Multiple Versions in New beans.xml Wizard
The new beans.xml wizard allows to choose the CDI version: 1.0, 1.1 or 1.2
Related JIRA: JBIDE-18584
CDI Auto Enablement for JavaEE 7 Projects
CDI Tools now automatically enables CDI support for the project when the following Java EE 7 facets are installed: Web (Servlet) 3.1 or higher, EJB 3.2 or higher or Utility module. For example, if you create a brand new Web Dynamic project with Web (Servlet) version 3.1 and any Java EE 7 targeting server, CDI support is automatically enabled. Additionally, JBoss Tools still enables CDI support for the maven projects if the project has CDI dependencies. However, this feature is only avaialble when the Maven CDI integration plugin is installed.
Related JIRA: JBIDE-18592
Proper Validation Problem Messages Dependent on CDI Version
Each CDI validation problem message refers to the corresponding CDI specification paragraph. Message and specification referrals now depend on the CDI version used in the project. For example:
-
"There is no class "org.domain.ClassName" [JSR-299 §8.2]" - CDI 1.0 validation message for non-existing class in beans.xml
-
"There is no class "org.domain.ClassName" [JSR-346 §8.2]" - CDI 1.1 validation message
Related JIRA: JBIDE-18750
Docker Tools
Tooling for Docker is available in Eclipse Mars under the Linux tools umbrella. Despite this name, this works on all major developer platforms. It is mirrored on JBoss Tools update site and is also included in Developer Studio 9.0.0.Final.
Connection Wizard
The connection wizard support both Unix sockets and REST API to connect to a Docker engine. The wizard requires a unique name to identify the connection and checks the required permissions on the Unix socket and on the path to the certificates for TCP connections.
Explorer View
The new "Docker Explorer" view displays containers and images in a tree view, with
filters to hide dangling and intermediate images and stopped containers. The container
icons have decorators to indicate their state (running
, paused
or stopped
).
Containers View
The new "Containers" view displays the same information that appears when using the
docker ps
or docker ps -a
commands in a terminal.
Images View
The new "Images" view displays the same information that appears when using the docker images
command in a terminal.
"Run Image" wizard
The new "Run Image" wizard lets users run an image by passing the most relevant arguments in the context of a developer machine:
-
the name of the container (although this is optional)
-
the exposed ports (the table is prepopulated with port numbers retrieved from the selected Image information)
-
the links to containers
-
the data volume
-
the environment variables
Dialog to Search and Pull Images
The Pull Image
wizard can be launched from the Docker Images
view
or from the Docker Explorer
view:
The wizard detects the tag in the image name and if none is specified, the image tagged latest
is pulled.
If the user needs to search a specific image name, she can click on the Search…
button
which will open the Search
wizard:
This is followed by a second page that displays all the tags for the selected image:
Even though this wizard can only search from Docker Hub, users can still pull images
from other third-party registries. When doing this, the image name must contain a prefix with the
registry host and port, for example 192.168.59.103:5000/centos:7
.
Launcher to Build a Docker Image
The Docker Tools also includes a launcher to build images from a Dockerfile.
The source path
is a directory in the workspace or on the file system and the
Docker Connection
combo box specifies on which Docker daemon the image will
be built.
Forge Tools
Freemarker
Freemarker 2.3.22
Freemarker library included in Fremarker IDE was updated to latest available version 2.3.22.
Related JIRA: JBIDE-18815
Include Directive Hyperlink
The Freemarker editor now displays hyperlinks for #include directives that reference a file in the same directory. #include directives with relative/absolute paths and acquisitions are not supported.
Related JIRA: JBIDE-19966
Hibernate Tools
Hibernate Runtime Version Updates
The following new core Hibernate Tools releases have been published:
-
3.5.1.Final: This version was build using the 3.5.6.Final version of Hibernate ORM.
-
3.6.0.Final: This version was build using the 3.6.10.Final version of Hibernate ORM.
-
4.0.0.Final: This version was build using the 4.0.1.Final version of Hibernate ORM.
-
4.3.1.Final: This version was build using the 4.3.10.Final version of Hibernate ORM.
These four new releases with their specific Hibernate ORM dependencies have been included in the corresponding Hibernate runtime provider plugins in the 4.3.0.CR1 release of JBoss Tools.
Hibernate Configuration File Wizard
The wizard to create new Hibernate configuration files (*.cfg.xml) now supports multiple Hibernate versions.
A new dropdown box now allows for the selection of the desired Hibernate version.
Related JIRA: JBIDE-20412
JavaScript Tools
JavaScript Editing improvements
JBoss Tools and JBoss Developer Studio’s Target Platforms have been updated with the latest Tern.java and AngularJS-Eclipse features to bring the latest improvements and fixes of JavaScript Content Assistant into JBoss Tools.
-
Tern.java v.1.0.0.201508302102
-
AngularJS-Eclipse v.1.0.0.201508312121
Check out their New and Noteworthy pages:
Note: These features are available via JBoss Central - Early Access, as a part of AngularJS for Web Tools
Related JIRA: JBIDE-20545
JavaScript Development Tools improvements
JSDT now includes an option to turn off internal parsing and validation, which is useful for users working with big projects where JavaScript is not the main part of development by reducing the memory/performance requirements. This option is also useful when JSDT is used with third-party tools which provide Content Assisting and Validation for JavaScript.
For such projects the "External Builder/Validator" mode can be selected for ECMAScript compliance level preference on the Window→Preferences→JavaScript→Validator preference
page:
Bower support
We are pleased to introduce the brand new Bower Tools. Bower is a front-end package manager that fetches and installs frameworks, libraries, and assets. Bower keeps track of these packages in a manifest file named bower.json
.
Prerequisites
JBoss Bower Tools fall back on native Node.js and Bower calls. As a result, the following software must be installed before using Bower Tools:
-
Node.js
-
npm
-
Bower
Installation instructions for Node.js and npm are available here: here. Bower is a command line utility installed via the npm command npm install -g bower
|
User Manual
With the current implementation, only the init and update commands from the Bower API are supported. Initialize Bower by selecting File → New… → Other… and choosing Bower Init wizard:
This wizard creates the bower.json
file depending on a set of preferences:
Click "Finish" to create a bower.json
file in the specified directory:
Add new dependencies by specifying them in bower.json
:
Update dependencies by right-clicking bower.json
→ Run As… → Bower Update.
In most cases Bower and Node.js will be automatically detected. However, if the detection fails, a warning dialog box appears: |
The "Bower Update" launch shortcut makes a native call which installs the required packages or updates according to bower.json
:
The specified packages are created in the bower_components
folder after "Bower Update" execution:
In conclusion, users can now use these packages for future front-end development.
Related JIRA: JBIDE-19795
JBoss Central
New and improved JBoss Central page
This release includes a slick, new and improved JBoss Central. This is a HTML-based page designed to provide instant access to a large variety of JBoss Developer materials. From top to bottom, you have access to :
-
the latest news/blog posts about JBoss technologies, cycling in a carousel
-
a search engine for project examples, similar to the one in http://www.jboss.org/developer-materials/
-
links to:
-
the software updates page, where you can install new Eclipse features that have been tested to work with JBoss Tools
-
the http://www.jboss.org/developer-materials/ website
-
the Community Acceptance testing page, where you can help us make JBoss Tools better
-
-
Finally, the lowest section displays common wizards and the list of recently used examples, helping you to start new projects quickly and easily
The new and improved search feature provides instant access to approximately 200 quickstarts, filtered with zero latency as you type:
Click on a given tag to perform a search using that tag’s label.
We are really proud of how the new JBoss Central page gracefully adapts to lower resolutions, thanks to the Bootstrap framework under the hood. We really hope you’ll appreciate it as well. Please don’t hesitate to provide your feedback.
Related JIRA: JBDS-3272
Not installable "promotional" entries on Software/Update page
Some entries in the Software/Update page will now be shown only for the purpose of information. These cannot be installed immediately into JBoss Tools, but may instead represent software that is still being prepared and will be available soon.
Related JIRA: JBIDE-20100
JBoss Developer Search available directly from Eclipse Help
We have added http://dcp.jboss.org/ as a search Engine for Eclipse Help search.
Any term you search in the Help > Search
window will now be searched through references in all
indexed JBoss articles and blogs :
Related JIRA: JBIDE-19272
Smart(er) project import
We’ve contributed a new import framework to Eclipse Mars, a.k.a. Smart Import. The purpose of that framework is to automatically detect what is a project and automatically configure it, upon import, with very minimal effort from the user.
For instance, if you open a folder containing a pom.xml file, it will be automatically inferred you’re trying to import a Maven project, so the underlying m2e import mechanism will be invoked.
This new feature is currently still in incubation at Eclipse.org, but we’re including it as a preview, as part of the JBoss Central Experience.
You can go to Import > General > Local folder as Project(s) into Workspace
Curently, the following types of projects are supported, and can be configured automatically on folder import :
-
Maven
-
Cordova
-
Java EE
-
Eclipse Plug-ins
-
Javascript
Eventually, eGit will be able to leverage this mechanism to automatically import projects after cloning a git repository.
Related JIRA: JBDS-3285
JST / JSF / HTML Editor
Palette
New HTML 5 Widgets
New HTML 5.0 widgets were added to the Palette:
-
Canvas
-
Datalist
-
Table
-
Text Input
-
Button
-
Menuitem
-
Menu
-
Meter
-
List
Related JIRA: JBIDE-17058
Last Used/Most Popular Widgets
A new group of the last used/most popular HTML widgets is now available in Palette view:
Related JIRA: JBIDE-18669
Filter for Libraries Defined on Page
There is a new filter to show only palette groups for which libraries are defined on the page
Related JIRA: JBIDE-18188
Content Assist and Navigation for Datalist
Content Assist for <input list="|"> now refers to the available <datalist> elements. Ctrl+Click on the list ID will navigate to the corresponding <datalist id="…">
Related JIRAs: JBIDE-18960, JBIDE-18962
Content assist for Angular expressions
We are happy to introduce our new dynamic content assist for Angular expressions {{expression}} which is based on information collected from AngularJS runtime model via AngularJS API. When the content assist for any {{expression}} is being invoked within any HTML file with some attached controller and there is no any critical errors in the file and required JS files then we run an internal web browser behind the scenes to retrieve all available JS objects.
Note: These features are available via JBoss Central as a part of AngularJS for Web Tools
Related JIRA: JBIDE-15714
Custom HTML Tag Validation
HTML validation in Eclipse Web Tools had an annoying issue with custom HTML5 tags. It warns about any HTML tag name that is not mentioned in the HTML specification. We contributed a patch to Eclipse Mars which allows to disable those warnings for any particular tag name (or a tag name mask, e.g. <ion-*>).
Related JIRA: JBIDE-18387
LiveReload
General
Quick Access to Launch LiveReload
Users can now launch LiveReload from the 'Quick Access' menu, or using the Ctrl+3 (or Cmd+3) keyboard shortcut.
This displays the dialog to create and start a LiveReload server and then it opens the current element (a selected file in the Project Explorer, a selected module in the Servers view or the content of the active editor) in the browser, without using the 'Open With>Web Browser via LiveReload Server' contextual menu.
Related JIRA: JBIDE-20059
Maven
Maven Repository Wizard
new Maven Red Hat GA repository
In the Maven Repository Configuration wizard, accessible from Preferences
> JBoss Tools
> JBoss Maven Integration
> Configure Maven Repositories…
,
the predefined Red Hat TechPreview All
Maven repository has been replaced with the new,
official Red Hat GA
(GA: General Availability) repository, for released Red Hat JBoss Middleware artifacts.
It is recommended you replace the old TechPreview All
repository with the new GA
one, in your Maven settings.xml file.
Related JIRA: JBIDE-20192
new Bintray JCenter profile
Bintray JCenter is an alternative (and superset) to the Maven Central repository. From JBoss Tools/Developer Studio, you can now easily add it in a profile of your Maven settings.xml file.
Go to Preferences > JBoss Tools > Maven Integration > Configure Maven Repositories…
, click on the Add Repository…
button and select the bintray
profile :
Related JIRA: JBIDE-19816
OpenShift
New OpenShift 3 support
OpenShift 3 tooling is provided as a TechPreview feature, available from the JBoss Central Software/Updates page. A few features are still missing, like deploying an existing workspace project, or editing existing build configurations. We have some ideas to provide an even better OpenShift Explorer user experience. Once we are fully satisfied with the quality of its feature set, OpenShift 3 tooling will mature to a Supported feature in the upcoming months, and will then be installed by default in JBDS.
it will add an option to create OpenShift 3 connections in the OpenShift Connection wizard.
"OpenShift 3" is not available as an online offering yet. Please refer to the Getting Started documentation
OpenShift 3 tooling supports 2 authentication schemes:
-
Basic Authentication: type in your login/password
-
OAuth Authentication: you retrieve a token by clicking the retrieve link, following the prompts in the browser, and pasting it back into the connection wizard.
Related JIRA: JBIDE-19096
Create an OpenShift 3 application from template
The New Application Wizard integrates with OpenShift 3. If you’re not familiar with OpenShift 3, a link to the getting started online documentation is available for quick access.
You can use templates to create OpenShift 3 resources that make up an application. The wizard allows you to use a template offered by the server, or to provide a template that you have ready on your local file system.
Details of the selected templates are displayed on the bottom of the wizard.
Once the template is selected, the next page allows you to edit the template parameters, to customize them for your needs.
Finally, you can add labels so that you will be able to reference those new resources once they are created.
A resource name collision detection prevents the creation of incomplete applications. A summary of all generated application parameters is shown, with a copy-to-clipboard button and a link to Webhook build triggers, once the application has been created.
If applicable, the application code is automatically imported in the workspace once the wizard closes.
Related JIRA: JBIDE-19009
Changes in OpenShift Explorer
The OpenShift Explorer now supports all the following features for working with OpenShift 3 resources :
-
Create Connection/Project/Application from the
New
menu. -
Delete resources (Connection/Project/Resources).
-
Import Application…
menu at the connection and project levels. -
Show In > Web Browser
menu opens your application in a browser, if a route as been defined. If there are several routes, you will choose the one to use. -
Show In > Web Console
menu: opens an OpenShift connection or resource directly in the Web Console in a browser. -
Properties
menu: opens the Properties view on any given OpenShift 3 Connection/Project/Resource. -
Show Webhooks…
menu on Build Configs: opens a dialog allowing you to easily copy git hook URLs. This is used to trigger new builds on git push. -
Start Build…
menu available in the Builds category. The build state displays next to its name or in the properties view. For now, you need to manually refresh the Explorer to see the build progress and completion. -
Build Log…
andPod Log…
menus, for Builds and Pods (see Log Streaming). -
Deploy Docker Image…
menu, see Integration with Docker tooling.
Related JIRAs: JBIDE-20502, JBIDE-20487, JBIDE-20451, JBIDE-20291, JBIDE-20022, JBIDE-19010
Import application source into the workspace
An existing OpenShift 3 application can be imported into Eclipse using the Import Application…
menu in the OpenShift Explorer.
The import wizard prompts you to select a build config which contains the URI of your source repository.
The wizard clones the source repository and imports the code into your Eclipse workspace as an Eclipse project.
All source repositories are imported as general Eclipse projects that you can manually configure to match your needs, except those which utilize Maven. Maven is recognized by the import process and the Eclipse projects are enabled via Eclipse’s Maven support. Eclipse project type detection will be improved in future releases via the new Eclipse "Smart Import" facility.
Related JIRA: JBIDE-19787
Manage your OpenShift Projects
The OpenShift 3 Project concept is similar to OpenShift 2 namespace. Not to be mistaken for the Eclipse Project.
You can create or delete OpenShift projects from the Manage Projects…
menu of an existing OpenShift Connection:
or when creating a new OpenShift 3 application:
If an application is created without a project, the tools prompt you to create a project for the application beforehand:
Related JIRA: JBIDE-20016
Manually Trigger Builds
Automatic build triggers require using Webhook triggers. However, you can still manually trigger builds when selecting your Build Configs in the OpenShift Explorer.
Related JIRA: JBIDE-20047
Easy setup for 'oc' binary
The Port Forwarding and Log Streaming features require that the OpenShift Client (OC) binary is installed on your machine. If the OC binary is missing, an error dialog will prompt you to configure its location in the OpenShift 3 preferences. If you don’t have a local copy of the OC binary, a link guides you to its download page.
Related JIRAs: JBIDE-20371, JBIDE-20455, JBIDE-20354
Port Forwarding
If your application exposes ports, they can be forwarded to your local machine.
The upcoming wizard then lets you forward the ports that your application is exposing. You can also stop an existing tunnel by hitting "Stop All".
The Eclipse Console displays which ports the wizard is forwarding and allows you to stop the tunnel via a red knob in the title bar.
Related JIRA: JBIDE-19850
Log Streaming
Provided the OC binary was set up in Eclipse’s preferences,
you can, from the OpenShift Explorer, stream logs from Build
(Build Log…
menu) or Pod (Pod Log…
) nodes. This is the same feature as Tail Log
in OpenShift 2.
Logs display in a Console view, allowing users to monitor builds or application server logs in real time.
Related JIRA: JBIDE-20099
Integration with Docker tooling
The OpenShift 3 Eclipse Tooling provides some integration with the Docker tooling
with further improvements coming soon. Docker images can be deployed to the OpenShift cluster with an initial set of OpenShift resources. The Deploy Image
wizard can be initiated from either the OpenShift or Docker
explorer views. This wizard allows you to:
-
Choose an OpenShift project
-
Manually provide a Docker image URI from a local connection
-
Override Environment Variables
-
Expose image ports
-
Create a public route
-
Attach custom OpenShift labels to the generated OpenShift resources
Related JIRAs: JBIDE-19010, JBIDE-20402
New OpenShift 3 java client library
The OpenShift 3 tooling is based upon a new java client library to talk to the OpenShift 3 backend. This all new client library is hosted at:
https://github.com/openshift/openshift-restclient-java
Related JIRA: JBIDE-19555
Project Examples
Offline Support for Examples in JBoss Central
As mentioned in the JBoss Central section, you now have access to over 200 project
examples from the JBoss Central page. All these examples and their dependencies can now be cached locally via the
Groovy Offline script, available from Preferences
> JBoss Tools
> Project Examples
> Offline Support
.
Groovy 2.4.x is now required to execute the offline script.
Please be aware the script now takes several hours to complete (3h on the Red Hat build farm).
Related JIRA: JBIDE-20077
Server Tools
WildFly 9, 10, and EAP 7 Server Adapters are Added
New server adapter and runtime types have been created for WildFly 9, 10 and JBoss EAP 7, allowing you to enjoy all the past benefits, but with all the newest runtimes.
Related JIRA: JBIDE-18348 - Initial support for WildFly 9, Application Server Distribution
Related JIRA: JBIDE-19964 - WildFly 10 Server Adapter
Related JIRA: JBIDE-20481 - EAP 7.0 Server Adapter
Support for Port Monitoring
Support for Port Monitoring has been (finally) added to JBoss, WildFly, and our enterprise server adapters. With a preference page, a view for tracking recent past requests, integration with the servers view, and some custom enhancements of our own, JBoss Tools is confident that our integration with this WebTools feature is more complete than what’s available with other server adapters.
A blog entry has been posted with further details.
Related JIRA: JBIDE-19755 - Implement ServerPort portion of wst.servertools API
LaunchBar
A new feature hiding in the CDT repository of eclipse is being released with Mars. Called the LaunchBar, this feature aims to update the UI of eclipse to allow for more easy running of launch configurations (and other things). In this Beta1 release, we’re adding this feature in an optional addition to our Server Tools. We’ve also written our own extensions to it, integrating the LaunchBar with WTP’s Server Adapters.
The list of launchable objects (center) is linked with your selections in the workspace when used with our extensions, in most cases before you’ve ever even launched the object. The list of targets (on the right) will include all existing server adapters compatible with the launchable.
To enable this feature, you need to install from Help > Install New Software… > http://download.jboss.org/jbosstools/mars/development/updates
then select the JBoss Tools Server LaunchBar Integration
feature.
For more information, you can also check launchbar’s documentation at eclipse.org, or try it for yourself.
Related JIRA: JBIDE-19711 - WTP servertools integration with CDT launchbar
Support for Java 9 Jigsaw builds in WildFly 10
We have now verified that WildFly can be run on the newest builds of Java 9 with Jigsaw. This support is only built into our WildFly 10 adapters by default, but users of earlier application servers can remove the -jaxpmodule javax.xml.jaxp-provider
portion of the launch arguments to get the same support.
IP6 Support Added
For JBoss 7 and Wildfly installations, using hostnames with an IPv6 format often failed to connect, show webpages, or even verify the server’s state. Several changes have made this work as expected. With updated wildfly jars, management commands will execute without issue. In addition, our tools will now automatically recognize host names in an IPv6 pattern, and update your launch configuration’s various launch arguments to ensure that the server starts properly and with all expected flags set.
Related JIRA: JBIDE-19113 - Update of wildfly jars
Related JIRA: JBIDE-12352 - Remote Management Connections to Wildfly IPv6
Related JIRA: JBIDE-12351 - JMX connections to Wildfly IPv6
Related JIRA: JBIDE-12282 - Wildfly server fails to Stop IPv6
Project Archives, support for ant usecase removed
In previous releases, Project Archives was designed in such a way that the core plugin would be compiled into multiple jars, one of which had minimal dependencies on Eclipse, allowing it to be used from ant. This usecase was fairly complicated to get working for the user, and involved locating and adding several eclipse jars to the ant classpath, making use of a custom ant task, and adding a significant amount of configuration in your build.xml file to properly map details like a project’s location.
Despite attempting to be portable, persistable, and shareable, this usecase never really lived up to any of those goals. While the eclipse tooling could simply use a project name in its internal metadata, allowing the user to keep those projects wherever they want while using eclipse to resolve their location, the ant usecase required hard-coded location mappings for each project in the build.xml, limiting its usefulness in a shared environment.
For this and several other reasons (including ant’s decreasing utility, and our own internal policies for how plugins should be packaged), this 10-year old use case has been removed.
Exploded Jars in WEB-INF/lib
In Wildfly 8.2, support was added for exploded jar deployment inside exploded wars. This has allowed our tooling to support this use case as well. This new functionality will be very useful when creating a modular web application, with different parts implemented in separate projects. Hot deployment of resources such as Facelets' XHTMLs is crucial for rapid development and testing.
Related JIRA: JBIDE-20071 - Allow deploying exploded jars to war/WEB-INF/lib
Usage
Browser Usage
The SWT Browser name and version is now collected for usage statistics to help the JBoss Tools team to learn more about preferred user configurations.
All collected information is reflected in Preferences > JBoss Tools > Usage Reporting
for the user’s review.
As always, JBoss Tools does not send any information unless a user has opted into this option, nor is there ever any personal information sent.
Related JIRA: JBIDE-19899
Visual Editor
Multiple Browser Engine support on Linux
On Linux Visual Page Editor can be opened in HTML5 mode for HTML files, where all HTML5 features is supported.
Visual Page editor mode can be changed with dialog, which appears during HTML file openeng or in Visual Page Editor Preferences. using Changing Visual Editor mode requires Eclipse restart.
Related JIRA: JBIDE-18177
Navigation between pages on single-page application
For single-page applications, the Visual Editor supports navigation between pages. However, there were problems returning to the previous page in the editor. To address this issue, Visual Editor now includes Back
and Forward
buttons in the menu bar which improve single-page application development.
Related JIRA: JBIDE-19569
Web Services Tools
Content Assist for Methods in Websocket Endpoint Classes
Content assist for methods in Websocket endpoint classes is now added.
Websocket endpoint classes are classes annotated with javax.websocket.server.ServerEndpoint or javax.websocket.ClientEndpoint. They can have methods annotated with @OnClose, @OnError, @OnMessage, @OnOpen.
Content assist provides the following options:
-
onClose(Session session, CloseReason closeReason): void
- @OnClose method for WebSocket endpoint -
onError(Session session, Throwable throwable): void
- @OnError method for WebSocket endpoint -
onMessage(String message): void
- @OnMessage method with text message for WebSocket endpoint -
onMessage(byte[] message): void
- @OnMessage method with binary message for WebSocket endpoint -
onMessage(PongMessage message): void
- @OnMessage method with pong message for WebSocket endpoint -
onOpen(Session session, EndpointConfig endpointConfig): void
- @OnOpen method for WebSocket endpoint
Each option can only be used once. After being used once, the option does not appear in the choices.
Use Content assist from any position to add a new class member. Use prefixes to reduce the choice list. For example, if onO
or @onO
is typed and Content Assist is invoked, only onOpen
choice will be suggested.
Example of inserted code:
@OnOpen
public void onOpen(Session session, EndpointConfig endpointConfig) {
// TODO Auto-generated method stub
}
Related JIRA: JBIDE-19739