Prevent spaces in the plugin shaded JAR filename so downstream tools and uploads don't break due to a space in the artifact name.
Ensure the root project copies the actual shaded artifact produced by the plugin subproject instead of relying on a hardcoded file path.
Description
Set the plugin shadow task archive name to EternalCombat-${project.version}.jar by updating tasks.shadowJar.archiveFileName in eternalcombat-plugin/build.gradle.kts.
Add val pluginShadowJar = project(":eternalcombat-plugin").tasks.named("shadowJar") in the root build.gradle.kts and change the pluginJarCopy task to dependsOn(pluginShadowJar) and from(pluginShadowJar) so it copies the actual task output into build/libs/.
Remove the previous hardcoded from(layout.projectDirectory.file("eternalcombat-plugin/build/libs/EternalCombat v${project.version}.jar")) path and the rename step so the output filename matches the shadowed jar.
Testing
Ran ./gradlew assemble which failed in this environment because no Java 17 toolchain is available, so the build could not complete (toolchain auto-provisioning not configured).
### Motivation
- Prevent spaces in the plugin shaded JAR filename so downstream tools and uploads don't break due to a space in the artifact name.
- Ensure the root project copies the actual shaded artifact produced by the plugin subproject instead of relying on a hardcoded file path.
### Description
- Set the plugin shadow task archive name to `EternalCombat-${project.version}.jar` by updating `tasks.shadowJar.archiveFileName` in `eternalcombat-plugin/build.gradle.kts`.
- Add `val pluginShadowJar = project(":eternalcombat-plugin").tasks.named("shadowJar")` in the root `build.gradle.kts` and change the `pluginJar` `Copy` task to `dependsOn(pluginShadowJar)` and `from(pluginShadowJar)` so it copies the actual task output into `build/libs/`.
- Remove the previous hardcoded `from(layout.projectDirectory.file("eternalcombat-plugin/build/libs/EternalCombat v${project.version}.jar"))` path and the `rename` step so the output filename matches the shadowed jar.
### Testing
- Ran `./gradlew assemble` which failed in this environment because no Java 17 toolchain is available, so the build could not complete (toolchain auto-provisioning not configured).
------
[Codex Task](https://chatgpt.com/codex/tasks/task_e_69c11c4ef168832f81cf1d8a44795dd9)
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
Description
EternalCombat-${project.version}.jarby updatingtasks.shadowJar.archiveFileNameineternalcombat-plugin/build.gradle.kts.val pluginShadowJar = project(":eternalcombat-plugin").tasks.named("shadowJar")in the rootbuild.gradle.ktsand change thepluginJarCopytask todependsOn(pluginShadowJar)andfrom(pluginShadowJar)so it copies the actual task output intobuild/libs/.from(layout.projectDirectory.file("eternalcombat-plugin/build/libs/EternalCombat v${project.version}.jar"))path and therenamestep so the output filename matches the shadowed jar.Testing
./gradlew assemblewhich failed in this environment because no Java 17 toolchain is available, so the build could not complete (toolchain auto-provisioning not configured).Codex Task