A JBoss Project
Red Hat

Posts tagged with 'jbosstools'

Maintenance update of your favorite integration tools.

jbosstools jbdevstudio blog header

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

  • 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.

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

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

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

  • 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.

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

  • 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.

All of these components have been verified to work with the same dependencies as JBoss Tools 4.1 and Developer Studio 7, so installation is easy.

Installation

To install the Integration Stack tools, first install JBoss Developer Studio from the all-in-one installer, bundled and configured out of the box with everything you need to get started. Alternatively, if you already have eclipse-jee-kepler installed, you can install JBoss Developer Studio or JBoss Tools from the Eclipse Marketplace via Help > Eclipse Marketplace…​

jbtis-b1

Once Developer Studio is installed, restart Eclipse and select the Software/Update tab in the JBoss Central view and look for the JBoss Developer Studio Integration Stack installation section. Select the items you’d like to install:

jbtis-b2

The community JBoss Tools Integration Stack URL is:

Note: If you installed into your own Eclipse you should bump up the launch resource parameters:

--launcher.XXMaxPermSize 256m --launcher.appendVmargs -vmargs -Dosgi.requiredJavaVersion=1.6 -XX:MaxPermSize=256m -Xms512m -Xmx1024m

What’s Been Updated?

Fix release versions of Fuse Tooling 7.2.2, jBPM/Drools 6.1.0 and Teiid Designer 8.3.4. Also - there are updated ESB 1.5.310.Final project examples. Look for specific bug fixes in the Release Notes.

Keep up to date with the JBoss Tools home

Don’t miss the new Features tab for up to date information on your favorite Integration Stack component !

Happy to announce JBoss Tools 4.2 CR1 and Red Hat JBoss Developer Studio 8 CR1 for Eclipse Luna is now available.

JBoss Developer Studio 8 Splashscreen

Installation

JBoss Developer Studio comes with everything pre-bundled in its installer. Simply download it and install it like this:

java -jar jboss-devstudio-{version}-installer-{standalone|eap}.jar

JBoss Tools or JBoss Developer Studio Bring-Your-Own-Eclipse (BYOE) requires a bit more:

This release requires at least Eclipse 4.4 (Luna) but we recommend using the Eclipse 4.4 JEE Bundle since then you get most of the dependencies preinstalled.

Once you have installed Eclipse, you either find us on Eclipse Marketplace under "JBoss Tools (Luna)" or "JBoss Developer Studio (Luna)".

For JBoss Tools you can also use our update site directly if you are up for it.

http://download.jboss.org/jbosstools/updates/development/luna/

Note: Integration Stack tooling will become available from JBoss Central at a later date.

What is new ?

This release is mainly a big set of bug fixes but we managed to slip in a bunch of new features too.

Hotcode replace aware server adapter

Ever been annoyed by Eclipse’s "Hot Code Replace Failed" dialog and how it only offers you to Continue, Terminate or fully restart your running VM ?

Ever wonder why Eclipse couldn’t just restart your deployed modules and let you continue working without have to wait for a restart of the application server + your own application ?

If you can answer yes to the above, then you will be happy to hear we now support this.

JBIDE 18094a

Now, if you run a server in Debug mode and a hot code replace fails due to some class or jar changes, the dialog above will appear, giving you the option to restart the modules, terminate the server, restart the server, or just continue as if nothing happened.

But beyond this, it also offer you the option to "Remember this choice for this server", allowing you to click "Restart modules" once and then all subsequent hot code replace failures will automatically trigger a restart of just the modules.

This is probably my personal most wanted feature improvement in years - sorry for it to take so long but please do enjoy it now.

Hibernate Tools "rewired"

To support the latest Hibernate 4.3 and JPA 2.1 releases, we had to "rewire" large part of Hibernate Tools' internals. In the past Hibernate 3.6 was hardwired to be used for loading users mapping configurations for the UI - that is no longer the case. The configured version for your console configuration is now used everywhere instead of only for codegeneration.

I’ll spare you from the details here but just outline that the rewiring has been completed and we now support Hibernate 4.3 and JPA 2.1. But beyond that, previous versions should be much more stable now too!

If you do find discrepancies in this area, please let us know by opening a bug report.

New AngularJS Forge wizard

JBoss Central now features a new AngularJS with Forge project wizard to let you kickstart new JavaEE based applications almost from scratch, using the powerful JBoss Forge scaffolding capabilities.

new forge wizard

You will be asked to install Forge Tools, if it is not already installed. The wizard will also recommend you to install the AngularJS tooling.

Once you create the project skeleton from the new wizard, a cheatsheet will open and will guide you through the different steps necessary to use JBoss Forge and scaffold REST endpoints and a UI layer based on AngularJS.

Please be aware that if you enable "Early Access" on JBoss Central you will get even better AngularJS suport (see below).

