Skip to content

Support -incremental builds using Native Image Layers feature #778

@cstancu

Description

@cstancu

The Native Image Layers feature allows packaging an application and its dependencies in separate binaries. The base layer contains common used modules such as java.base and can be configured to also include application framework code such as the Netty framework. The application code usually goes in the application layer. When changing application classes, assuming that dependencies haven't changed, only the application layer needs to be rebuilt and it is not necessary to rebuild the base layer. The incremental build of the application can speed-up development.

Currently this incremental build is done manually: the user needs to execute just the application build when they know that the dependencies have not changed. It also requires a custom layered build configuration to specify what should be considered as being part of the base layer.

The feature request is to add an -incremental flag that would automate this behavior. The NBT should determine what goes in the base layer by analyzing the 3rd party dependencies, then it should automatically build a base layer in the background, and only build an application layer on subsequent build requests.

This builds on top of #719 which created a Gradle DSL to support layered images creation.

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions