matrei opened a new pull request, #16360: URL: https://github.com/apache/grails-core/pull/16360
Follow-up to #16356, as discussed in https://github.com/apache/grails-core/pull/16356#issuecomment-5760843780. `grails-web-core` (`grails-web-servlets-module`) and `grails-mimetypes` (`grails-mimetypes-module`) both ship a Groovy extension module whose extension classes take `HttpServletRequest`, `HttpServletResponse`, `HttpSession` and `ServletContext` in their signatures. The Groovy compiler loads extension modules from any compile classpath they are on, so a module that depends on either of them without the servlet API fails `compileGroovy` with the same `NoClassDefFoundError` that #16356 fixed for `grails-converters`. Declare the servlet API `compileOnlyApi` in both, matching `grails-converters`, `grails-controllers`, `grails-web-gsp` and `grails-web-taglib`. The runtime classpath is unchanged: in the generated Gradle module metadata `jakarta.servlet-api` appears on `apiElements` only, not on `runtimeElements`. 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
