Skip to content

Remove unused Spring Boot plugin from kafkaschemaregistry - #11406

Merged
gh-worker-dd-mergequeue-cf854d[bot] merged 5 commits into
masterfrom
bdu/smoke-test-pattern-b-kafkaschemaregistry
May 21, 2026
Merged

Remove unused Spring Boot plugin from kafkaschemaregistry#11406
gh-worker-dd-mergequeue-cf854d[bot] merged 5 commits into
masterfrom
bdu/smoke-test-pattern-b-kafkaschemaregistry

Conversation

@bric3

Copy link
Copy Markdown
Contributor

What Does This Do

Removes id 'org.springframework.boot' (version 2.6.3) and the matching apply from: "$rootDir/gradle/spring-boot-plugin.gradle" line from dd-smoke-tests/datastreams/kafkaschemaregistry/build.gradle. The module's actual artifact is a shadowJar; the Spring Boot plugin was applied but never used.

Motivation

The Spring Boot Gradle plugin pre-3.5.0 calls Configuration.getUploadTaskName(), removed in Gradle 9. This module is one of the smoke tests blocking the root Gradle 9 migration. Since the plugin is unused, removing it eliminates the blocker with no behavioural change — shadowJar still produces the same artifact.

Additional Notes

  • Mirrors PR #11379 "Pattern D" (one-module plugin removal).
  • Stacked on #11405 (smoke-test plugin infrastructure) so the merge target is the infrastructure branch. The actual change here is a 2-line plugin removal that doesn't use the new plugin — it's stacked only because the patterns are reviewed as a series.

Contributor Checklist

🤖 Generated with Claude Code

Adds a new included build `build-logic/` hosting a single subproject
`smoke-test` that exposes the `dd-trace-java.smoke-test-app` plugin.
The plugin contributes:
- `NestedGradleBuild` task type that runs a nested Gradle build via the
Gradle Tooling API. It pins the nested Gradle version (no committed
per-application wrappers), uses the configured Java toolchain for the
nested daemon, forwards artifact paths from the root build as
`-P<name>=<path>`, and redirects the nested `buildDir` via
`-PappBuildDir=<path>` so outputs land under the outer project's build
directory.
- `smokeTestApp` project extension with an `application { ... }` block
that registers the `NestedGradleBuild` task, wires it into every `Test`
task via `dependsOn` + a `jvmArgumentProvider` for the produced
artifact's system property. Consumers can also register
`NestedGradleBuild` directly when they need more control; the plugin
is a no-op until `application` or a manual registration is done.
- `projectJar(name, project)` helper that forwards a sibling project's
jar to the nested build through a resolvable `Configuration` (avoids
`evaluationDependsOn` and the cross-project access ordering issues).
The plugin is verified with JUnit 5 unit tests (`ProjectBuilder`) and
end-to-end tests that drive the Tooling API path through the Gradle Test
Kit with a temporary Kotlin-DSL test project.
`build-logic/settings.gradle.kts` references the existing
`gradle/libs.versions.toml` catalog (mirroring `buildSrc/`) so the
plugin can use the same library coordinates as the rest of the repo.
The Gradle libs Maven repository (`https://repo.gradle.org/gradle/libs-releases`,
scoped to `org.gradle:`) is added to the root build's `pluginManagement`
and to `gradle/repositories.gradle` so the Tooling API jar resolves.
Smoke-test modules with Spring Boot plugin versions incompatible with
Gradle 9 will use this plugin in follow-up PRs instead of a committed
Gradle 8 wrapper.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@bric3bric3 added type: feature Enhancements and improvements tag: no release notes Changes to exclude from release notes comp: tooling Build & Tooling tag: ai generated Largely based on code generated by an AI or LLM labels May 18, 2026
@bric3
bric3 requested a review from sarahchen6May 18, 2026 17:10
@bric3
bric3 marked this pull request as ready for review May 19, 2026 08:32
@bric3
bric3 requested a review from a team as a code ownerMay 19, 2026 08:32
@bric3
bric3 changed the base branch from bdu/smoke-test-plugin-infrastructure to masterMay 19, 2026 08:33
@bric3
bric3 requested a review from a team as a code ownerMay 19, 2026 08:33
@bric3
bric3 requested a review from ygreeMay 19, 2026 08:33
@bric3
bric3 changed the base branch from master to bdu/smoke-test-plugin-infrastructureMay 19, 2026 08:39
@bric3bric3 changed the title chore(smoke-tests): remove unused Spring Boot plugin from kafkaschemaregistryRemove unused Spring Boot plugin from kafkaschemaregistryMay 19, 2026
…14.5
Set conventions on `smokeTestApp`:
- `gradleVersion` defaults to `"8.14.5"` (Gradle 8 last release; pinned because
Spring Boot plugin pre-3.5 calls `Configuration.getUploadTaskName()`, removed
in Gradle 9).
- `javaLauncher` defaults to a JDK 21 toolchain (the version the root build
requires for its own Gradle 9 migration; standardising the nested daemon on
the same JDK avoids requiring an extra toolchain on dev machines and CI
runners).
Consumers that need a different JDK or Gradle version still override
explicitly. The inner build script is responsible for pinning the produced
bytecode level (`java { sourceCompatibility = JavaVersion.VERSION_1_8 }` or
similar) — Gradle adds `--release N` automatically when source/target differs
from the daemon JVM.
`JavaToolchainService` is now injected into the extension; this works in any
project where a `java*` (or related) plugin is applied. Smoke-test modules
already apply `gradle/java.gradle`, which applies `java`, so the convention
resolves on first read.
Public defaults exposed as `DEFAULT_NESTED_GRADLE_VERSION` and
`DEFAULT_NESTED_JAVA_VERSION` constants so the values are discoverable.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@bric3
bric3force-pushed the bdu/smoke-test-pattern-b-kafkaschemaregistry branch from e55336a to e156ee4CompareMay 19, 2026 14:11
@datadog-prod-us1-3

