-
Notifications
You must be signed in to change notification settings - Fork 143
Repository Key Function SPI #1679
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
Signed-off-by: Tamas Cservenak <[email protected]>
Consider this EXPERIMENTAL.
Fwiw, since this is switching to a more mathematical expression, I was confused by the |
Also provide page
New opt-in experimental feature for enhanced local repository: ability to choose "repository key" function. Local repository (simple and enhanced) by default uses the
simplekey (historically) where other places all usednid. Have to note, thatsimpleis technically equivalent tonidasRemoteRepository.isRepositoryManager()is not set anywhere in Maven.Added key functions:
simple-> the original code in LRMnid->norm(id)(path friendly)hurl->sha1(url)nid_hurl->norm(id)-sha1(url)gurk->norm(id)-sha1(seed)where "seed" is all config properties of repongurk->norm(id)-sha1(seed)where "seed" is all config sans mirror list (just the string "isMirrored" is added for mirrors)Introduced
RepositoryKeyFunctiontype, that is used consistently in enhanced local repository (availability calculation), prefix composer (split repository prefix calculation) and remote repository manager (remote repository consolidation). This is new SPI, and impl provides default implementation with those above.