nebula-plugins / nebula-plugins/nebula-release-plugin

Configuration Cache not working

Open
#255 1 comment 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Groovy
Stars
236
Forks
60
Avg merge
10m
Merged PRs (30d)
4

Description

Hello,

We are having a springboot application that we want to use with nebula. When running the build task with configuration-cache activated, we get the following report:

⌄⚠️cannot serialize object of type org.gradle.api.internal.project.DefaultProject📋, a subtype of org.gradle.api.Project📋, as these are not supported with the configuration cache.[ ?](https://docs.gradle.org/8.5/userguide/configuration_cache.html#config_cache:requirements:disallowed_types) ⌄fieldproject📋 of nebula.plugin.release.OverrideStrategies$GradlePropertyStrategy📋 ⌄bean of type nebula.plugin.release.OverrideStrategies$GradlePropertyStrategy📋 ⌄fieldversionStrategies📋 of nebula.plugin.release.git.base.ReleasePluginExtension📋 ⌄bean of type nebula.plugin.release.git.base.ReleasePluginExtension📋 ⌄fieldthis$0📋 of nebula.plugin.release.git.base.ReleasePluginExtension$DelayedVersion📋 ⌄bean of type nebula.plugin.release.git.base.ReleasePluginExtension$DelayedVersion📋 ⌄fieldprojectVersion📋 of org.springframework.boot.gradle.tasks.bundling.BootJar📋 ■task:app:bootJar📋 of type org.springframework.boot.gradle.tasks.bundling.BootJar📋 ⌄fieldproject📋 of nebula.plugin.release.OverrideStrategies$ReleaseLastTagStrategy📋 ⌄bean of type nebula.plugin.release.OverrideStrategies$ReleaseLastTagStrategy📋 ⌄fieldversionStrategies📋 of nebula.plugin.release.git.base.ReleasePluginExtension📋 ⌄bean of type nebula.plugin.release.git.base.ReleasePluginExtension📋 ⌄fieldthis$0📋 of nebula.plugin.release.git.base.ReleasePluginExtension$DelayedVersion📋 ⌄bean of type nebula.plugin.release.git.base.ReleasePluginExtension$DelayedVersion📋 ⌄fieldprojectVersion📋 of org.springframework.boot.gradle.tasks.bundling.BootJar📋 ■task:app:bootJar📋 of type org.springframework.boot.gradle.tasks.bundling.BootJar📋 ⌄fieldproject📋 of nebula.plugin.release.git.base.ReleasePluginExtension📋 ⌄bean of type nebula.plugin.release.git.base.ReleasePluginExtension📋 ⌄fieldthis$0📋 of nebula.plugin.release.git.base.ReleasePluginExtension$DelayedVersion📋 ⌄bean of type nebula.plugin.release.git.base.ReleasePluginExtension$DelayedVersion📋 ⌄fieldprojectVersion📋 of org.springframework.boot.gradle.tasks.bundling.BootJar📋 ■task:app:bootJar📋 of type org.springframework.boot.gradle.tasks.bundling.BootJar📋 ⌄fieldvalue📋 of groovy.lang.Reference📋 ⌄bean of type groovy.lang.Reference📋 ⌄fieldproject📋 of nebula.plugin.release.NetflixOssStrategies$_developmentMetadataStrategy_closure3📋 ⌄bean of type nebula.plugin.release.NetflixOssStrategies$_developmentMetadataStrategy_closure3📋 ⌄fielddelegate📋 of org.codehaus.groovy.runtime.ConvertedClosure📋 ⌄bean of type org.codehaus.groovy.runtime.ConvertedClosure📋 ⌄fieldbuildMetadataStrategy📋 of nebula.plugin.release.git.semver.SemVerStrategy📋 ⌄bean of type nebula.plugin.release.git.semver.SemVerStrategy📋 ⌄fielddefaultVersionStrategy📋 of nebula.plugin.release.git.base.ReleasePluginExtension📋 ⌄bean of type nebula.plugin.release.git.base.ReleasePluginExtension📋 ⌄fieldthis$0📋 of nebula.plugin.release.git.base.ReleasePluginExtension$DelayedVersion📋 ⌄bean of type nebula.plugin.release.git.base.ReleasePluginExtension$DelayedVersion📋 ⌄fieldprojectVersion📋 of org.springframework.boot.gradle.tasks.bundling.BootJar📋 ■task:app:bootJar📋 of type org.springframework.boot.gradle.tasks.bundling.BootJar📋 ⌄fieldversionStrategies📋 of nebula.plugin.release.git.base.ReleasePluginExtension📋 ⌄bean of type nebula.plugin.release.git.base.ReleasePluginExtension📋 ⌄fieldthis$0📋 of nebula.plugin.release.git.base.ReleasePluginExtension$DelayedVersion📋 ⌄bean of type nebula.plugin.release.git.base.ReleasePluginExtension$DelayedVersion📋 ⌄fieldprojectVersion📋 of org.springframework.boot.gradle.tasks.bundling.BootJar📋 ■task:app:bootJar📋 of type org.springframework.boot.gradle.tasks.bundling.BootJar📋

We are using the following versions:

Nebula release: 18.0.4 (also same issue with 19.0.4)
Spring-Boot: 3.2.2

When we don't apply the nebula plugin, the configuration cache build works.

Thank you in advance

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the configuration-cache report and the nebula.plugin.release classes it names, especially ReleasePluginExtension, DelayedVersion, OverrideStrategies, NetflixOssStrategies, and SemVerStrategy. Reproduce the issue with the reported Nebula release and Spring Boot versions using configuration cache and the bootJar task; done means the build no longer serializes org.gradle.api.Project through those objects.

Written by the indexing model from the issue text.

Assessment

Tech stack
groovy, spring-boot
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.