royteeuwen opened a new pull request, #532:
URL: https://github.com/apache/maven-build-cache-extension/pull/532

   ## Summary
   
   Adds opt-in remote build-cache retention for shared repositories, with 
configurable strategy providers and Nexus Raw support.
   
   ## Changes
   
   - Adds remote retention configuration separate from local retention.
   - Adds configurable maximum remote builds and cleanup grace period.
   - Adds explicit retention strategy selection with backward-compatible URL 
auto-detection.
   - Adds Maven-native Plexus/Sisu retention strategy providers.
   - Adds Nexus Raw asset discovery, pagination, metadata validation, and 
asset-ID deletion.
   - Adds generic HTTP/WebDAV directory-listing retention with safe limitations.
   - Adds public `RemoteCacheRetentionStrategyProvider`, 
`RemoteCacheRetentionStrategy`, and `RemoteCacheHttpClient` APIs.
   - Adds cleanup for stale `build-cache-report.xml` assets.
   - Adds best-effort concurrency protections without distributed locking.
   - Documents configuration, SPI usage, authentication, concurrency behavior, 
and repository limitations.
   
   ## Configuration
   
   ```xml
   <remote enabled="true"
           saveToRemote="true"
           cleanupEnabled="true"
           retentionStrategy="nexus">
       <url>https://nexus.example/repository/build-cache/</url>
       <maxBuildsCached>5</maxBuildsCached>
       <cleanupGracePeriodSeconds>300</cleanupGracePeriodSeconds>
   </remote>
   ```
   
   Existing configurations remain compatible because cleanup is disabled by 
default and URL-based strategy detection remains the fallback when no explicit 
strategy is configured.
   
   ## Notes
   
   Nexus Raw paths are virtual asset paths rather than real directories. The 
implementation deletes assets using the Nexus Assets REST API, but cannot 
delete empty virtual browse folders independently.
   
   Concurrent builders are supported on a best-effort basis. The implementation 
does not introduce distributed locking.
   


-- 
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