The root build produced an empty top-level FastCrystals-1.0.jar that lacked plugin.yml, causing Paper to refuse loading the plugin.
The shared shadow configuration was not being applied because the root script checked the wrong shadow plugin id.
Description
Updated the root build.gradle.kts to use the actual shadow plugin id com.gradleup.shadow so the shadowJar configuration applies to subprojects using Shadow.
Disabled the root jar task by marking it enabled = false to prevent emitting an empty top-level jar that has no plugin descriptor.
Made root assemble depend on :core:shadowJar so the produced top-level artifact comes from the core module shadow jar (which contains plugin.yml).
Added an import for Jar to the root build script to configure the root jar task.
Testing
Attempted ./gradlew :v1_19_4:jar -q, but the build failed early due to the container JDK reporting 25.0.1, which triggers a Kotlin DSL parser error (java.lang.IllegalArgumentException: 25.0.1).
Attempted ./gradlew :v1_19_4:jar --stacktrace to capture full failure details, which confirmed the JVM-version parsing error originates from the environment and not the Gradle wiring changes.
Structural verification by inspecting build.gradle.kts confirms the shadow configuration now targets the correct plugin id and the root jar is disabled, addressing the cause of the missing plugin.yml in the top-level jar.
### Motivation
- The root build produced an empty top-level `FastCrystals-1.0.jar` that lacked `plugin.yml`, causing Paper to refuse loading the plugin.
- The shared shadow configuration was not being applied because the root script checked the wrong shadow plugin id.
### Description
- Updated the root `build.gradle.kts` to use the actual shadow plugin id `com.gradleup.shadow` so the `shadowJar` configuration applies to subprojects using Shadow.
- Disabled the root `jar` task by marking it `enabled = false` to prevent emitting an empty top-level jar that has no plugin descriptor.
- Made root `assemble` depend on `:core:shadowJar` so the produced top-level artifact comes from the `core` module shadow jar (which contains `plugin.yml`).
- Added an import for `Jar` to the root build script to configure the root `jar` task.
### Testing
- Attempted `./gradlew :v1_19_4:jar -q`, but the build failed early due to the container JDK reporting `25.0.1`, which triggers a Kotlin DSL parser error (`java.lang.IllegalArgumentException: 25.0.1`).
- Attempted `./gradlew :v1_19_4:jar --stacktrace` to capture full failure details, which confirmed the JVM-version parsing error originates from the environment and not the Gradle wiring changes.
- Structural verification by inspecting `build.gradle.kts` confirms the shadow configuration now targets the correct plugin id and the root jar is disabled, addressing the cause of the missing `plugin.yml` in the top-level jar.
------
[Codex Task](https://chatgpt.com/codex/tasks/task_e_69b7d9add50c832faab569c0b1e9dc94)
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
FastCrystals-1.0.jarthat lackedplugin.yml, causing Paper to refuse loading the plugin.Description
build.gradle.ktsto use the actual shadow plugin idcom.gradleup.shadowso theshadowJarconfiguration applies to subprojects using Shadow.jartask by marking itenabled = falseto prevent emitting an empty top-level jar that has no plugin descriptor.assembledepend on:core:shadowJarso the produced top-level artifact comes from thecoremodule shadow jar (which containsplugin.yml).Jarto the root build script to configure the rootjartask.Testing
./gradlew :v1_19_4:jar -q, but the build failed early due to the container JDK reporting25.0.1, which triggers a Kotlin DSL parser error (java.lang.IllegalArgumentException: 25.0.1)../gradlew :v1_19_4:jar --stacktraceto capture full failure details, which confirmed the JVM-version parsing error originates from the environment and not the Gradle wiring changes.build.gradle.ktsconfirms the shadow configuration now targets the correct plugin id and the root jar is disabled, addressing the cause of the missingplugin.ymlin the top-level jar.Codex Task