page banner bg

LabKey Migration to Gradle Build System

With each new project, the LabKey Server code base grows and evolves to support the changing needs of our scientific partners. This evolution has led to many important enhancements that are helping teams tackle challenging research questions but also increase the complexity of the framework. To support the dependencies associated with our growing code base, LabKey is making the transition from using the Ant build system to using Gradle.

Why Gradle?

Gradle dependency management capabilities, including handling of transitive dependencies, publishing of artifacts and retrieval of dependencies, help reduce the amount of cumbersome  manual curation that is required during the build process.

In addition, the Gradle build system allows more modules to be built in smaller increments, reducing the time spent building by any one developer. Gradle also provides better up-to-date checks, by providing hooks into the file system and allowing developers to code them themselves to be more accurate.

Transition Timeline

LabKey will be officially making the transition from Ant to the Gradle as part of the 17.2 release, scheduled for July 2017. At that time, developers who build LabKey Server from source will no longer be able to use the Ant build targets.

Early Adopters

For those who would like to get a head start making that transition, Gradle has been introduced into the code base as part of LabKey Server v17.1. This release is intended for early adopters only and may not be stable; LabKey plug-ins to support Gradle are still under development, not all tasks have been converted, and the LabKey team is still working on improving performance. Full documentation about the Gradle migration is still in progress, but developers can get the latest revision on the LabKey Support portal.