Updated AngularJS tooling

AngularJS IDE v.0.5.0 is now available in JBoss Central Early Access (go to the software/updates page in JBoss Central and click on the Early Access checkbox). Biggest change here is that the Angular JS editor is no longer needed and has been removed. Instead, content assist, code highlighting and easy navigation for AngularJS are now available from the standard and JBoss Tools HTML editors.

angular

More Ionic goodies for mobile development

More widget components have been added to the Ionic Palette for HTML5 files. See the New and Noteworthy page for a complete list of newly available widgets.

palette

When an Ionic widget is added to an HTML file, the links to Ionic JS/CSS CDN resources may also be created automatically.

ionic js

Content assist (Ctrl+Space) for <ion-*> tags and their attributes is now supported by the JBoss Tools HTML editor.

ionic ca

Pom properties activated m2e configurators

JBoss project configurators for m2e now support an activation property in the <properties> section of pom.xml. Expected values are true/false and override the workspace-wide preferences found under Preferences > JBoss Tools > JBoss Maven Integration.

Available properties are :

  • <m2e.cdi.activation>true</m2e.cdi.activation> for the CDI Project configurator,

  • <m2e.seam.activation>true</m2e.seam.activation> for the Seam Project configurator,

  • <m2e.hibernate.activation>true</m2e.hibernate.activation> for the Hibernate Project configurator,

  • <m2e.portlet.activation>true</m2e.portlet.activation> for the Portlet Project configurator.

Using these are good if you find our automatic detection is too eager or too weak in finding that you need the plugins setup for CDI, Seam, Hibernate or Portlet features.

The pom.xml editor also provides matching XML templates for these properties, when doing ctrl+space in the <properties> section.

…​and more

There are more improvements covered in the more details: What’s New.

What is Next

The next release is set to be the last candidate release, so please, do try this one out and give feedback to make sure you’ll have a good experience with JBoss Tools on Eclipse Luna!

Let us know what you think in the comments below!

Hope you enjoy it and remember…​

Have fun!

Max Rydahl Andersen & Fred Bricon
@maxandersen @fbricon

Happy to announce JBoss Tools 4.2 Beta3 and Red Hat JBoss Developer Studio 8 Beta3 for Eclipse Luna is now available.

JBoss Developer Studio 8 Splashscreen

Installation

JBoss Developer Studio comes with everything pre-bundled in its installer. Simply download it and install it like this:

java -jar jboss-devstudio-{version}-installer-{standalone|eap}.jar

JBoss Tools or JBoss Developer Studio Bring-Your-Own-Eclipse (BYOE) requires a bit more:

This release requires at least Eclipse 4.4 (Luna) but we recommend using the Eclipse 4.4 JEE Bundle since then you get most of the dependencies preinstalled.

Once you have installed Eclipse, you either find us on Eclipse Marketplace under "JBoss Tools (Luna)" or "JBoss Developer Studio (Luna)".

For JBoss Tools you can also use our update site directly if you are up for it.

http://download.jboss.org/jbosstools/updates/development/luna/

Note: Integration Stack tooling will become available from JBoss Central at a later date.

What is new ?

This release is mainly a bunch of bug fixes but also a few new features and a very important regression fix.

Better Plugin Management for Apache Cordova

Our Hybrid Mobile Tools now supports automatically downloading the plugins listed in your config.xml giving you two benefits:

  1. Allow you to exclude the physical plugin binaries from your source control

  2. On import the right plugin will be fetched dynamically, great for sharing examples and code.

Also don’t forget we have proposed and contributed Hybrid Mobile Tools at Eclipse under Eclipse Thym.

CordovaSim is now less meme-compatible

CordovaSim using Ripple had a "easter-egg" in the sense when you used a Cordova plugin that the Ripple engine did not understand would show a dialog titled "I Haz Cheeseburger?!?!". Great for those with a great love for internet memes but it was not very informative.

Now we provide a less meme heavy dialog letting the user know what plugin that is not supported and allow you to not have to see the message again.

Plug-in not supported dialog

Btw. if you use a popular and/or important plugin that is not supported open a jira or PR against CordovaSim.

Ionic framework in palette

We’ve added support for Ionic framework. Ionic is a AngularJS based framework that provides nice mobile components that works especially well with Cordova based application.

Ionic palette

Maven Central archetype catalog

One of the improvements in m2e 1.5 for Luna was that it no longer by default download the Nexus indexes for all repositories by default. It was simply too slow.

Thus that had to go but by removingt this the list of archetypes for the 'New Maven Project' was heavily reduced.

In Beta3 we’ve added the Maven Central Archetype catalog meaning you get access to ~9600 archetypes in a few seconds vs several minutes in pre m2e 1.5 days.

Maven Central Archetype Catalog

Review commit changes when pushing to OpenShift

