Author Archives: hedleyproctor

Improving Java build speed with Develocity

We have recently started using the Develocity tool for our builds. I really love it. It is a build acceleration tool made by the company who create Gradle. It was previously called Gradle Enterprise, but has been renamed to make … Continue reading

Posted in Gradle, Java | Leave a comment

CXF Restful web server example

I’ve created an example of how to use Apache CXF and Spring together to create a restful web service: https://github.com/hedleyproctor/cxf-restful-server-example This example shows the key steps in creating a restful web server: Create a rest service interface class which you … Continue reading

Posted in CXF, Java | Tagged , | Leave a comment

IntelliJ Plugin Development Cookbook

This post is intended to help people writing IntelliJ plugins, with a focus on plugins for Java projects. Although the IntelliJ docs are pretty good, this post collects together lots of small “how to” instructions that I’ve found useful when … Continue reading

Posted in IntelliJ, Java, Uncategorized | Tagged , | Leave a comment

Gradle dependencies tutorial

Gradle has very powerful dependency management features. In this tutorial I will walk through creating a multi module Java project, and explain: How the api and implementation dependencies work How to create a custom dependency resolution strategy to: Hard fail … Continue reading

Posted in Gradle, Java | Tagged , | Leave a comment

Gradle – working with files

When working with files in Gradle, the key classes are: FileCollection FileTree – which extends FileCollection Getting a FileCollection You can get a file collection by using the files() method which is always available (from the Project object). FileCollection myFiles … Continue reading

Posted in Gradle, Java | Tagged , | Leave a comment

Debugging Gradle

If you are new to any tool or technology, knowing how to debug when things go wrong is a really important skill. This post gives some beginner tips on how to debug Gradle builds. Note: In the commands below, I’m … Continue reading

Posted in Gradle, Java | Tagged , | Leave a comment

Error handling in Apache Camel

Scenarios When coding an integration with Apache Camel, we need to be able to deal with many different kinds of error: Bug / error in our own code, before we have communicated with the remote service. Getting a connection to … Continue reading

Posted in Camel, Java | Tagged , | Leave a comment

Gradle incremental tasks and builds

One of the things that makes a build efficient is when it can run incrementally. i.e. If you have already run one build, and you change things and run another, the second build should only have to rerun some tasks … Continue reading

Posted in Gradle, Java | Tagged | Leave a comment

Gradle Release Plugin

Gradle has a release plugin that mimics the Maven release plugin behaviour. i.e. you specify a snapshot version in your build and the plugin can update the version to a released version, commit and push that. The plugin is not … Continue reading

Posted in Gradle, Java | Tagged , | Leave a comment

Dependencies and Configurations in Gradle

What is a Gradle configuration? In Maven dependencies can be assigned to a given scope: compile – available on all classpaths and propagated to dependent projects provided – will be provided by your container runtime test Gradle has a much … Continue reading

Posted in Gradle, Java | Tagged , | Leave a comment