### Motivation
- `plugin.yml` uses placeholders like `api-version: '${apiVersion}'` which are expanded by the `processResources` task.
- `shadowJar` was sourcing `sourceSets.main.get().resources`, which can bypass the processed/expanded outputs.
- As a result the expanded `apiVersion` value from `build.gradle.kts` was not ending up in the final shadow jar.
- The change ensures the jar contains the processed resources with expanded properties.
### Description
- Modified `build.gradle.kts` to update `tasks.shadowJar` to use `from(tasks.processResources)` instead of `from(sourceSets.main.get().resources)`.
- This causes the outputs of `processResources` (including `filesMatching("plugin.yml") { expand(props) }`) to be bundled into the shadow jar.
- Only the resource source for `shadowJar` was changed; no other logic was modified.
### Testing
- No automated tests were executed as part of this rollout.
------
[Codex Task](https://chatgpt.com/codex/tasks/task_e_6959132d3738832f87e1d26deab1c70f)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Motivation
plugin.ymluses placeholders likeapi-version: '${apiVersion}'which are expanded by theprocessResourcestask.shadowJarwas sourcingsourceSets.main.get().resources, which can bypass the processed/expanded outputs.apiVersionvalue frombuild.gradle.ktswas not ending up in the final shadow jar.Description
build.gradle.ktsto updatetasks.shadowJarto usefrom(tasks.processResources)instead offrom(sourceSets.main.get().resources).processResources(includingfilesMatching("plugin.yml") { expand(props) }) to be bundled into the shadow jar.shadowJarwas changed; no other logic was modified.Testing
Codex Task