When pushing changes to OpenShift and you have uncommitted changes we now show a variation of the standard git commit dialog allowing you to be selective about what files you want to get committed/added before your push.

Review changes before committing to OpenShift

JMX Navigator grouping of connections

With all the great additions to the JMX tooling in last beta we realized the JMX Navigator view could benefit from having its connections grouped by type.

Allows you to more easily find what you are looking for and when auto-discovered connections come and go the view stays stable.

JMX Navigator group by connection type

Fixed incremental deployment regression

…​and finally we fixed a rather severe regression in our server tools. The server adapter were triggering full redeployments if your project had certain type or module or jar dependencies.

Making your development workflow really slow compared to the more or less instant feedback you should get when just updating dynamic content like html or jsf.

Sorry for having that broken but now it is fixed - thus if you felt the server publishing was slow then please try it now! It should be back to its fast self again.

…​and more

There are more improvements covered in the more detailed: What’s New.

What is Next

This Beta is the last planned Beta for JBoss Tools 4.2 and Developer Studio 8. The next release is set to be the candidate release thus please do try this release out and give feedback to make sure you’ll have a good experience with JBoss Tools on Eclipse Luna!

Let us know what you think in the comments below!

Hope you enjoy it and remember…​

Have fun!

Max Rydahl Andersen
@maxandersen

It is time to get some more Eclipse Love out in the world - we start by shipping JBoss Tools 4.2 Beta2 and Red Hat JBoss Developer Studio 8 Beta2 for Eclipse Luna.

JBoss Developer Studio 8 Splashscreen

Nice, ain’t it?

Installation

JBoss Developer Studio comes with everything pre-bundled in its installer. Simply download it and install it like this:

java -jar jboss-devstudio-{version}-installer-{standalone|eap}.jar

JBoss Tools or JBoss Developer Studio Bring-Your-Own-Eclipse (BYOE) requires a bit more:

This release requires at least Eclipse 4.4 (Luna) M7 but we recommend using the Eclipse 4.4 JEE Bundle since then you get most of the dependencies preinstalled.

Once you have installed Eclipse, you either find us on Eclipse Marketplace under "JBoss Tools (Luna)" or "JBoss Developer Studio (Luna)".

For JBoss Tools you can also use our update site directly if you are up for it.

http://download.jboss.org/jbosstools/updates/development/luna/

Note: Integration Stack tooling will become available from JBoss Central at a later date.

What is new ?

This Beta 2 contains quite some new additions that I believe you will like!

Java 8

To start with, this is now tested and developed against Eclipse Luna M7 and newer which means it comes with Java 8 tooling support out-of-the-box.

Early Access in JBoss Central

To allow users of JBoss Developer Studio to try out plugins which have not yet reached supported level more easily we’ve added the notion of Early Access to JBoss Central.

JBoss Central Early Access

For now we’ve moved Eclipse VJET into this area and made Arquillian Tools and AngularJS available for Developer Studio users.

The "Early Access" features are from an isolated update site that only gets added if you press "Show Early Access" and when you unselect "Early Access" we will remove/disable those update sites thus you will not receive anymore updates of those features.

Try it out!

VPE is dead, long live VPE!

VPE has been refactored to use the new HTML Preview feature.

This means we will use your system native browser to preview HTML5 based pages (XHTML/JSF will still use the old XULRunner based browser if possible).

Visual Page Editor

This new preview has much better Javascript support and just looks better.

If you do not like the split editor view you can also open it as a separate view which will show the HTML representation of editors that uses the WTP based XML DOM model (i.e. our html editor and wtp xml editors).

The preview supports navigating between source and the visual elements allowing you to easily find the right place in the code.

Better JavaScript

To improve Eclipse JSDT default JavaScript we’ve done many fixes to it that are available in stock Eclipse, but for JBoss Tools we’ve started to try use Tern behind the scenes via Angello Zerr’s angularjs-eclipse and tern-java projects.

In JBoss Tools Tern is now automatically enabled on Javascript based projects intended to give you much stronger and better content assist in addition to what Eclipse JSDT provides.

JavaScript ECMA 5

We are trying to make it that there is no user setup needed for most common javascript functionallity to work.

For example if you create a Hybrid Mobile Tooling project we will enable the support for Apache Cordova Javascript out of the box.

CordvaJS Content assist

AngularJS support

As an experiemnt, we’ve made AngularJS available from JBoss Central under "Early Access" to give a try if you are an Angular user.

Angular JS Support

We are really interested in hearing if these improvements to JavaScript and Angular support work for you!

OpenShift Quickstarts

The OpenShift wizard now supports OpenShift’s notion of quickstarts or instant apps.

OpenShift Quickstarts

This means it is now possible to just use OpenShift Wizard in Eclipse to use one of the many custom defined quickstarts without having to use the browser.

