Andy Clement

Andy Clement

AspectJ Project Lead | Vancouver, Canada

Andy Clement leads the Eclipse tools team at Pivotal from his office in Vancouver. The team is responsible for delivering all our eclipse based technology including the Spring Tool Suite and Groovy Grails Tool Suite distributions as well as our eclipse plugins for Cloud Foundry and Gradle. Andy has a background in languages and compilers and is the current project lead for the AspectJ project. In addition to AspectJ releases, across the Pivotal product suite he developed the Spring Expression Language for Spring Framework, the bytecode reloading engine for Grails and is currently actively involved in developing the Java 8 support in the Eclipse compiler and designing the DSL being used by Spring XD for stream definitions.

Blog posts by Andy Clement

The latest on Azure Active Directory integration

Engineering | January 13, 2021 | ...

Whether you are building a web API, mobile front end or a good-old fashioned desktop application, identity and access management will always be foundational pieces that are front and center in writing software. Azure offers a great platform to democratize your application development journey, as it not only offers a cloud-base identity service, but also deep integration with the rest of the Azure ecosystem. Spring Security has made it easy to secure your Spring based applications with powerful abstractions and extensible interfaces. However as powerful as the Spring framework can be, it is not…

Spring Data Azure Cosmos DB V3 – Generally Available

Engineering | October 05, 2020 | ...

The Spring on Azure team, in partnership with the Azure Cosmos DB team, are proud to have just made the Spring Data Azure Cosmos DB v3 generally available. This is the latest version of Azure Cosmos DB’s SQL API Spring Data connector.

Azure Cosmos is a highly-available globally-distributed multi-model database with competitive performance SLAs. With Spring Data Azure Cosmos DB, developers may use Spring Data natively on top of the Azure Cosmos DB SQL API to manipulate documents and issue custom or derived queries.

With the launch of the v3 connector, and its deep integration with Spring on…

Introduction to Azure Spring Cloud with IntelliJ IDEA

Engineering | May 13, 2020 | ...

Azure Spring Cloud is a new Platform as a Service offering for Microservices apps. It is a fully managed service jointly built, operated, and supported by VMware and Microsoft to simplify spring boot based microservices development and management. In this blog, we will walk through how you can accelerate your development with Azure Spring Cloud and IntelliJ IDEA.


You will need a few things prepared before following the upcoming sections:

Spring GraalVM Native 0.6.0 released

Engineering | April 09, 2020 | ...

The Spring team have just released version 0.6.0 of the spring-graalvm-native project. This project is intended to make it easier for anyone trying to build GraalVM native images of their Spring applications.

For a deep dive on native images with Spring, please see the Devoxx talk by Sébastien Deleuze.

In this blog post we’ll talk about what has changed since then and point you to some key resources enabling you to try it out! This project is in the spring-projects-experimental github org, indicating it is a work in progress, but we have a number of sample applications showing the kinds of…

Scripted 0.4 released

Engineering | March 05, 2013 | ...

This week we've released version 0.4 of our JavaScript focused code editor. You can read about the background of Scripted here.

The full release notes for 0.4 are here but in this article I'll call out a few of the more interesting changes.


Scripted uses an inferencing engine to build an understanding of your JavaScript code. Scripted 0.3 provided some basic tooltips showing inferred information about function calls. In Scripted 0.4 this has been taken further - not only better formatting but also any jsdoc discovered is now included in the tooltips. Here you can see the tooltip that will appear when you hover over the function call:



Template support has been enhanced and you can now replace selections with text expansions that embed the original selection. In the first picture we have selected a function call and pressed Ctrl/Cmd+Space:

And on selecting the first template completion the editor contents become:



This version of Scripted includes a basic plugin mechanism. It is possible to write just a single .js file, drop it into the right place, and it will extend the behaviour of Scripted. The plugin API is definitely a work-in-progress but you can already achieve some useful functionality. For example we have on-save source transformer plugins that perform operations like removing white space and adding copyright messages. There is more information on the plugin system in the release notes and here in the wiki. Basically plugin development involves writing an AMD module, 'require'ing the API pieces and you are good to go.

