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]

Reply via email to