Examples of interesting JBoss server related quickstarts are WildFly 8.1, AeroGear Push server and CapeDwarf.

OpenShift Snapshots

On request OpenShift now supports saving and restoring your OpenShift instances via Snapshots.

Save/Restore snapshots

Local Java Process Monitoring via JMX Navigator on steroids!

The view before called 'MBeans Explorer' is now called 'JMX Navigator' and it now can do much more than before.

First off, it will automatically list locally detected Java Virtual Machines which you can connect to and browse their internal state via JMX MBeans.

Locally detected processes

Once you have this view open you can browse the MBeans, but with a little bit of magic you can also get various performance metrics displayed.

Timeline of a java process

You can even get profiling info such as hotspots, memory usage etc.:

hotspots monitor

Basically, JBoss Tools now comes with a built-in Java profiler out of the box.

This functionallity originally comes from Fuse IDE which adopted jvmmonitor which we have now moved into JBoss Tools core to unify our access to JMX and Java processes.

JBoss Modules Classpath Container

Until now JBoss Tools core have used basic file patterns to find appropriate jars for your classpath and for introspecting the JBoss servers. With JBoss Modules where there can be multiple versions and several layers of patching this kind of simple file pattern searching is not sufficient.

Thus now our WildFly/JBoss EAP based servers understand the notion of JBoss Modules and will locate the proper module.

JBIDE 9479

It even will detect if your manifest.mf has Dependencies and add them to the list of jboss modules to the classpath Eclipse will use for compiling.

…​and more

There are more improvements in the areas of JAX-RS, Maven, Mobile palette, Forge. See details here: What’s New.

Let us know what you think in the comments below!

Hope you enjoy it and remember…​

Have fun!

Max Rydahl Andersen
@maxandersen

Maintenance updates of your favorite integration tools!

jbosstools jbdevstudio blog header

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

  • 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.

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

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

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

  • 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.

  • Savara (JBoss Tools only) - A tool for ensuring artifacts defined at different stages of the software development lifecycle are valid against each other, and remain valid through the evolution of the system.

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

  • 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.

All of these components have been verified to work with the same dependencies as JBoss Tools 4.1 and Developer Studio 7, so installation is easy.

Installation

To install the Integration Stack tools, first install JBoss Developer Studio from the all-in-one installer, bundled and configured out of the box with everything you need to get started. Alternatively, if you already have eclipse-jee-kepler installed, you can install JBoss Developer Studio or JBoss Tools from the Eclipse Marketplace via Help > Eclipse Marketplace…​

jbtis b1

Once Developer Studio is installed, restart Eclipse and select the Software/Update tab in the JBoss Central view and look for the JBoss Developer Studio Integration Stack installation section. Select the items you’d like to install:

jbtis b2

If you want to try out Savara you will need to use the JBoss Tools Integration Stack URL instead:

Note: If you installed into your own Eclipse you should bump up the launch resource parameters:

--launcher.XXMaxPermSize 256m --launcher.appendVmargs -vmargs -Dosgi.requiredJavaVersion=1.6 -XX:MaxPermSize=256m -Xms512m -Xmx1024m

What’s Been Updated?

Fix release versions of Fuse Tooling 7.2.1, jBPM/Drools 6.0.3, SwitchYard 1.1.6 and Teiid Designer 8.3.3. Look for specific bug fixes in the Release Notes.

Keep up to date with the JBoss Tools home

Don’t miss the new Features tab for up to date information on your favorite Integration Stack component !

Some time ago, I described how to perform CSS and JS minification using Eclipse, Maven and WRO4J, thanks to m2e-wro4j.

In this article, we’ll deploy a Java EE 6 Restful application with an HTML5 front-end on a Wildfly application server. We’ll see how, using m2e-wro4j, m2e-wtp and the JBoss Tools Maven Profile Management UI, you can easily switch between minified and regular build profiles.

Setup your Eclipse-based IDE

First you’ll need to install a couple things into an Eclipse Java EE installation. I recommend you use Red Hat JBoss Developer Studio, as it comes with m2e, m2e-wtp, the Maven Profile Manager, the Wildfly server adapter and JBoss Central out-of-the-box, but any Eclipse based installation (Kepler) will do, provided you install the proper plugins.

Red Hat JBoss Developer Studio Eclipse Java EE
  • You can download and install Red Hat JBoss Developer Studio 7.1.1 from here

  • or install it over an existing Eclipse (Kepler) installation from the Eclipse Marketplace

Make sure you install the following JBoss Tools features :

  • Maven Profiles Management

  • JBossAS Server

  • JBoss Central

m2e-wro4j can then be installed from JBoss Central’s Software/Update tab :

m2e wro4j installation

Alternatively, you can find and install m2e-wro4j from the Eclipse Marketplace too.

Also make sure you have a Wildfly server installed on your machine.

About m2e-wro4j

