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]