This comment has been minimized.

bric3and others added 2 commits May 19, 2026 18:59
…ugin
Switch the plugin sources and unit tests over to the typed
`org.gradle.kotlin.dsl` extension functions where they replace
`::class.java` boilerplate:
- `tasks.register(name, Type::class.java) { … }` → `tasks.register<Type>(name) { … }`
- `tasks.withType(Type::class.java).configureEach { … }` → `tasks.withType<Type>().configureEach { … }`
- `extensions.create("name", Type::class.java)` → `extensions.create<Type>("name")`
- `extensions.getByType(Type::class.java)` → `extensions.getByType<Type>()`
- `extensions.findByName("name")` (followed by `isInstanceOf`) → `extensions.findByType<Type>()`
- `project.plugins.apply(Plugin::class.java)` → `project.apply<Plugin>()` (PluginAware)
- `objects.newInstance(Type::class.java)` → `objects.newInstance<Type>()`
Also drop the six `captured*` local variables in `SmokeTestAppExtension.application` —
inside `tasks.register<NestedGradleBuild>(taskName) { … }` the outer extension's
properties are now reached via `this@SmokeTestAppExtension.<prop>` directly.
No behavioural change; the 9 plugin tests still pass.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…registry
The Spring Boot Gradle plugin was applied but the module never produced a
bootJar/bootWar — it ships a shadow jar instead. Removing the plugin
eliminates a Gradle-9 blocker (the plugin's pre-3.5.0 versions call
`Configuration.getUploadTaskName()`, removed in Gradle 9) with no
behavioural change.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@bric3
bric3force-pushed the bdu/smoke-test-pattern-b-kafkaschemaregistry branch from e156ee4 to d620337CompareMay 19, 2026 17:00
Base automatically changed from bdu/smoke-test-plugin-infrastructure to masterMay 19, 2026 20:47
@gh-worker-ownership-write-b05516
gh-worker-ownership-write-b05516Bot removed the request for review from a teamMay 19, 2026 23:47
@bric3
bric3 added this pull request to the merge queueMay 20, 2026
@dd-octo-sts

Copy link
Copy Markdown
Contributor

/merge

@gh-worker-devflow-routing-ef8351

gh-worker-devflow-routing-ef8351Bot commented May 20, 2026

Copy link
Copy Markdown

View all feedbacks in Devflow UI.

2026-05-20 07:06:16 UTC ℹ️ Start processing command /merge


2026-05-20 07:06:20 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in master is approximately 1h (p90).


2026-05-20 09:06:45 UTC 🚨 MergeQueue: This merge request is in error

error while getting head build completion result

Details

Error: There was an error while retrieving the result for pipeline 114148778

FullStacktrace:
child workflow execution error (type: mergequeue_private.MergeQueue_WaitForChecksOrUntilIsFinal, workflowID: 019e4434-eec0-709d-bb73-9fb392e39358_74, runID: 019e4435-52f3-7d60-a1a5-c4e0dec1c8da, initiatedEventID: 74, startedEventID: 75): child workflow execution error (type: mergequeue.MergeQueue_WaitForCompletionOfRef, workflowID: 019e4435-52f3-7d60-a1a5-c4e0dec1c8da_8, runID: 019e4435-532b-7178-8382-c66240f1aea4, initiatedEventID: 8, startedEventID: 10): There was an error while retrieving the result for pipeline 114148778 (type: FlowError, retryable: false): There was an error while retrieving the result for pipeline 114148778

@github-merge-queue
github-merge-queueBot removed this pull request from the merge queue due to failed status checks May 20, 2026
@bric3

Copy link
Copy Markdown
ContributorAuthor

/merge

@gh-worker-devflow-routing-ef8351

gh-worker-devflow-routing-ef8351Bot commented May 21, 2026

Copy link
Copy Markdown

View all feedbacks in Devflow UI.

2026-05-21 07:56:43 UTC ℹ️ Start processing command /merge


2026-05-21 07:56:47 UTC ℹ️ MergeQueue: pull request added to the queue

The expected merge time in master is approximately 1h (p90).


2026-05-21 09:11:13 UTC ℹ️ MergeQueue: This merge request was merged

@gh-worker-dd-mergequeue-cf854d
gh-worker-dd-mergequeue-cf854dBot merged commit 85fb033 into masterMay 21, 2026
953 of 966 checks passed
@gh-worker-dd-mergequeue-cf854d
gh-worker-dd-mergequeue-cf854dBot deleted the bdu/smoke-test-pattern-b-kafkaschemaregistry branch May 21, 2026 09:11
@github-actionsgithub-actionsBot added this to the 1.63.0 milestone May 21, 2026
This was referenced May 21, 2026
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp: toolingBuild & Toolingtag: ai generatedLargely based on code generated by an AI or LLMtag: no release notesChanges to exclude from release notestype: featureEnhancements and improvements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@bric3@sarahchen6@AlexeyKuznetsov-DD