The m2e-wro4j connector allows wro4j-maven-plugin to be invoked when .js, .css, .coffee, .less, .sass, .scss, .json, .template or pom.xml files are modified.

Given the following configuration :

<plugin>
    <groupId>ro.isdc.wro4j</groupId>
    <artifactId>wro4j-maven-plugin</artifactId>
    <version>${version.ro.isdc.wro4j}</version>
    <executions>
        <execution>
            <phase>compile</phase>
            <goals>
                <goal>run</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <targetGroups>app.min,m.screen.min,d.screen.min</targetGroups>
        <cssDestinationFolder>${project.build.directory}/${project.build.finalName}/css/</cssDestinationFolder>
        <jsDestinationFolder>${project.build.directory}/${project.build.finalName}/js/</jsDestinationFolder>
        <wroManagerFactory>ro.isdc.wro.maven.plugin.manager.factory.ConfigurableWroManagerFactory</wroManagerFactory>
    </configuration>
</plugin>

When m2e-wtp is present, m2e-wro4j automatically translates ${project.build.directory}/${project.build.finalName}/* output directories (the default values used by wro4j-maven-plugin) to ${project.build.directory}/m2e-wtp/web-resources/. This gives you on-the-fly redeployment of optimized resources on WTP controlled servers.

In order to use wro4j-maven-plugin, you need a wro.xxx descriptor (that would be src/main/webapp/WEB-INF/wro.xml by default) and a wro.properties. Read https://code.google.com/p/wro4j/wiki/MavenPlugin for more details.

Create an HTML 5 project

Now let’s get to work. From the JBoss Central Getting Started tab, click on the HTML 5 project icon to create a Maven based web application with a JAX-RS back-end and an HTML 5 front-end.

html5 project jboss central

I used kitchensink as a project name.

This project already has some wro4j-maven-plugin configuration we can use. All we need is to make the switch between regular and minified versions of the build more user friendly.

Enable minification

First, we need to remove one xml snippet from the pom.xml which prevents wro4j-maven-plugin from running during Eclipse builds, thus cancelling m2e-wro4j’s efforts. Go to the minify profile and delete :

<pluginManagement>
    <plugins>
        <!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
        <plugin>
            <groupId>org.eclipse.m2e</groupId>
            <artifactId>lifecycle-mapping</artifactId>
            <version>${version.org.eclipse.m2e}</version>
            <configuration>
                <lifecycleMappingMetadata>
                    <pluginExecutions>
                        <pluginExecution>
                            <pluginExecutionFilter>
                                <groupId>ro.isdc.wro4j</groupId>
                                <artifactId>
                                    wro4j-maven-plugin
                                </artifactId>
                                <version>${version.ro.isdc.wro4j}</version>
                                <goals>
                                    <goal>run</goal>
                                </goals>
                            </pluginExecutionFilter>
                            <action>
                                <ignore></ignore>
                            </action>
                        </pluginExecution>
                    </pluginExecutions>
                </lifecycleMappingMetadata>
            </configuration>
        </plugin>
    </plugins>
</pluginManagement>

In order to use the minified versions of javascript and css files in the app, the original index.html file requires you to (un)comment several lines like :

yep: {
    //assign labeled callbacks for later execution after script loads.
    //we are on mobile device so load appropriate CSS
    "jqmcss": "css/jquery.mobile-1.3.1.min.css",
    // For minification, uncomment this line
    //"mcss": "css/m.screen.min.css"
    // For minification, comment out this line
    "mcss": "css/m.screen.css"
},
nope: {
    //we are on desktop
    // For minification, uncomment this line
    //"scss": "css/d.screen.min.css"
    // For minification, comment out this line
    "scss": "css/d.screen.css"
},

This is clearly not practical if you want to be able to quickly switch between minified and original versions of your files.

Fortunately, we can take advantage of some Maven black magic, also known as web resource filtering, to dynamically use the proper (non-minified) version of these files, depending on the profile we’re building with.

We have 3 things to do :

  1. define a maven property for the minified file extension currently in use

  2. enable web resource filtering in the maven-war-plugin configuration

  3. modify index.html so it uses the aforementioned maven property

Setup the maven property

In the main <properties> block, at the top of your pom.xml, add the following property :

<!-- By default, the original filename will be used -->
<min.ext></min.ext>

Now add a <properties> block to the minify profile :

<properties>
  <min.ext>.min</min.ext>
</properties>

Enable web resource filtering

Modify the default maven-war-plugin configuration to enable filtering on html files :

<plugin>
  <artifactId>maven-war-plugin</artifactId>
  <version>${version.war.plugin}</version>
  <configuration>
    <!-- Java EE 6 doesn't require web.xml, Maven needs to catch up! -->
    <failOnMissingWebXml>false</failOnMissingWebXml>
    <webResources>
      <webResource>
        <directory>src/main/webapp</directory>
        <filtering>true</filtering>
        <includes><include>*.html</include></includes>
      </webResource>
    </webResources>
  </configuration>
</plugin>

Use the maven property

In index.html, replace at least the following occurrences :

from to

js/app.js

js/app${min.ext}.js

css/m.screen.css

css/m.screen{min.ext}.css

css/d.screen.css

css/d.screen{min.ext}.css

You can also apply similar changes to lodash and jquery if you want.

At this point, you should see the filtered target/m2e-wtp/web-resources/index.html references the original resources, as the minified extension enabled by default is an empty string.

Switch between minified and regular profiles

Let’s see what happens when enabling the minify profile. Ctrl+Alt+P is a shortcut bringing up the Maven Profile Management UI. Just check/uncheck profiles to enable/disable them :

profile selection

Once the minify profile is active, you’ll see that :

  • css/m.screen.min.css, css/d.screen.min.css,js/app.min.js are generated under target/m2e-wtp/web-resources/

  • target/m2e-wtp/web-resources/index.html now references the minified versions of the resources

minified resources

Deploy the application on WildFly

  • Right click on your project and select Run As > Run on Server …​

  • Create a new Wildfly Server if necessary, pointing at your locally installed server

  • Once the server is created and deployed, a browser window should open :

deployed application1

If you’re on a desktop, modify the color of the h1 class in src/main/webapp/css/d.screen.css and save. This will trigger wro4j-maven-plugin:run which will regenerate the minified version under target/m2e-wtp/web-resources/css/d.screen.min.css, which in turn will be deployed on Wildfly by the server adapter.

Reloading the page (after the build is complete) will show the changes directly :

deployed application2

Now you can switch back to using the regular, non-minified version by hitting Ctrl+Alt+P in the workbench, unselect the minify profile and wait for the build to complete. After you reload your browser page, you’ll notice, if you look at the source page, the minified versions are not referenced anymore.

The minified files still exist under target/m2e-wtp/web-resources/ and are deployed as such. They’re unused, so they’re harmless, but you’d need to perform a clean build to remove them, if necessary.

Conclusion

Dealing with optimized resources in Eclipse is made really easy with a combination of the right tools. Just focus on code, save your work, see the changes instantly. WRO4J and wro4j-maven-plugin can give you much more than what we just saw here (resource aggregation, obfuscation, less processing …​). Hopefully you’ll want to give it a try after reading this article, and if you do, don’t forget to give us your feedback.

Issues with m2e-wro4j can be opened at https://github.com/jbosstools/m2e-wro4j/issues.

Issues with the Maven Profile Manager can be opened at :

As always, for all your WRO4J or wro4j-maven-plugin specific issues, I strongly encourage you to :

Have fun!

We are ready with JBoss Tools 4.2 Beta1 and Red Hat JBoss Developer Studio 8 Beta1.

jbosstools jbdevstudio blog header

This announcement is a bit special since it is on our new website, with a cleaner and more consistent structure.

There is the specific version download available from JBoss Tools 4.2.0.Beta1.

Then there is the Luna download page which shows the latest Stable, Development and nightly download for Eclipse Luna - that is available from Luna releases.

From either of these you can get to the Downloads, updatesites and What’s New!

Installation

JBoss Developer Studio comes with everything pre-bundled in its installer. Simply download it from our JBoss Products pagerun it like this:

java -jar jbdevstudio-<installername>.jar

JBoss Tools or Bring-Your-Own-Eclipse (BYOE) JBoss Developer Studio requires a bit more:

This release requires at least Eclipse 4.4 (Luna) M6 but we recommend using the Eclipse 4.4 JEE Bundle since then you get most of the dependencies preinstalled.

Once you have installed Eclipse, you either find us on Eclipse Marketplace under "JBoss Tools (Luna)" or "JBoss Developer Studio (Luna)".

For JBoss Tools you can also use our update site directly if you are up for it.

http://download.jboss.org/jbosstools/updates/development/luna/

Note: Integration Stack tooling will become available from JBoss Central at an later date.

What is new ?

As always there is more than can be covered in a single blog but here are some of my favorites. You can see everything in the What’s New section for this release.

Refactored and improved Server Tools

The server adapters for JBoss AS, EAP and WildFly have been refactored to support…​

  1. …​runtime-less servers (i.e. no need to have a server locally installed)

  2. …​deployment over management API (i.e. no need to have local or SSH based access anymore, just Management Api)

  3. …​start/stop scripts for deploy only servers

  4. …​Profiles for easier setup

JBIDE 9212c

These improvements required significant changes in the server adapter core API and UI. The meat of the code is still the same - just split out to be more reusable and composable.

We would really like to hear from you if the UI is good, bad, better, worse; and in any case how we can make it even better. We’re obviously interesting in knowing whether these features do work for you.

You can see more in the Servers What’s New.

OpenShift Downloadable Cartridges

OpenShift has been offering support for custom defined cartridges - now OpenShift tools supports this natively too.

This means you can create or use an existing cartridge by choosing the "Code Anything" option for either Applications or Cartridges.

Downloadable Cartridges

This allows you to, for example use a Cartridge like WildFly 8 or the recent OpenShift on JRebel experiment without leaving the IDE.

More support for multiple Cordova versions

The Cordova runtime support is now extended to also support using locally downloaded runtimes. Making it possible to use custom builds or simply distributions that are not directly available from Cordova repositories.

EnginePreferences

There are also various other fixes which can be viewed at Aerogear What’s New.

p.s. we are contributing these tools to eclipse.org under Project Thym.

The Cordova Simulator also now understands the notion of multiple Cordova runtimes allowing you to test against multiple versions.

CordovaSim multiple version support

Arquillian XML Editor

The Arquillian tooling (for now only available in JBoss Tools) added a Sapphire based editor for the arquillian.xml file format.

For now it is a simple structured editor but we plan on using it for experimenting with Sapphire to provide better XML oriented editors.

arquillianxmleditor

This Arquillian editor was based on ideas and initial contribution from Masao Kunii working for Nippon Telegraph and Telephone Corporation (NTT) - thank you!

Forge 2 Goodies

Recent version of Forge 1 and 2 are now distributed with tools and especially the later one brings an interesting feature.

Forge 2 Connection Profiles now will consider Eclipse Database Tooling Platform (DTP) connections meaning you no longer have to configure your database settings in multiple places.

Connection Profiles

This feature is called connection profiles in Forge 2.

Usage tracking

We have learned a lot from our last 3+ years usage tracking and continue to be amazed with how many nationalities, countries and operating system distributions the tools are used in - it has been and continue to be very informative and helpful in guiding our tooling support.

In Beta1 we have gone a step further into learning not only about how many starts JBoss Tools, but also now which features are being used.

In Beta1 we now collect info about which server types are used and which JBoss Central installs are being done to be able to see how much and how often these features are used.

We will use that in the future to decide new development and maintanence work - thus if you love a feature in JBoss Tools then please say yes to usage tracking and use the feature and we’ll notice.

Note: We are only collecting aggregated summaries of i.e. server types and installs - meaning we cannot use any of this info to identify you. It is truly anonymous usage statistics - we are not the NSA!

Next steps

While we wait for feedback on Beta1, we are already working on what will become Beta2. Some of things that are moving here are:

  1. Looking at doing radical changes to how the visual page editor works since XULRunner is not maintained anymore and we need HTML5 support

  2. Getting better (read: much better) javascript content assist with help from tern.java

  3. Improve JavaEE 6 and JavaEE 7 support

  4. Full Java8 support

  5. …​and more!

Hope you enjoy it and remember…​

Have fun!

Max Rydahl Andersen
@maxandersen

Fuse Tooling goes Final in the Stack!

jbosstools jbdevstudio blog header

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

  • 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.

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

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

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

  • 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.

  • Savara (JBoss Tools only) - A tool for ensuring artifacts defined at different stages of the software development lifecycle are valid against each other, and remain valid through the evolution of the system.

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

  • 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.

All of these components have been verified to work with the same dependencies as JBoss Tools 4.1 and Developer Studio 7, so installation is easy.

Installation

To install the Integration Stack tools, first install JBoss Developer Studio from the all-in-one installer, bundled and configured out of the box with everything you need to get started. Alternatively, if you already have eclipse-jee-kepler installed, you can install JBoss Developer Studio or JBoss Tools from the Eclipse Marketplace via Help > Eclipse Marketplace…​

jbtis b1

Once Developer Studio is installed, restart Eclipse and select the Software/Update tab in the JBoss Central view and look for the JBoss Developer Studio Integration Stack installation section. Select the items you’d like to install:

jbtis b2

If you want to try out Savara you will need to use the JBoss Tools Integration Stack URL instead:

Note: If you installed into your own Eclipse you should bump up the launch resource parameters:

--launcher.XXMaxPermSize 256m --launcher.appendVmargs -vmargs -Dosgi.requiredJavaVersion=1.6 -XX:MaxPermSize=256m -Xms512m -Xmx1024m

What’s New?

Fuse Apache Camel Tooling has gone .Final

The previous release of the JBoss Developer Studio Integration Stack had a candidate release of Fuse Apache Camel Tooling. The support is now complete and ready to run with the Fuse Active MQ 6.1 release.

Updated Components

Fix release versions of BPMN2 Modeler, SwitchYard and Teiid Designer are also available in this release.

The new JBoss Tools home is live

Don’t miss the new Features tab for up to date information on your favorite Integration Stack component: /features

We have been working for a while on doing a refresh of our website, and today we are happy to announce tools.jboss.org.

Goals

We had a few goals for the website:

  1. Make it simple and clear how to download the plugins

  2. Explain what features are in the tools

  3. Include New and noteworthy

  4. Make it easier to update/fix the content

and I think we reached all of them.

Make it simple and clear how to download the plugins

Our old download page had grown organically over the last 7 years and, despite all good intentions, we had ended up with a download page with way too many options presented by default. With the new site, we went for simplicity first, and so the Downloads page now simply presents you with two options: Download either latest stable JBoss Tools or Developer Studio.

newsite downloads

If you want other versions, combinations, add-ons etc. you can follow the Overview link which will give all the dirty details.

Explain what features are in the tools

For this we created the Features page. This page gives an overview over all of the various projects and technologies we support and if you click on the images you get more information about each feature.

newsite features

Try it out - you might be surprised how much we actually do.

Include New and noteworthy

For every release/milestone, we get the JBoss Tools team to write up what is New and noteworthy for their components. We use that when doing blogs and sharing with the whole community what changes are coming up. In the past, that was a very tedious process of getting multiple people to submit changes to a bunch of html files that then needed to be manually cleaned up and published. It was a chore, and it took longer and longer as we added or updated more and more features.

That is now a story of the past - in the new site, component developers just add a single document for their release and the magic of publishing the site does all the right wiring. Removing all the chore and reducing the actual lines of code needed substantially. Asciidoc for the win.

newsite whatsnew

You can go look at what is new and improved over at What is new - it currently gives you a sneak preview of upcoming JBoss Tools 4.2.0 Beta1.

Make it easier to update/fix the content

The old website was "hidden" behind a magnolia CMS system. It has served us well and it does what it is supposed to do. In the age of github and pull-requests though it was more a burden than a help. The new system uses a simple github repo which uses Awestruct to render the page automatically via Travis when we push to certain branches.

The content is primarily Asciidoc making it so the content is very compact - no additional boiler plate markup to worry about and best of all, you do not need to even run awestruct locally to get an idea of the rendering. Github’s rendering of asciidoc is close enough to make it trivial for anyone with a github account to help do fixes to this site.

If you find some errors (we left some in for you to find) just open a PR on https://github.com/jbosstools/jbosstools-website :)

Thanks

The design and launch of this website have been long under way - we started 1+ year ago but we are finally here :)

The primary person to thank for this is Xavier Coulon who helped on the initial design of the site and then fought, battled and sometimes cried over having to implement and play with Ruby and Haml. But he persevered and today we are here with his great help!

But he and I were not alone in this; we got help from a bunch of other people to write and update content, give feedback, find bugs and help setup the infrastructure. Here they are in random importance, but ordered alphabetically:

  • Alexey Kazakov - for contributing to Features

  • Andre Dietisheim - for contributing to Features

  • Aslak Knutsen - for inspiration and help with Awestruct

  • Barry LaFond - for contributing to Features

  • Bob Brodt - for contributing to Features

  • Bob McWhirter - for reacting at weird hours on #awestruct and for not caring how his name is spelled

  • Brian Fitzpatrick - for contributing to Features

  • Cheyenne Weaver - for design help

  • Dan Allen - for help with asciidoc and especially for including the video support we made

  • Daniel Florian - for contributing to Features

  • Fred Bricon - for contributing to Features

  • Gorkem Ercan - for contributing to Features

  • Ilya Buziuk - for contributing to Features

  • James Cobb - for design help and bugfixing

  • Jason Porter - for awestruct fixes and especially finding that nasty performance bug we had made

  • Koen Aers - for contributing to Features

  • Kris Verlaenen - for contributing to Features

  • Lars Heinemann - for contributing to Features

  • Mark Newton - for enabling the infrastructure

  • Michelle Murray - for bugfixes!

  • Nick Boldt - for helping setup downloads and bugfixing!

  • Paul Leacu - for contributing to Features

  • Pete Muir - for review!

  • Rob Cernich - for contributing to Features

  • Rob Stryker - for contributing to Features

  • Rysiek Kozmik - for help with jboss.org theme

  • Snjezana Peco - for contributing to Features

  • Vineet Reynolds - for contributing to Features

  • Vladimir Vasilev - for setting up redirects to ensure we didn’t break the internet!

In case I missed someone - let me know or submit a PR on https://github.com/jbosstools/jbosstools-website

I hope you like it and please leave a comment below to test the new commenting system too :)

Have fun!

Max Rydahl Andersen
@maxandersen

JBoss Tools 4.12.0.AM1 for Eclipse 2019-06

by Jeff Maury on Jun 12, 2019.

Integration Tooling for Eclipse 2019-03

by Paul Leacu on May 30, 2019.

Quarkus

by Jeff Maury on May 13, 2019.

Looking for older posts ? See the Archived entries.
back to top