jamesfredley commented on PR #15956: URL: https://github.com/apache/grails-core/pull/15956#issuecomment-4986244124
## Review feedback addressed Merged the latest `8.0.x` and pushed follow-up commits. **Copilot review comment (classloader / exception handling on `UrlMappingsIndexProperties.load`):** - The loader now tries the **thread context classloader first**, then the provided classloader, so an application-packaged `META-INF/grails/url-mappings-index.properties` is discovered. - Failures are isolated **per loader** and treated as a soft miss: an `IOException` or any non-fatal `RuntimeException` (including the malformed-properties `IllegalArgumentException`, and a restricted/throwing TCCL) is logged at debug and skips that loader, so a broken TCCL still falls through to the provided classloader. `EMPTY` is only returned after every loader has been tried, and `Error` is never swallowed - so an optional/missing/malformed descriptor can never abort application startup. **Review-pass fixes:** added the ASF license header to the new `urlMappingsPrecompute.adoc`, corrected the version references from 8.1 to **8.0** (matching the target branch and `@since`), and clarified the wording so it is explicit that runtime URL-mapping evaluation stays authoritative whether or not a descriptor is present (the descriptor is only *reserved/detected* in this seed). Added tests for missing, malformed, unreadable/throwing, TCCL-precedence, and valid-descriptor paths. Local verification: `:grails-web-url-mappings:test --tests UrlMappingsIndexPropertiesSpec` (5 tests) passes. -- 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]