One of the key use cases we had in mind was enabling you to write a plugin that contributed new annotations to the editor (that appear in the left hand ruler and allow styling of the editor text) . Here is a very simple plugin. This simply locates the names of fruits in your code and adds annotations for them. Perhaps not the most useful plugin but it should show what the key parts of a plugin are…

Scripted Editor 0.3 release available

Engineering | January 08, 2013 | ...

In October the first public version of the Scripted code editor was made available, a browser based editor using a Node.js local server, with a focus on providing a great JavaScript editing experience. Today the first update is available, version 0.3.

A full set of Release Notes about the latest features is available here. Here are some of the highlights:


NPM Installable

Scripted can now be installed simply using the Node Package Manager (npm) on either Windows, Linux or Mac:

npm install -g scripted

(might need a 'sudo' prefix on mac/linux). Once installed the 'scr' command can immediately be used to launch Scripted. As part of…

Scripted: A JavaScript editor from VMware

Engineering | October 11, 2012 | ...

The first version of the Scripted code editor has been released this week on github:

Although Scripted is a general purpose code editor, the initial focus is building a great JavaScript editing experience. Scripted itself is built entirely in JavaScript and HTML/CSS. It is a browser-based editor that runs locally on a developer's machine with a Node.js instance being used to serve the editor code and perform the editor operations. The only pre-req for running Scripted is that you have a recent version of Node.js installed (we are testing with Node 0.8.11 right now). Scripted reuses the editor component from Eclipse Orion

Grails tooling improvements in SpringSource Tool Suite 2.3.3 M2

Engineering | July 19, 2010 | ...

The recently released STS 2.3.3 M2 introduced a series of enhancements to our Grails support for Eclipse. In this article I'll be discussing what you can expect to find if you try it out (grab it here: SpringSource Tool Suite).


The grails tools actually build on and extend the Groovy-Eclipse support, which is developed by the same team at SpringSource. Earlier this year the Groovy-Eclipse tools won 'Best Open Source Developer Productivity Tool' at Eclipse-Con 2010. You can read more about the latest enhancements in the recent Groovy-Eclipse 2.0.2 release here: New and Noteworthy. I'm not going to focus on Groovy-Eclipse here, but some highlights from that release were:
  • refactoring support: now supporting extract method, extract constant, extract local variable
  • improvements in code formatting and indentation
Now, onto Grails!

Getting a new perspective

There is now a new Grails perspective to better organize the views and widgets we have been adding to STS. You can open the perspective in the normal way (Window>OpenPerspective>Grails). In the new perspective the first thing to notice is that the Eclipse project explorer is open, rather than the package explorer. The project explorer is using a custom content provider that shows a view of a grails project that should be more familiar to a grails developer:
Grails Perspective
New labels and icons are in place for the groups of similar entities: domain objects, controllers, views, etc. However the biggest change is the new plugins folder. Previously when working with a grails project the plugin dependencies were tricky to see in the UI, being hidden in the classpath container and via some Eclipse linked source folder entries. Now in the project explorer it is much more obvious what the application dependencies are.

Also, related to plugins, we have a new Grails Plugin Project wizard. This is very similar to the Grails Project Wizard, but instead of running create-app, it will cause the create-plugin command to run. With this new wizard and the new support we have for local (inplace) plugins, it is much easier to develop your application following a plugin oriented architecture…

A Groovier Eclipse experience

Engineering | July 30, 2009 | ...

Update: 15-Aug-09: Comments are now closed.  If you want help installing or to give feedback or ask questions, please join the mailing list ( archive )

For the last couple of months SpringSource has been actively involved in developing the next version of the Eclipse Groovy Tools.  The initial goal has been to evolve them from where they are into a highly optimized environment for the key developer tasks of code development, building and testing. Ideally the experience when working with mixed Groovy/Java projects should feel as good as it does for pure Java projects in Eclipse.

This week the first version of the code has been committed into the codehaus repository and shortly milestone 1 will be released.  An update site (for Eclipse 3.4.2) is available that contains the current development build: .  Yes, currently there is no Eclipse 3.5 build of this code yet, but there will be very soon.  (Update! 31-Jul-09 Eclipse 3.5 update site now available at:

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all