This is an automated email from the ASF dual-hosted git repository.

cstamas pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-resolver.git


The following commit(s) were added to refs/heads/master by this push:
     new c4ca0190 [MRESOLVER-632][MRESOLVER-640] Remove unneded error cases 
(#620)
c4ca0190 is described below

commit c4ca019062fd0b60a063309141b2895c32d8425c
Author: Tamas Cservenak <ta...@cservenak.net>
AuthorDate: Thu Dec 12 19:54:49 2024 +0100

    [MRESOLVER-632][MRESOLVER-640] Remove unneded error cases (#620)
    
    Remove unneded error cases, as this is only about
    "beutify". Remove running numbers from web page
    as well.
    
    ---
    
    https://issues.apache.org/jira/browse/MRESOLVER-632
    https://issues.apache.org/jira/browse/MRESOLVER-640
---
 .../eclipse/aether/tools/CollectConfiguration.java |  39 ++--
 .../src/main/resources/configuration.md.vm         |   6 +-
 src/site/markdown/configuration.md                 | 254 ++++++++++-----------
 3 files changed, 148 insertions(+), 151 deletions(-)

diff --git 
a/maven-resolver-tools/src/main/java/org/eclipse/aether/tools/CollectConfiguration.java
 
b/maven-resolver-tools/src/main/java/org/eclipse/aether/tools/CollectConfiguration.java
index f6d73415..5b3dfa14 100644
--- 
a/maven-resolver-tools/src/main/java/org/eclipse/aether/tools/CollectConfiguration.java
+++ 
b/maven-resolver-tools/src/main/java/org/eclipse/aether/tools/CollectConfiguration.java
@@ -28,7 +28,6 @@ import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.Comparator;
 import java.util.HashMap;
 import java.util.List;
@@ -71,7 +70,7 @@ public class CollectConfiguration implements 
Callable<Integer> {
 
     protected static final String KEY = "key";
 
-    enum Mode {
+    public enum Mode {
         maven,
         resolver
     }
@@ -125,7 +124,7 @@ public class CollectConfiguration implements 
Callable<Integer> {
                 }
             }
 
-            Collections.sort(discoveredKeys, Comparator.comparing(e -> 
e.get(KEY)));
+            discoveredKeys.sort(Comparator.comparing(e -> e.get(KEY)));
 
             Properties properties = new Properties();
             properties.setProperty("resource.loaders", "classpath");
@@ -194,24 +193,22 @@ public class CollectConfiguration implements 
Callable<Integer> {
                                                         .getFullText()
                                                         .replace("*", "\\*");
                                                 String since = getSince(f);
-                                                String source =
-                                                        switch 
((values.get("source") != null
-                                                                        ? 
(String) values.get("source")
-                                                                        : 
"USER_PROPERTIES") // TODO: enum
-                                                                
.toLowerCase()) {
-                                                            case "model" -> 
"Model properties";
-                                                            case 
"user_properties" -> "User properties";
-                                                            default -> throw 
new IllegalStateException();
-                                                        };
-                                                String type =
-                                                        switch 
((values.get("type") != null
-                                                                ? (String) 
values.get("type")
-                                                                : 
"java.lang.String")) {
-                                                            case 
"java.lang.String" -> "String";
-                                                            case 
"java.lang.Integer" -> "Integer";
-                                                            case 
"java.lang.Boolean" -> "Boolean";
-                                                            default -> throw 
new IllegalStateException();
-                                                        };
+                                                String source = 
(values.get("source") != null
+                                                                ? (String) 
values.get("source")
+                                                                : 
"USER_PROPERTIES") // TODO: enum
+                                                        .toLowerCase();
+                                                source = switch (source) {
+                                                    case "model" -> "Model 
properties";
+                                                    case "user_properties" -> 
"User properties";
+                                                    default -> source;};
+                                                String type = 
(values.get("type") != null
+                                                        ? (String) 
values.get("type")
+                                                        : "java.lang.String");
+                                                if 
(type.startsWith("java.lang.")) {
+                                                    type = 
type.substring("java.lang.".length());
+                                                } else if 
(type.startsWith("java.util.")) {
+                                                    type = 
type.substring("java.util.".length());
+                                                }
                                                 discoveredKeys.add(Map.of(
                                                         KEY,
                                                         fieldValue.toString(),
diff --git a/maven-resolver-tools/src/main/resources/configuration.md.vm 
b/maven-resolver-tools/src/main/resources/configuration.md.vm
index 9e70761f..cfcb16b8 100644
--- a/maven-resolver-tools/src/main/resources/configuration.md.vm
+++ b/maven-resolver-tools/src/main/resources/configuration.md.vm
@@ -43,10 +43,10 @@ under the License.
 #if ($val) `$val` #else - #end
 #end
 
-| No | Key | Type | Description | Default Value | Since | Supports Repo ID 
suffix | Source |
-| --- | --- | --- | --- | --- | --- | --- | --- |
+| Key | Type | Description | Default Value | Since | Supports Repo ID suffix | 
Source |
+| --- | --- | --- | --- | --- | --- | --- |
 #foreach($key in $keys)
-| $foreach.count. | `$key.key` | `$key.configurationType` | $key.description | 
#value( $key.defaultValue ) | $key.since |  $key.supportRepoIdSuffix  | 
$key.configurationSource |
+| `$key.key` | `$key.configurationType` | $key.description | #value( 
$key.defaultValue ) | $key.since |  $key.supportRepoIdSuffix  | 
$key.configurationSource |
 #end
 
 #[[
diff --git a/src/site/markdown/configuration.md 
b/src/site/markdown/configuration.md
index 65d06686..2e3a6cc2 100644
--- a/src/site/markdown/configuration.md
+++ b/src/site/markdown/configuration.md
@@ -22,133 +22,133 @@ under the License.
 
 
 
-| No | Key | Type | Description | Default Value | Since | Supports Repo ID 
suffix | Source |
-| --- | --- | --- | --- | --- | --- | --- | --- |
-| 1. | `"aether.artifactResolver.postProcessor.trustedChecksums"` | `Boolean` 
| Is post processor enabled. |  `false`  | 1.9.0 |  No  | Session Configuration 
|
-| 2. | 
`"aether.artifactResolver.postProcessor.trustedChecksums.checksumAlgorithms"` | 
`String` | The checksum algorithms to apply during post-processing as comma 
separated list. |  `"SHA-1"`  | 1.9.0 |  No  | Session Configuration |
-| 3. | 
`"aether.artifactResolver.postProcessor.trustedChecksums.failIfMissing"` | 
`Boolean` | Should post processor fail resolution if checksum is missing? |  
`false`  | 1.9.0 |  No  | Session Configuration |
-| 4. | `"aether.artifactResolver.postProcessor.trustedChecksums.record"` | 
`Boolean` | Should post processor go into "record" mode (and collect checksums 
instead of validate them)? |  `false`  | 1.9.0 |  No  | Session Configuration |
-| 5. | `"aether.artifactResolver.postProcessor.trustedChecksums.snapshots"` | 
`Boolean` | Should post processor process snapshots as well? |  `false`  | 
1.9.0 |  No  | Session Configuration |
-| 6. | `"aether.artifactResolver.simpleLrmInterop"` | `Boolean` | 
Configuration to enable "interoperability" with Simple LRM, but this breaks RRF 
feature, hence this configuration is IGNORED when RRF is used, and is warmly 
recommended to leave it disabled even if no RRF is being used. |  `false`  |  | 
 No  | Session Configuration |
-| 7. | `"aether.artifactResolver.snapshotNormalization"` | `Boolean` | 
Configuration to enable "snapshot normalization", downloaded snapshots from 
remote with timestamped file names will have file names converted back to 
baseVersion. It replaces the timestamped snapshot file name with a filename 
containing the SNAPSHOT qualifier only. This only affects resolving/retrieving 
artifacts but not uploading those. |  `true`  |  |  No  | Session Configuration 
|
-| 8. | `"aether.chainedLocalRepository.ignoreTailAvailability"` | `Boolean` | 
When using chained local repository, should be the artifact availability 
ignored in tail. |  `true`  | 1.9.2 |  No  | Session Configuration |
-| 9. | `"aether.checksums.omitChecksumsForExtensions"` | `String` | 
Comma-separated list of extensions with leading dot (example ".asc") that 
should have checksums omitted. These are applied to sub-artifacts only. Note: 
to achieve 1.7.x aether.checksums.forSignature=true behaviour, pass empty 
string as value for this property. |  `".asc,.sigstore"`  |  |  No  | Session 
Configuration |
-| 10. | `"aether.conflictResolver.verbose"` | `Object` | The key in the 
repository session's 
<code>org.eclipse.aether.RepositorySystemSession#getConfigProperties() 
configuration properties</code> used to store a <code>Boolean</code> flag 
controlling the transformer's verbose mode. Accepted values are Boolean types, 
String type (where "true" would be interpreted as <code>true</code> ) or 
Verbosity enum instances. |  `"NONE"`  |  |  No  | Session Configuration |
-| 11. | `"aether.connector.basic.downstreamThreads"` | `Integer` | Number of 
threads in basic connector for downloading. |  `5`  | 2.0.0 |  Yes  | Session 
Configuration |
-| 12. | `"aether.connector.basic.parallelPut"` | `Boolean` | Enables or 
disables parallel PUT processing (parallel deploys) on basic connector globally 
or per remote repository. When disabled, connector behaves exactly as in Maven 
3.8.x did: GETs are parallel while PUTs are sequential. |  `true`  | 1.9.5 |  
Yes  | Session Configuration |
-| 13. | `"aether.connector.basic.persistedChecksums"` | `Boolean` | Flag 
indicating whether checksums which are retrieved during checksum validation 
should be persisted in the local repository next to the file they provide the 
checksum for. |  `true`  | 0.9.0.M4 |  No  | Session Configuration |
-| 14. | `"aether.connector.basic.smartChecksums"` | `Boolean` | Flag 
indicating that instead of comparing the external checksum fetched from the 
remote repo with the calculated one, it should try to extract the reference 
checksum from the actual artifact response headers This only works for HTTP 
transports. |  `true`  | 0.9.0.M3 |  No  | Session Configuration |
-| 15. | `"aether.connector.basic.threads"` | `Integer` | Number of threads in 
basic connector for uploading/downloading. Observed only if some of the 
upstream or downstream threads are not set. (Deprecated) |  `5`  | 0.9.0.M4 |  
No  | Session Configuration |
-| 16. | `"aether.connector.basic.upstreamThreads"` | `Integer` | Number of 
threads in basic connector for uploading. |  `5`  | 2.0.0 |  Yes  | Session 
Configuration |
-| 17. | `"aether.dependencyCollector.bf.skipper"` | `Boolean` | The key in the 
repository session's <code>RepositorySystemSession#getConfigProperties() 
configuration properties</code> used to store a <code>Boolean</code> flag 
controlling the resolver's skip mode. |  `true`  | 1.8.0 |  No  | Session 
Configuration |
-| 18. | `"aether.dependencyCollector.bf.threads"` | `Integer` | The count of 
threads to be used when collecting POMs in parallel. |  `5`  | 1.9.0 |  No  | 
Session Configuration |
-| 19. | `"aether.dependencyCollector.impl"` | `String` | The name of the 
dependency collector implementation to use: depth-first (original) named "df", 
and breadth-first (new in 1.8.0) named "bf". Both collectors produce equivalent 
results, but they may differ performance wise, depending on project being 
applied to. Our experience shows that existing "df" is well suited for smaller 
to medium size projects, while "bf" may perform better on huge projects with 
many dependencies. Experiment  [...]
-| 20. | `"aether.dependencyCollector.maxCycles"` | `Integer` | Only up to the 
given amount cyclic dependencies are emitted. |  `10`  | 1.8.0 |  No  | Session 
Configuration |
-| 21. | `"aether.dependencyCollector.maxExceptions"` | `Integer` | Only 
exceptions up to the number given in this configuration property are emitted. 
Exceptions which exceed that number are swallowed. |  `50`  | 1.8.0 |  No  | 
Session Configuration |
-| 22. | `"aether.dependencyCollector.pool.artifact"` | `String` | Flag 
controlling interning data pool type used by dependency collector for Artifact 
instances, matters for heap consumption. By default, uses “weak” references 
(consume less heap). Using “hard” will make it much more memory aggressive and 
possibly faster (system and Java dependent). Supported values: "hard", "weak". 
|  `"weak"`  | 1.9.5 |  No  | Session Configuration |
-| 23. | `"aether.dependencyCollector.pool.dependency"` | `String` | Flag 
controlling interning data pool type used by dependency collector for 
Dependency instances, matters for heap consumption. By default, uses “weak” 
references (consume less heap). Using “hard” will make it much more memory 
aggressive and possibly faster (system and Java dependent). Supported values: 
"hard", "weak". |  `"weak"`  | 1.9.5 |  No  | Session Configuration |
-| 24. | `"aether.dependencyCollector.pool.dependencyLists"` | `String` | Flag 
controlling interning data pool type used by dependency lists collector for 
ArtifactDescriptor (POM) instances, matters for heap consumption. By default, 
uses “weak” references (consume less heap). Using “hard” will make it much more 
memory aggressive and possibly faster (system and Java dependent). Supported 
values: "hard", "weak". |  `"hard"`  | 1.9.22 |  No  | Session Configuration |
-| 25. | `"aether.dependencyCollector.pool.descriptor"` | `String` | Flag 
controlling interning data pool type used by dependency collector for 
ArtifactDescriptor (POM) instances, matters for heap consumption. By default, 
uses “weak” references (consume less heap). Using “hard” will make it much more 
memory aggressive and possibly faster (system and Java dependent). Supported 
values: "hard", "weak". |  `"hard"`  | 1.9.5 |  No  | Session Configuration |
-| 26. | 
`"aether.dependencyCollector.pool.internArtifactDescriptorDependencies"` | 
`Boolean` | Flag controlling interning artifact descriptor dependencies. |  
`false`  | 1.9.22 |  No  | Session Configuration |
-| 27. | 
`"aether.dependencyCollector.pool.internArtifactDescriptorManagedDependencies"` 
| `Boolean` | Flag controlling interning artifact descriptor managed 
dependencies. |  `true`  | 1.9.22 |  No  | Session Configuration |
-| 28. | `"aether.dependencyManager.verbose"` | `Boolean` | The key in the 
repository session's 
<code>org.eclipse.aether.RepositorySystemSession#getConfigProperties() 
configuration properties</code> used to store a <code>Boolean</code> flag 
controlling the verbose mode for dependency management. If enabled, the 
original attributes of a dependency before its update due to dependency 
management will be recorded in the node's <code>DependencyNode#getData() custom 
data</code> when building a  [...]
-| 29. | `"aether.generator.gpg.agentSocketLocations"` | `String` | The GnuPG 
agent socket(s) to try. Comma separated list of socket paths. If relative, will 
be resolved from user home directory. |  `".gnupg/S.gpg-agent"`  | 2.0.0 |  No  
| Session Configuration |
-| 30. | `"aether.generator.gpg.enabled"` | `Boolean` | Whether GnuPG signer is 
enabled. |  `false`  | 2.0.0 |  No  | Session Configuration |
-| 31. | `"aether.generator.gpg.keyFilePath"` | `String` | The path to the 
OpenPGP transferable secret key file. If relative, is resolved from local 
repository root. |  `"maven-signing-key.key"`  | 2.0.0 |  No  | Session 
Configuration |
-| 32. | `"aether.generator.gpg.keyFingerprint"` | `String` | The PGP Key 
fingerprint as hex string (40 characters long), optional. If not set, first 
secret key found will be used. |  -  | 2.0.0 |  No  | Session Configuration |
-| 33. | `"aether.generator.gpg.useAgent"` | `Boolean` | Whether GnuPG agent 
should be used. |  `true`  | 2.0.0 |  No  | Session Configuration |
-| 34. | `"aether.generator.sigstore.enabled"` | `Boolean` | Whether Sigstore 
signer is enabled. |  `false`  | 2.0.2 |  No  | Session Configuration |
-| 35. | `"aether.generator.sigstore.publicStaging"` | `Boolean` | Whether 
Sigstore should use public staging <code>sigstage.dev</code> instead of public 
default <code>sigstore.dev</code> . |  `false`  | 2.0.2 |  No  | Session 
Configuration |
-| 36. | `"aether.interactive"` | `Boolean` | A flag indicating whether 
interaction with the user is allowed. |  `false`  |  |  No  | Session 
Configuration |
-| 37. | `"aether.layout.maven2.checksumAlgorithms"` | `String` | 
Comma-separated list of checksum algorithms with which checksums are validated 
(downloaded) and generated (uploaded) with this layout. Resolver by default 
supports following algorithms: MD5, SHA-1, SHA-256 and SHA-512. New algorithms 
can be added by implementing ChecksumAlgorithmFactory component. |  
`"SHA-1,MD5"`  | 1.8.0 |  Yes  | Session Configuration |
-| 38. | `"aether.lrm.enhanced.localPrefix"` | `String` | The prefix to use for 
locally installed artifacts. |  `"installed"`  | 1.8.1 |  No  | Session 
Configuration |
-| 39. | `"aether.lrm.enhanced.releasesPrefix"` | `String` | The prefix to use 
for release artifacts. |  `"releases"`  | 1.8.1 |  No  | Session Configuration |
-| 40. | `"aether.lrm.enhanced.remotePrefix"` | `String` | The prefix to use 
for remotely cached artifacts. |  `"cached"`  | 1.8.1 |  No  | Session 
Configuration |
-| 41. | `"aether.lrm.enhanced.snapshotsPrefix"` | `String` | The prefix to use 
for snapshot artifacts. |  `"snapshots"`  | 1.8.1 |  No  | Session 
Configuration |
-| 42. | `"aether.lrm.enhanced.split"` | `Boolean` | Whether LRM should split 
local and remote artifacts. |  `false`  | 1.8.1 |  No  | Session Configuration |
-| 43. | `"aether.lrm.enhanced.splitLocal"` | `Boolean` | Whether locally 
installed artifacts should be split by version (release/snapshot). |  `false`  
| 1.8.1 |  No  | Session Configuration |
-| 44. | `"aether.lrm.enhanced.splitRemote"` | `Boolean` | Whether cached 
artifacts should be split by version (release/snapshot). |  `false`  | 1.8.1 |  
No  | Session Configuration |
-| 45. | `"aether.lrm.enhanced.splitRemoteRepository"` | `Boolean` | Whether 
cached artifacts should be split by origin repository (repository ID). |  
`false`  | 1.8.1 |  No  | Session Configuration |
-| 46. | `"aether.lrm.enhanced.splitRemoteRepositoryLast"` | `Boolean` | For 
cached artifacts, if both splitRemote and splitRemoteRepository are set to true 
sets the splitting order: by default it is repositoryId/version (false) or 
version/repositoryId (true) |  `false`  | 1.8.1 |  No  | Session Configuration |
-| 47. | `"aether.lrm.enhanced.trackingFilename"` | `String` | Filename of the 
file in which to track the remote repositories. |  `"_remote.repositories"`  |  
|  No  | Session Configuration |
-| 48. | `"aether.metadataResolver.threads"` | `Integer` | Number of threads to 
use in parallel for resolving metadata. |  `4`  | 0.9.0.M4 |  No  | Session 
Configuration |
-| 49. | `"aether.named.diagnostic.enabled"` | `Boolean` | System property key 
to enable locking diagnostic collection. |  `false`  | 1.9.11 |  No  | Java 
System Properties |
-| 50. | `"aether.named.file-lock.attempts"` | `Integer` | Tweak: on Windows, 
the presence of <em>StandardOpenOption#DELETE_ON_CLOSE</em> causes concurrency 
issues. This flag allows to implement similar fix as referenced JDK bug report: 
retry and hope the best. Default value is 5 attempts (will retry 4 times). |  
`5`  | 1.7.3 |  No  | Java System Properties |
-| 51. | `"aether.named.file-lock.deleteLockFiles"` | `Boolean` | Tweak: on 
Windows, the presence of <em>StandardOpenOption#DELETE_ON_CLOSE</em> causes 
concurrency issues. This flag allows to have it removed from effective flags, 
at the cost that lockfile directory becomes crowded with 0 byte sized lock 
files that are never cleaned up. Default value is <code>true</code> on 
non-Windows OS. See <a 
href="https://bugs.openjdk.org/browse/JDK-8252883";>JDK-8252883</a> for Windows 
related bug. Us [...]
-| 52. | `"aether.named.file-lock.sleepMillis"` | `Long` | Tweak: When 
<code>#SYSTEM_PROP_ATTEMPTS</code> used, the amount of milliseconds to sleep 
between subsequent retries. Default value is 50 milliseconds. |  `50`  | 1.7.3 
|  No  | Java System Properties |
-| 53. | `"aether.named.ipc.debug"` | `Boolean` | Should the IPC server log 
debug messages? (i.e. for testing purposes) |  `false`  | 2.0.1 |  No  | Java 
System Properties |
-| 54. | `"aether.named.ipc.family"` | `String` | IPC socket family to use. |  
`"unix"`  | 2.0.1 |  No  | Java System Properties |
-| 55. | `"aether.named.ipc.idleTimeout"` | `Integer` | IPC idle timeout in 
seconds. If there is no IPC request during idle time, it will stop. |  `60`  | 
2.0.1 |  No  | Java System Properties |
-| 56. | `"aether.named.ipc.nativeName"` | `String` | The name if the IPC 
server native executable (without file extension like ".exe") |  `"ipc-sync"`  
| 2.0.1 |  No  | Java System Properties |
-| 57. | `"aether.named.ipc.nofork"` | `Boolean` | Should the IPC server not 
fork? (i.e. for testing purposes) |  `false`  | 2.0.1 |  No  | Java System 
Properties |
-| 58. | `"aether.named.ipc.nonative"` | `Boolean` | Should the IPC server not 
use native executable? |  `true`  | 2.0.1 |  No  | Java System Properties |
-| 59. | `"aether.offline.hosts"` | `String` | Comma-separated list of hosts 
which are supposed to be resolved offline. |  -  |  |  No  | Session 
Configuration |
-| 60. | `"aether.offline.protocols"` | `String` | Comma-separated list of 
protocols which are supposed to be resolved offline. |  -  |  |  No  | Session 
Configuration |
-| 61. | `"aether.priority.<class>"` | `Float` | The priority to use for a 
certain extension class. <code>&lt;class&gt;</code> can either be the fully 
qualified name or the simple name of a class. If the class name ends with 
Factory that suffix could optionally be left out. This configuration is used by 
<code>org.eclipse.aether.internal.impl.PrioritizedComponents</code> internal 
utility to sort classes by priority. This is reusable utility (so an extension 
can make use of it), but by defa [...]
-| 62. | `"aether.priority.cached"` | `Boolean` | A flag indicating whether the 
created ordered components should be cached in session. |  `true`  | 2.0.0 |  
No  | Session Configuration |
-| 63. | `"aether.priority.implicit"` | `Boolean` | A flag indicating whether 
the priorities of pluggable extensions are implicitly given by their iteration 
order such that the first extension has the highest priority. If set, an 
extension's built-in priority as well as any corresponding 
<code>aether.priority.*</code> configuration properties are ignored when 
searching for a suitable implementation among the available extensions. This 
priority mode is meant for cases where the application [...]
-| 64. | `"aether.remoteRepositoryFilter.groupId"` | `Boolean` | Is filter 
enabled? |  `false`  | 1.9.0 |  No  | Session Configuration |
-| 65. | `"aether.remoteRepositoryFilter.groupId.basedir"` | `String` | The 
basedir where to store filter files. If path is relative, it is resolved from 
local repository root. |  `".remoteRepositoryFilters"`  | 1.9.0 |  No  | 
Session Configuration |
-| 66. | `"aether.remoteRepositoryFilter.groupId.record"` | `Boolean` | Should 
filter go into "record" mode (and collect encountered artifacts)? |  `false`  | 
1.9.0 |  No  | Session Configuration |
-| 67. | `"aether.remoteRepositoryFilter.prefixes"` | `Boolean` | Is filter 
enabled? |  `false`  | 1.9.0 |  No  | Session Configuration |
-| 68. | `"aether.remoteRepositoryFilter.prefixes.basedir"` | `String` | The 
basedir where to store filter files. If path is relative, it is resolved from 
local repository root. |  `".remoteRepositoryFilters"`  | 1.9.0 |  No  | 
Session Configuration |
-| 69. | `"aether.snapshotFilter"` | `Boolean` | The key in the repository 
session's <code>RepositorySystemSession#getConfigProperties() 
configurationproperties</code> used to store a <code>Boolean</code> flag 
whether this filter should be forced to ban snapshots. By default, snapshots 
are only filtered if the root artifact is not a snapshot. |  `false`  |  |  No  
| Session Configuration |
-| 70. | `"aether.syncContext.named.basedir.locksDir"` | `String` | The 
location of the directory toi use for locks. If relative path, it is resolved 
from the local repository root. |  `".locks"`  | 1.9.0 |  No  | Session 
Configuration |
-| 71. | `"aether.syncContext.named.discriminating.discriminator"` | `String` | 
Configuration property to pass in discriminator, if needed. If not present, it 
is auto-calculated. |  -  | 1.7.0 |  No  | Session Configuration |
-| 72. | `"aether.syncContext.named.discriminating.hostname"` | `String` | 
Configuration property to pass in hostname, if needed. If not present, hostname 
as reported by system will be used. |  -  | 1.7.0 |  No  | Session 
Configuration |
-| 73. | `"aether.syncContext.named.factory"` | `String` | Name of the lock 
factory to use in session. |  `"file-lock"`  | 1.9.1 |  No  | Session 
Configuration |
-| 74. | `"aether.syncContext.named.hashing.depth"` | `Integer` | The depth how 
many levels should adapter create. Acceptable values are 0-4 (inclusive). |  
`2`  | 1.9.0 |  No  | Session Configuration |
-| 75. | `"aether.syncContext.named.nameMapper"` | `String` | Name of the name 
mapper to use in session. Out of the box supported ones are "static", "gav", 
"file-gav", "file-hgav", "file-static" and "discriminating". |  `"file-gav"`  | 
1.9.1 |  No  | Session Configuration |
-| 76. | `"aether.syncContext.named.redisson.address"` | `String` | Address of 
the Redis instance. Optional. |  `"redis://localhost:6379"`  | 2.0.0 |  No  | 
Java System Properties |
-| 77. | `"aether.syncContext.named.redisson.configFile"` | `String` | Path to 
a Redisson configuration file in YAML format. Read official documentation for 
details. |  -  | 1.7.0 |  No  | Java System Properties |
-| 78. | `"aether.syncContext.named.retry"` | `Integer` | The amount of retries 
on time-out. |  `1`  | 1.7.0 |  No  | Session Configuration |
-| 79. | `"aether.syncContext.named.retry.wait"` | `Long` | The amount of 
milliseconds to wait between retries on time-out. |  `200l`  | 1.7.0 |  No  | 
Session Configuration |
-| 80. | `"aether.syncContext.named.time"` | `Long` | The maximum of time 
amount to be blocked to obtain lock. |  `30l`  | 1.7.0 |  No  | Session 
Configuration |
-| 81. | `"aether.syncContext.named.time.unit"` | `String` | The unit of 
maximum time amount to be blocked to obtain lock. Use TimeUnit enum names. |  
`"SECONDS"`  | 1.7.0 |  No  | Session Configuration |
-| 82. | `"aether.system.dependencyVisitor"` | `String` | A flag indicating 
which visitor should be used to "flatten" the dependency graph into list. 
Default is same as in older resolver versions "preOrder", while it can accept 
values like "postOrder" and "levelOrder". |  `"preOrder"`  | 2.0.0 |  No  | 
Session Configuration |
-| 83. | `"aether.transport.apache.followRedirects"` | `Boolean` | If enabled, 
Apache HttpClient will follow HTTP redirects. |  `true`  | 2.0.2 |  Yes  | 
Session Configuration |
-| 84. | `"aether.transport.apache.https.cipherSuites"` | `String` | 
Comma-separated list of <a 
href="https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#ciphersuites";>Cipher
 Suites</a> which are enabled for HTTPS connections. |  -  | 2.0.0 |  No  | 
Session Configuration |
-| 85. | `"aether.transport.apache.https.protocols"` | `String` | 
Comma-separated list of <a 
href="https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#jssenames";>Protocols
 </a> which are enabled for HTTPS connections. |  -  | 2.0.0 |  No  | Session 
Configuration |
-| 86. | `"aether.transport.apache.maxRedirects"` | `Integer` | The max 
redirect count to follow. |  `5`  | 2.0.2 |  Yes  | Session Configuration |
-| 87. | `"aether.transport.apache.retryHandler.name"` | `String` | The name of 
retryHandler, supported values are “standard”, that obeys RFC-2616, regarding 
idempotent methods, and “default” that considers requests w/o payload as 
idempotent. |  `"standard"`  | 2.0.0 |  Yes  | Session Configuration |
-| 88. | `"aether.transport.apache.retryHandler.requestSentEnabled"` | 
`Boolean` | Set to true if it is acceptable to retry non-idempotent requests, 
that have been sent. |  `false`  | 2.0.0 |  Yes  | Session Configuration |
-| 89. | `"aether.transport.apache.useSystemProperties"` | `Boolean` | If 
enabled, underlying Apache HttpClient will use system properties as well to 
configure itself (typically used to set up HTTP Proxy via Java system 
properties). See HttpClientBuilder for used properties. This mode is not 
recommended, better use documented ways of configuration instead. |  `false`  | 
2.0.0 |  Yes  | Session Configuration |
-| 90. | `"aether.transport.classpath.loader"` | `ClassLoader` | The key in the 
repository session's <code>RepositorySystemSession#getConfigProperties() 
configurationproperties</code> used to store a <code>ClassLoader</code> from 
which resources should be retrieved. If unspecified, the 
<code>Thread#getContextClassLoader() context class loader</code> of the current 
thread will be used. |  -  |  |  No  | Session Configuration |
-| 91. | `"aether.transport.http.connectTimeout"` | `Integer` | The maximum 
amount of time (in milliseconds) to wait for a successful connection to a 
remote server. Non-positive values indicate no timeout. |  `30000`  |  |  Yes  
| Session Configuration |
-| 92. | `"aether.transport.http.connectionMaxTtl"` | `Integer` | Total time to 
live in seconds for an HTTP connection, after that time, the connection will be 
dropped (no matter for how long it was idle). |  `300`  | 1.9.8 |  Yes  | 
Session Configuration |
-| 93. | `"aether.transport.http.credentialEncoding"` | `String` | The 
encoding/charset to use when exchanging credentials with HTTP servers. Besides 
this general key, clients may also specify the encoding for a specific remote 
repository by appending the suffix <code>.&lt;repoId&gt;</code> to this key 
when storing the charset name. |  `"ISO-8859-1"`  |  |  Yes  | Session 
Configuration |
-| 94. | `"aether.transport.http.expectContinue"` | `Boolean` | Boolean flag 
should the HTTP transport use expect-continue handshake for PUT requests. Not 
all transport support this option. This option may be needed for some broken 
HTTP servers. Default value corresponds to given transport default one 
(resolver does not override those), but if configuration IS given, it will 
replace given transport own default value. |  -  | 1.9.17 |  Yes  | Session 
Configuration |
-| 95. | `"aether.transport.http.headers"` | `java.util.Map` | The request 
headers to use for HTTP-based repository connectors. The headers are specified 
using a <code>Map<String, String></code> , mapping a header name to its value. 
Besides this general key, clients may also specify headers for a specific 
remote repository by appending the suffix <code>.&lt;repoId&gt;</code> to this 
key when storing the headers map. The repository-specific headers map is 
supposed to be complete, i.e. is n [...]
-| 96. | `"aether.transport.http.localAddress"` | `String` | The local address 
(interface) to use with HTTP transport. Not all transport supports this option. 
|  -  | 2.0.0 |  Yes  | Session Configuration |
-| 97. | `"aether.transport.http.maxConnectionsPerRoute"` | `Integer` | The 
maximum concurrent connections per route HTTP client is allowed to use. |  `50` 
 | 1.9.8 |  Yes  | Session Configuration |
-| 98. | `"aether.transport.http.preemptiveAuth"` | `Boolean` | Should HTTP 
client use preemptive-authentication for all HTTP verbs (works only w/ BASIC). 
By default, is disabled, as it is considered less secure. |  `false`  | 1.9.6 | 
 Yes  | Session Configuration |
-| 99. | `"aether.transport.http.preemptivePutAuth"` | `Boolean` | Boolean flag 
should the HTTP transport use preemptive-auth for PUT requests. Not all 
transport support this option. |  `true`  | 2.0.0 (moved out from 
maven-resolver-transport-http). |  Yes  | Session Configuration |
-| 100. | `"aether.transport.http.requestTimeout"` | `Integer` | The maximum 
amount of time (in milliseconds) to wait for remaining data to arrive from a 
remote server. Note that this timeout does not restrict the overall duration of 
a request, it only restricts the duration of inactivity between consecutive 
data packets. Non-positive values indicate no timeout. |  `1800000`  |  |  Yes  
| Session Configuration |
-| 101. | `"aether.transport.http.retryHandler.count"` | `Integer` | The 
maximum number of times a request to a remote server should be retried in case 
of an error. |  `3`  | 1.9.6 |  Yes  | Session Configuration |
-| 102. | `"aether.transport.http.retryHandler.interval"` | `Long` | The 
initial retry interval in millis of request to a remote server should be waited 
in case of "too many requests" (HTTP codes 429 and 503). Accepts long as 
milliseconds. This value is used if remote server does not use 
<code>Retry-After</code> header, in which case Server value is obeyed. |  
`5000l`  | 1.9.16 |  Yes  | Session Configuration |
-| 103. | `"aether.transport.http.retryHandler.intervalMax"` | `Long` | The 
maximum retry interval in millis of request to a remote server above which the 
request should be aborted instead. In theory, a malicious server could tell 
Maven "come back after 100 years" that would stall the build for some. Using 
this parameter Maven will fail the request instead, if interval is above this 
value. |  `300000l`  | 1.9.16 |  Yes  | Session Configuration |
-| 104. | `"aether.transport.http.retryHandler.serviceUnavailable"` | `String` 
| The HTTP codes of remote server responses that should be handled as "too many 
requests" (examples: HTTP codes 429 and 503). Accepts comma separated list of 
HTTP response codes. |  `"429,503"`  | 1.9.16 |  Yes  | Session Configuration |
-| 105. | `"aether.transport.http.reuseConnections"` | `Boolean` | Should HTTP 
client reuse connections (in other words, pool connections) or not? |  `true`  
| 1.9.8 |  Yes  | Session Configuration |
-| 106. | `"aether.transport.http.supportWebDav"` | `Boolean` | Boolean flag 
should the HTTP transport support WebDAV remote. Not all transport support this 
option. |  `false`  | 2.0.0 (moved out from maven-resolver-transport-http). |  
Yes  | Session Configuration |
-| 107. | `"aether.transport.http.userAgent"` | `String` | The user agent that 
repository connectors should report to servers. |  `"Aether"`  |  |  No  | 
Session Configuration |
-| 108. | `"aether.transport.https.securityMode"` | `String` | The mode that 
sets HTTPS transport "security mode": to ignore any SSL errors (certificate 
validity checks, hostname verification). The default value is 
<code>#HTTPS_SECURITY_MODE_DEFAULT</code> . |  `"default"`  | 1.9.6 |  Yes  | 
Session Configuration |
-| 109. | `"aether.transport.jdk.httpVersion"` | `String` | Use string 
representation of HttpClient version enum "HTTP_2" or "HTTP_1_1" to set default 
HTTP protocol to use. |  `"HTTP_1_1"`  | 2.0.0 |  Yes  | Session Configuration |
-| 110. | `"aether.transport.jdk.maxConcurrentRequests"` | `Integer` | The hard 
limit of maximum concurrent requests JDK transport can do. This is a workaround 
for the fact, that in HTTP/2 mode, JDK HttpClient initializes this value to 
Integer.MAX_VALUE (!) and lowers it on first response from the remote server 
(but it may be too late). See JDK bug <a 
href="https://bugs.openjdk.org/browse/JDK-8225647";>JDK-8225647</a> for details. 
|  `100`  | 2.0.0 |  Yes  | Session Configuration |
-| 111. | `"aether.transport.jetty.followRedirects"` | `Boolean` | If enabled, 
Jetty client will follow HTTP redirects. |  `true`  | 2.0.1 |  Yes  | Session 
Configuration |
-| 112. | `"aether.transport.jetty.maxRedirects"` | `Integer` | The max 
redirect count to follow. |  `5`  | 2.0.1 |  Yes  | Session Configuration |
-| 113. | `"aether.transport.minio.fixedBucketName"` | `String` | The fixed 
bucket name to use. |  `"maven"`  | 2.0.2 |  Yes  | Session Configuration |
-| 114. | `"aether.transport.minio.objectNameMapper"` | `String` | Object name 
mapper to use. |  `"fixedBucket"`  | 2.0.2 |  Yes  | Session Configuration |
-| 115. | `"aether.transport.wagon.config"` | `Object` | The configuration to 
use for the Wagon provider. |  -  |  |  Yes  | Session Configuration |
-| 116. | `"aether.transport.wagon.perms.dirMode"` | `String` | Octal numerical 
notation of permissions to set for newly created directories. Only considered 
by certain Wagon providers. |  -  |  |  Yes  | Session Configuration |
-| 117. | `"aether.transport.wagon.perms.fileMode"` | `String` | Octal 
numerical notation of permissions to set for newly created files. Only 
considered by certain Wagon providers. |  -  |  |  Yes  | Session Configuration 
|
-| 118. | `"aether.transport.wagon.perms.group"` | `String` | Group which 
should own newly created directories/files. Only considered by certain Wagon 
providers. |  -  |  |  Yes  | Session Configuration |
-| 119. | `"aether.trustedChecksumsSource.sparseDirectory"` | `Boolean` | Is 
checksum source enabled? |  `false`  | 1.9.0 |  No  | Session Configuration |
-| 120. | `"aether.trustedChecksumsSource.sparseDirectory.basedir"` | `String` 
| The basedir where checksums are. If relative, is resolved from local 
repository root. |  `".checksums"`  | 1.9.0 |  No  | Session Configuration |
-| 121. | `"aether.trustedChecksumsSource.sparseDirectory.originAware"` | 
`Boolean` | Is source origin aware? |  `true`  | 1.9.0 |  No  | Session 
Configuration |
-| 122. | `"aether.trustedChecksumsSource.summaryFile"` | `Boolean` | Is 
checksum source enabled? |  `false`  | 1.9.0 |  No  | Session Configuration |
-| 123. | `"aether.trustedChecksumsSource.summaryFile.basedir"` | `String` | 
The basedir where checksums are. If relative, is resolved from local repository 
root. |  `".checksums"`  | 1.9.0 |  No  | Session Configuration |
-| 124. | `"aether.trustedChecksumsSource.summaryFile.originAware"` | `Boolean` 
| Is source origin aware? |  `true`  | 1.9.0 |  No  | Session Configuration |
-| 125. | `"aether.updateCheckManager.sessionState"` | `String` | Manages the 
session state, i.e. influences if the same download requests to 
artifacts/metadata will happen multiple times within the same 
RepositorySystemSession. If "enabled" will enable the session state. If 
"bypass" will enable bypassing (i.e. store all artifact ids/metadata ids which 
have been updates but not evaluating those). All other values lead to disabling 
the session state completely. |  `"enabled"`  |  |  No  |  [...]
+| Key | Type | Description | Default Value | Since | Supports Repo ID suffix | 
Source |
+| --- | --- | --- | --- | --- | --- | --- |
+| `"aether.artifactResolver.postProcessor.trustedChecksums"` | `Boolean` | Is 
post processor enabled. |  `false`  | 1.9.0 |  No  | Session Configuration |
+| 
`"aether.artifactResolver.postProcessor.trustedChecksums.checksumAlgorithms"` | 
`String` | The checksum algorithms to apply during post-processing as comma 
separated list. |  `"SHA-1"`  | 1.9.0 |  No  | Session Configuration |
+| `"aether.artifactResolver.postProcessor.trustedChecksums.failIfMissing"` | 
`Boolean` | Should post processor fail resolution if checksum is missing? |  
`false`  | 1.9.0 |  No  | Session Configuration |
+| `"aether.artifactResolver.postProcessor.trustedChecksums.record"` | 
`Boolean` | Should post processor go into "record" mode (and collect checksums 
instead of validate them)? |  `false`  | 1.9.0 |  No  | Session Configuration |
+| `"aether.artifactResolver.postProcessor.trustedChecksums.snapshots"` | 
`Boolean` | Should post processor process snapshots as well? |  `false`  | 
1.9.0 |  No  | Session Configuration |
+| `"aether.artifactResolver.simpleLrmInterop"` | `Boolean` | Configuration to 
enable "interoperability" with Simple LRM, but this breaks RRF feature, hence 
this configuration is IGNORED when RRF is used, and is warmly recommended to 
leave it disabled even if no RRF is being used. |  `false`  |  |  No  | Session 
Configuration |
+| `"aether.artifactResolver.snapshotNormalization"` | `Boolean` | 
Configuration to enable "snapshot normalization", downloaded snapshots from 
remote with timestamped file names will have file names converted back to 
baseVersion. It replaces the timestamped snapshot file name with a filename 
containing the SNAPSHOT qualifier only. This only affects resolving/retrieving 
artifacts but not uploading those. |  `true`  |  |  No  | Session Configuration 
|
+| `"aether.chainedLocalRepository.ignoreTailAvailability"` | `Boolean` | When 
using chained local repository, should be the artifact availability ignored in 
tail. |  `true`  | 1.9.2 |  No  | Session Configuration |
+| `"aether.checksums.omitChecksumsForExtensions"` | `String` | Comma-separated 
list of extensions with leading dot (example ".asc") that should have checksums 
omitted. These are applied to sub-artifacts only. Note: to achieve 1.7.x 
aether.checksums.forSignature=true behaviour, pass empty string as value for 
this property. |  `".asc,.sigstore"`  |  |  No  | Session Configuration |
+| `"aether.conflictResolver.verbose"` | `Object` | The key in the repository 
session's 
<code>org.eclipse.aether.RepositorySystemSession#getConfigProperties() 
configuration properties</code> used to store a <code>Boolean</code> flag 
controlling the transformer's verbose mode. Accepted values are Boolean types, 
String type (where "true" would be interpreted as <code>true</code> ) or 
Verbosity enum instances. |  `"NONE"`  |  |  No  | Session Configuration |
+| `"aether.connector.basic.downstreamThreads"` | `Integer` | Number of threads 
in basic connector for downloading. |  `5`  | 2.0.0 |  Yes  | Session 
Configuration |
+| `"aether.connector.basic.parallelPut"` | `Boolean` | Enables or disables 
parallel PUT processing (parallel deploys) on basic connector globally or per 
remote repository. When disabled, connector behaves exactly as in Maven 3.8.x 
did: GETs are parallel while PUTs are sequential. |  `true`  | 1.9.5 |  Yes  | 
Session Configuration |
+| `"aether.connector.basic.persistedChecksums"` | `Boolean` | Flag indicating 
whether checksums which are retrieved during checksum validation should be 
persisted in the local repository next to the file they provide the checksum 
for. |  `true`  | 0.9.0.M4 |  No  | Session Configuration |
+| `"aether.connector.basic.smartChecksums"` | `Boolean` | Flag indicating that 
instead of comparing the external checksum fetched from the remote repo with 
the calculated one, it should try to extract the reference checksum from the 
actual artifact response headers This only works for HTTP transports. |  `true` 
 | 0.9.0.M3 |  No  | Session Configuration |
+| `"aether.connector.basic.threads"` | `Integer` | Number of threads in basic 
connector for uploading/downloading. Observed only if some of the upstream or 
downstream threads are not set. (Deprecated) |  `5`  | 0.9.0.M4 |  No  | 
Session Configuration |
+| `"aether.connector.basic.upstreamThreads"` | `Integer` | Number of threads 
in basic connector for uploading. |  `5`  | 2.0.0 |  Yes  | Session 
Configuration |
+| `"aether.dependencyCollector.bf.skipper"` | `Boolean` | The key in the 
repository session's <code>RepositorySystemSession#getConfigProperties() 
configuration properties</code> used to store a <code>Boolean</code> flag 
controlling the resolver's skip mode. |  `true`  | 1.8.0 |  No  | Session 
Configuration |
+| `"aether.dependencyCollector.bf.threads"` | `Integer` | The count of threads 
to be used when collecting POMs in parallel. |  `5`  | 1.9.0 |  No  | Session 
Configuration |
+| `"aether.dependencyCollector.impl"` | `String` | The name of the dependency 
collector implementation to use: depth-first (original) named "df", and 
breadth-first (new in 1.8.0) named "bf". Both collectors produce equivalent 
results, but they may differ performance wise, depending on project being 
applied to. Our experience shows that existing "df" is well suited for smaller 
to medium size projects, while "bf" may perform better on huge projects with 
many dependencies. Experiment (and c [...]
+| `"aether.dependencyCollector.maxCycles"` | `Integer` | Only up to the given 
amount cyclic dependencies are emitted. |  `10`  | 1.8.0 |  No  | Session 
Configuration |
+| `"aether.dependencyCollector.maxExceptions"` | `Integer` | Only exceptions 
up to the number given in this configuration property are emitted. Exceptions 
which exceed that number are swallowed. |  `50`  | 1.8.0 |  No  | Session 
Configuration |
+| `"aether.dependencyCollector.pool.artifact"` | `String` | Flag controlling 
interning data pool type used by dependency collector for Artifact instances, 
matters for heap consumption. By default, uses “weak” references (consume less 
heap). Using “hard” will make it much more memory aggressive and possibly 
faster (system and Java dependent). Supported values: "hard", "weak". |  
`"weak"`  | 1.9.5 |  No  | Session Configuration |
+| `"aether.dependencyCollector.pool.dependency"` | `String` | Flag controlling 
interning data pool type used by dependency collector for Dependency instances, 
matters for heap consumption. By default, uses “weak” references (consume less 
heap). Using “hard” will make it much more memory aggressive and possibly 
faster (system and Java dependent). Supported values: "hard", "weak". |  
`"weak"`  | 1.9.5 |  No  | Session Configuration |
+| `"aether.dependencyCollector.pool.dependencyLists"` | `String` | Flag 
controlling interning data pool type used by dependency lists collector for 
ArtifactDescriptor (POM) instances, matters for heap consumption. By default, 
uses “weak” references (consume less heap). Using “hard” will make it much more 
memory aggressive and possibly faster (system and Java dependent). Supported 
values: "hard", "weak". |  `"hard"`  | 1.9.22 |  No  | Session Configuration |
+| `"aether.dependencyCollector.pool.descriptor"` | `String` | Flag controlling 
interning data pool type used by dependency collector for ArtifactDescriptor 
(POM) instances, matters for heap consumption. By default, uses “weak” 
references (consume less heap). Using “hard” will make it much more memory 
aggressive and possibly faster (system and Java dependent). Supported values: 
"hard", "weak". |  `"hard"`  | 1.9.5 |  No  | Session Configuration |
+| `"aether.dependencyCollector.pool.internArtifactDescriptorDependencies"` | 
`Boolean` | Flag controlling interning artifact descriptor dependencies. |  
`false`  | 1.9.22 |  No  | Session Configuration |
+| 
`"aether.dependencyCollector.pool.internArtifactDescriptorManagedDependencies"` 
| `Boolean` | Flag controlling interning artifact descriptor managed 
dependencies. |  `true`  | 1.9.22 |  No  | Session Configuration |
+| `"aether.dependencyManager.verbose"` | `Boolean` | The key in the repository 
session's 
<code>org.eclipse.aether.RepositorySystemSession#getConfigProperties() 
configuration properties</code> used to store a <code>Boolean</code> flag 
controlling the verbose mode for dependency management. If enabled, the 
original attributes of a dependency before its update due to dependency 
management will be recorded in the node's <code>DependencyNode#getData() custom 
data</code> when building a depend [...]
+| `"aether.generator.gpg.agentSocketLocations"` | `String` | The GnuPG agent 
socket(s) to try. Comma separated list of socket paths. If relative, will be 
resolved from user home directory. |  `".gnupg/S.gpg-agent"`  | 2.0.0 |  No  | 
Session Configuration |
+| `"aether.generator.gpg.enabled"` | `Boolean` | Whether GnuPG signer is 
enabled. |  `false`  | 2.0.0 |  No  | Session Configuration |
+| `"aether.generator.gpg.keyFilePath"` | `String` | The path to the OpenPGP 
transferable secret key file. If relative, is resolved from local repository 
root. |  `"maven-signing-key.key"`  | 2.0.0 |  No  | Session Configuration |
+| `"aether.generator.gpg.keyFingerprint"` | `String` | The PGP Key fingerprint 
as hex string (40 characters long), optional. If not set, first secret key 
found will be used. |  -  | 2.0.0 |  No  | Session Configuration |
+| `"aether.generator.gpg.useAgent"` | `Boolean` | Whether GnuPG agent should 
be used. |  `true`  | 2.0.0 |  No  | Session Configuration |
+| `"aether.generator.sigstore.enabled"` | `Boolean` | Whether Sigstore signer 
is enabled. |  `false`  | 2.0.2 |  No  | Session Configuration |
+| `"aether.generator.sigstore.publicStaging"` | `Boolean` | Whether Sigstore 
should use public staging <code>sigstage.dev</code> instead of public default 
<code>sigstore.dev</code> . |  `false`  | 2.0.2 |  No  | Session Configuration |
+| `"aether.interactive"` | `Boolean` | A flag indicating whether interaction 
with the user is allowed. |  `false`  |  |  No  | Session Configuration |
+| `"aether.layout.maven2.checksumAlgorithms"` | `String` | Comma-separated 
list of checksum algorithms with which checksums are validated (downloaded) and 
generated (uploaded) with this layout. Resolver by default supports following 
algorithms: MD5, SHA-1, SHA-256 and SHA-512. New algorithms can be added by 
implementing ChecksumAlgorithmFactory component. |  `"SHA-1,MD5"`  | 1.8.0 |  
Yes  | Session Configuration |
+| `"aether.lrm.enhanced.localPrefix"` | `String` | The prefix to use for 
locally installed artifacts. |  `"installed"`  | 1.8.1 |  No  | Session 
Configuration |
+| `"aether.lrm.enhanced.releasesPrefix"` | `String` | The prefix to use for 
release artifacts. |  `"releases"`  | 1.8.1 |  No  | Session Configuration |
+| `"aether.lrm.enhanced.remotePrefix"` | `String` | The prefix to use for 
remotely cached artifacts. |  `"cached"`  | 1.8.1 |  No  | Session 
Configuration |
+| `"aether.lrm.enhanced.snapshotsPrefix"` | `String` | The prefix to use for 
snapshot artifacts. |  `"snapshots"`  | 1.8.1 |  No  | Session Configuration |
+| `"aether.lrm.enhanced.split"` | `Boolean` | Whether LRM should split local 
and remote artifacts. |  `false`  | 1.8.1 |  No  | Session Configuration |
+| `"aether.lrm.enhanced.splitLocal"` | `Boolean` | Whether locally installed 
artifacts should be split by version (release/snapshot). |  `false`  | 1.8.1 |  
No  | Session Configuration |
+| `"aether.lrm.enhanced.splitRemote"` | `Boolean` | Whether cached artifacts 
should be split by version (release/snapshot). |  `false`  | 1.8.1 |  No  | 
Session Configuration |
+| `"aether.lrm.enhanced.splitRemoteRepository"` | `Boolean` | Whether cached 
artifacts should be split by origin repository (repository ID). |  `false`  | 
1.8.1 |  No  | Session Configuration |
+| `"aether.lrm.enhanced.splitRemoteRepositoryLast"` | `Boolean` | For cached 
artifacts, if both splitRemote and splitRemoteRepository are set to true sets 
the splitting order: by default it is repositoryId/version (false) or 
version/repositoryId (true) |  `false`  | 1.8.1 |  No  | Session Configuration |
+| `"aether.lrm.enhanced.trackingFilename"` | `String` | Filename of the file 
in which to track the remote repositories. |  `"_remote.repositories"`  |  |  
No  | Session Configuration |
+| `"aether.metadataResolver.threads"` | `Integer` | Number of threads to use 
in parallel for resolving metadata. |  `4`  | 0.9.0.M4 |  No  | Session 
Configuration |
+| `"aether.named.diagnostic.enabled"` | `Boolean` | System property key to 
enable locking diagnostic collection. |  `false`  | 1.9.11 |  No  | Java System 
Properties |
+| `"aether.named.file-lock.attempts"` | `Integer` | Tweak: on Windows, the 
presence of <em>StandardOpenOption#DELETE_ON_CLOSE</em> causes concurrency 
issues. This flag allows to implement similar fix as referenced JDK bug report: 
retry and hope the best. Default value is 5 attempts (will retry 4 times). |  
`5`  | 1.7.3 |  No  | Java System Properties |
+| `"aether.named.file-lock.deleteLockFiles"` | `Boolean` | Tweak: on Windows, 
the presence of <em>StandardOpenOption#DELETE_ON_CLOSE</em> causes concurrency 
issues. This flag allows to have it removed from effective flags, at the cost 
that lockfile directory becomes crowded with 0 byte sized lock files that are 
never cleaned up. Default value is <code>true</code> on non-Windows OS. See <a 
href="https://bugs.openjdk.org/browse/JDK-8252883";>JDK-8252883</a> for Windows 
related bug. Users on [...]
+| `"aether.named.file-lock.sleepMillis"` | `Long` | Tweak: When 
<code>#SYSTEM_PROP_ATTEMPTS</code> used, the amount of milliseconds to sleep 
between subsequent retries. Default value is 50 milliseconds. |  `50`  | 1.7.3 
|  No  | Java System Properties |
+| `"aether.named.ipc.debug"` | `Boolean` | Should the IPC server log debug 
messages? (i.e. for testing purposes) |  `false`  | 2.0.1 |  No  | Java System 
Properties |
+| `"aether.named.ipc.family"` | `String` | IPC socket family to use. |  
`"unix"`  | 2.0.1 |  No  | Java System Properties |
+| `"aether.named.ipc.idleTimeout"` | `Integer` | IPC idle timeout in seconds. 
If there is no IPC request during idle time, it will stop. |  `60`  | 2.0.1 |  
No  | Java System Properties |
+| `"aether.named.ipc.nativeName"` | `String` | The name if the IPC server 
native executable (without file extension like ".exe") |  `"ipc-sync"`  | 2.0.1 
|  No  | Java System Properties |
+| `"aether.named.ipc.nofork"` | `Boolean` | Should the IPC server not fork? 
(i.e. for testing purposes) |  `false`  | 2.0.1 |  No  | Java System Properties 
|
+| `"aether.named.ipc.nonative"` | `Boolean` | Should the IPC server not use 
native executable? |  `true`  | 2.0.1 |  No  | Java System Properties |
+| `"aether.offline.hosts"` | `String` | Comma-separated list of hosts which 
are supposed to be resolved offline. |  -  |  |  No  | Session Configuration |
+| `"aether.offline.protocols"` | `String` | Comma-separated list of protocols 
which are supposed to be resolved offline. |  -  |  |  No  | Session 
Configuration |
+| `"aether.priority.<class>"` | `Float` | The priority to use for a certain 
extension class. <code>&lt;class&gt;</code> can either be the fully qualified 
name or the simple name of a class. If the class name ends with Factory that 
suffix could optionally be left out. This configuration is used by 
<code>org.eclipse.aether.internal.impl.PrioritizedComponents</code> internal 
utility to sort classes by priority. This is reusable utility (so an extension 
can make use of it), but by default in [...]
+| `"aether.priority.cached"` | `Boolean` | A flag indicating whether the 
created ordered components should be cached in session. |  `true`  | 2.0.0 |  
No  | Session Configuration |
+| `"aether.priority.implicit"` | `Boolean` | A flag indicating whether the 
priorities of pluggable extensions are implicitly given by their iteration 
order such that the first extension has the highest priority. If set, an 
extension's built-in priority as well as any corresponding 
<code>aether.priority.*</code> configuration properties are ignored when 
searching for a suitable implementation among the available extensions. This 
priority mode is meant for cases where the application will  [...]
+| `"aether.remoteRepositoryFilter.groupId"` | `Boolean` | Is filter enabled? | 
 `false`  | 1.9.0 |  No  | Session Configuration |
+| `"aether.remoteRepositoryFilter.groupId.basedir"` | `String` | The basedir 
where to store filter files. If path is relative, it is resolved from local 
repository root. |  `".remoteRepositoryFilters"`  | 1.9.0 |  No  | Session 
Configuration |
+| `"aether.remoteRepositoryFilter.groupId.record"` | `Boolean` | Should filter 
go into "record" mode (and collect encountered artifacts)? |  `false`  | 1.9.0 
|  No  | Session Configuration |
+| `"aether.remoteRepositoryFilter.prefixes"` | `Boolean` | Is filter enabled? 
|  `false`  | 1.9.0 |  No  | Session Configuration |
+| `"aether.remoteRepositoryFilter.prefixes.basedir"` | `String` | The basedir 
where to store filter files. If path is relative, it is resolved from local 
repository root. |  `".remoteRepositoryFilters"`  | 1.9.0 |  No  | Session 
Configuration |
+| `"aether.snapshotFilter"` | `Boolean` | The key in the repository session's 
<code>RepositorySystemSession#getConfigProperties() 
configurationproperties</code> used to store a <code>Boolean</code> flag 
whether this filter should be forced to ban snapshots. By default, snapshots 
are only filtered if the root artifact is not a snapshot. |  `false`  |  |  No  
| Session Configuration |
+| `"aether.syncContext.named.basedir.locksDir"` | `String` | The location of 
the directory toi use for locks. If relative path, it is resolved from the 
local repository root. |  `".locks"`  | 1.9.0 |  No  | Session Configuration |
+| `"aether.syncContext.named.discriminating.discriminator"` | `String` | 
Configuration property to pass in discriminator, if needed. If not present, it 
is auto-calculated. |  -  | 1.7.0 |  No  | Session Configuration |
+| `"aether.syncContext.named.discriminating.hostname"` | `String` | 
Configuration property to pass in hostname, if needed. If not present, hostname 
as reported by system will be used. |  -  | 1.7.0 |  No  | Session 
Configuration |
+| `"aether.syncContext.named.factory"` | `String` | Name of the lock factory 
to use in session. |  `"file-lock"`  | 1.9.1 |  No  | Session Configuration |
+| `"aether.syncContext.named.hashing.depth"` | `Integer` | The depth how many 
levels should adapter create. Acceptable values are 0-4 (inclusive). |  `2`  | 
1.9.0 |  No  | Session Configuration |
+| `"aether.syncContext.named.nameMapper"` | `String` | Name of the name mapper 
to use in session. Out of the box supported ones are "static", "gav", 
"file-gav", "file-hgav", "file-static" and "discriminating". |  `"file-gav"`  | 
1.9.1 |  No  | Session Configuration |
+| `"aether.syncContext.named.redisson.address"` | `String` | Address of the 
Redis instance. Optional. |  `"redis://localhost:6379"`  | 2.0.0 |  No  | Java 
System Properties |
+| `"aether.syncContext.named.redisson.configFile"` | `String` | Path to a 
Redisson configuration file in YAML format. Read official documentation for 
details. |  -  | 1.7.0 |  No  | Java System Properties |
+| `"aether.syncContext.named.retry"` | `Integer` | The amount of retries on 
time-out. |  `1`  | 1.7.0 |  No  | Session Configuration |
+| `"aether.syncContext.named.retry.wait"` | `Long` | The amount of 
milliseconds to wait between retries on time-out. |  `200l`  | 1.7.0 |  No  | 
Session Configuration |
+| `"aether.syncContext.named.time"` | `Long` | The maximum of time amount to 
be blocked to obtain lock. |  `30l`  | 1.7.0 |  No  | Session Configuration |
+| `"aether.syncContext.named.time.unit"` | `String` | The unit of maximum time 
amount to be blocked to obtain lock. Use TimeUnit enum names. |  `"SECONDS"`  | 
1.7.0 |  No  | Session Configuration |
+| `"aether.system.dependencyVisitor"` | `String` | A flag indicating which 
visitor should be used to "flatten" the dependency graph into list. Default is 
same as in older resolver versions "preOrder", while it can accept values like 
"postOrder" and "levelOrder". |  `"preOrder"`  | 2.0.0 |  No  | Session 
Configuration |
+| `"aether.transport.apache.followRedirects"` | `Boolean` | If enabled, Apache 
HttpClient will follow HTTP redirects. |  `true`  | 2.0.2 |  Yes  | Session 
Configuration |
+| `"aether.transport.apache.https.cipherSuites"` | `String` | Comma-separated 
list of <a 
href="https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#ciphersuites";>Cipher
 Suites</a> which are enabled for HTTPS connections. |  -  | 2.0.0 |  No  | 
Session Configuration |
+| `"aether.transport.apache.https.protocols"` | `String` | Comma-separated 
list of <a 
href="https://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#jssenames";>Protocols
 </a> which are enabled for HTTPS connections. |  -  | 2.0.0 |  No  | Session 
Configuration |
+| `"aether.transport.apache.maxRedirects"` | `Integer` | The max redirect 
count to follow. |  `5`  | 2.0.2 |  Yes  | Session Configuration |
+| `"aether.transport.apache.retryHandler.name"` | `String` | The name of 
retryHandler, supported values are “standard”, that obeys RFC-2616, regarding 
idempotent methods, and “default” that considers requests w/o payload as 
idempotent. |  `"standard"`  | 2.0.0 |  Yes  | Session Configuration |
+| `"aether.transport.apache.retryHandler.requestSentEnabled"` | `Boolean` | 
Set to true if it is acceptable to retry non-idempotent requests, that have 
been sent. |  `false`  | 2.0.0 |  Yes  | Session Configuration |
+| `"aether.transport.apache.useSystemProperties"` | `Boolean` | If enabled, 
underlying Apache HttpClient will use system properties as well to configure 
itself (typically used to set up HTTP Proxy via Java system properties). See 
HttpClientBuilder for used properties. This mode is not recommended, better use 
documented ways of configuration instead. |  `false`  | 2.0.0 |  Yes  | Session 
Configuration |
+| `"aether.transport.classpath.loader"` | `ClassLoader` | The key in the 
repository session's <code>RepositorySystemSession#getConfigProperties() 
configurationproperties</code> used to store a <code>ClassLoader</code> from 
which resources should be retrieved. If unspecified, the 
<code>Thread#getContextClassLoader() context class loader</code> of the current 
thread will be used. |  -  |  |  No  | Session Configuration |
+| `"aether.transport.http.connectTimeout"` | `Integer` | The maximum amount of 
time (in milliseconds) to wait for a successful connection to a remote server. 
Non-positive values indicate no timeout. |  `30000`  |  |  Yes  | Session 
Configuration |
+| `"aether.transport.http.connectionMaxTtl"` | `Integer` | Total time to live 
in seconds for an HTTP connection, after that time, the connection will be 
dropped (no matter for how long it was idle). |  `300`  | 1.9.8 |  Yes  | 
Session Configuration |
+| `"aether.transport.http.credentialEncoding"` | `String` | The 
encoding/charset to use when exchanging credentials with HTTP servers. Besides 
this general key, clients may also specify the encoding for a specific remote 
repository by appending the suffix <code>.&lt;repoId&gt;</code> to this key 
when storing the charset name. |  `"ISO-8859-1"`  |  |  Yes  | Session 
Configuration |
+| `"aether.transport.http.expectContinue"` | `Boolean` | Boolean flag should 
the HTTP transport use expect-continue handshake for PUT requests. Not all 
transport support this option. This option may be needed for some broken HTTP 
servers. Default value corresponds to given transport default one (resolver 
does not override those), but if configuration IS given, it will replace given 
transport own default value. |  -  | 1.9.17 |  Yes  | Session Configuration |
+| `"aether.transport.http.headers"` | `java.util.Map` | The request headers to 
use for HTTP-based repository connectors. The headers are specified using a 
<code>Map<String, String></code> , mapping a header name to its value. Besides 
this general key, clients may also specify headers for a specific remote 
repository by appending the suffix <code>.&lt;repoId&gt;</code> to this key 
when storing the headers map. The repository-specific headers map is supposed 
to be complete, i.e. is not mer [...]
+| `"aether.transport.http.localAddress"` | `String` | The local address 
(interface) to use with HTTP transport. Not all transport supports this option. 
|  -  | 2.0.0 |  Yes  | Session Configuration |
+| `"aether.transport.http.maxConnectionsPerRoute"` | `Integer` | The maximum 
concurrent connections per route HTTP client is allowed to use. |  `50`  | 
1.9.8 |  Yes  | Session Configuration |
+| `"aether.transport.http.preemptiveAuth"` | `Boolean` | Should HTTP client 
use preemptive-authentication for all HTTP verbs (works only w/ BASIC). By 
default, is disabled, as it is considered less secure. |  `false`  | 1.9.6 |  
Yes  | Session Configuration |
+| `"aether.transport.http.preemptivePutAuth"` | `Boolean` | Boolean flag 
should the HTTP transport use preemptive-auth for PUT requests. Not all 
transport support this option. |  `true`  | 2.0.0 (moved out from 
maven-resolver-transport-http). |  Yes  | Session Configuration |
+| `"aether.transport.http.requestTimeout"` | `Integer` | The maximum amount of 
time (in milliseconds) to wait for remaining data to arrive from a remote 
server. Note that this timeout does not restrict the overall duration of a 
request, it only restricts the duration of inactivity between consecutive data 
packets. Non-positive values indicate no timeout. |  `1800000`  |  |  Yes  | 
Session Configuration |
+| `"aether.transport.http.retryHandler.count"` | `Integer` | The maximum 
number of times a request to a remote server should be retried in case of an 
error. |  `3`  | 1.9.6 |  Yes  | Session Configuration |
+| `"aether.transport.http.retryHandler.interval"` | `Long` | The initial retry 
interval in millis of request to a remote server should be waited in case of 
"too many requests" (HTTP codes 429 and 503). Accepts long as milliseconds. 
This value is used if remote server does not use <code>Retry-After</code> 
header, in which case Server value is obeyed. |  `5000l`  | 1.9.16 |  Yes  | 
Session Configuration |
+| `"aether.transport.http.retryHandler.intervalMax"` | `Long` | The maximum 
retry interval in millis of request to a remote server above which the request 
should be aborted instead. In theory, a malicious server could tell Maven "come 
back after 100 years" that would stall the build for some. Using this parameter 
Maven will fail the request instead, if interval is above this value. |  
`300000l`  | 1.9.16 |  Yes  | Session Configuration |
+| `"aether.transport.http.retryHandler.serviceUnavailable"` | `String` | The 
HTTP codes of remote server responses that should be handled as "too many 
requests" (examples: HTTP codes 429 and 503). Accepts comma separated list of 
HTTP response codes. |  `"429,503"`  | 1.9.16 |  Yes  | Session Configuration |
+| `"aether.transport.http.reuseConnections"` | `Boolean` | Should HTTP client 
reuse connections (in other words, pool connections) or not? |  `true`  | 1.9.8 
|  Yes  | Session Configuration |
+| `"aether.transport.http.supportWebDav"` | `Boolean` | Boolean flag should 
the HTTP transport support WebDAV remote. Not all transport support this 
option. |  `false`  | 2.0.0 (moved out from maven-resolver-transport-http). |  
Yes  | Session Configuration |
+| `"aether.transport.http.userAgent"` | `String` | The user agent that 
repository connectors should report to servers. |  `"Aether"`  |  |  No  | 
Session Configuration |
+| `"aether.transport.https.securityMode"` | `String` | The mode that sets 
HTTPS transport "security mode": to ignore any SSL errors (certificate validity 
checks, hostname verification). The default value is 
<code>#HTTPS_SECURITY_MODE_DEFAULT</code> . |  `"default"`  | 1.9.6 |  Yes  | 
Session Configuration |
+| `"aether.transport.jdk.httpVersion"` | `String` | Use string representation 
of HttpClient version enum "HTTP_2" or "HTTP_1_1" to set default HTTP protocol 
to use. |  `"HTTP_1_1"`  | 2.0.0 |  Yes  | Session Configuration |
+| `"aether.transport.jdk.maxConcurrentRequests"` | `Integer` | The hard limit 
of maximum concurrent requests JDK transport can do. This is a workaround for 
the fact, that in HTTP/2 mode, JDK HttpClient initializes this value to 
Integer.MAX_VALUE (!) and lowers it on first response from the remote server 
(but it may be too late). See JDK bug <a 
href="https://bugs.openjdk.org/browse/JDK-8225647";>JDK-8225647</a> for details. 
|  `100`  | 2.0.0 |  Yes  | Session Configuration |
+| `"aether.transport.jetty.followRedirects"` | `Boolean` | If enabled, Jetty 
client will follow HTTP redirects. |  `true`  | 2.0.1 |  Yes  | Session 
Configuration |
+| `"aether.transport.jetty.maxRedirects"` | `Integer` | The max redirect count 
to follow. |  `5`  | 2.0.1 |  Yes  | Session Configuration |
+| `"aether.transport.minio.fixedBucketName"` | `String` | The fixed bucket 
name to use. |  `"maven"`  | 2.0.2 |  Yes  | Session Configuration |
+| `"aether.transport.minio.objectNameMapper"` | `String` | Object name mapper 
to use. |  `"fixedBucket"`  | 2.0.2 |  Yes  | Session Configuration |
+| `"aether.transport.wagon.config"` | `Object` | The configuration to use for 
the Wagon provider. |  -  |  |  Yes  | Session Configuration |
+| `"aether.transport.wagon.perms.dirMode"` | `String` | Octal numerical 
notation of permissions to set for newly created directories. Only considered 
by certain Wagon providers. |  -  |  |  Yes  | Session Configuration |
+| `"aether.transport.wagon.perms.fileMode"` | `String` | Octal numerical 
notation of permissions to set for newly created files. Only considered by 
certain Wagon providers. |  -  |  |  Yes  | Session Configuration |
+| `"aether.transport.wagon.perms.group"` | `String` | Group which should own 
newly created directories/files. Only considered by certain Wagon providers. |  
-  |  |  Yes  | Session Configuration |
+| `"aether.trustedChecksumsSource.sparseDirectory"` | `Boolean` | Is checksum 
source enabled? |  `false`  | 1.9.0 |  No  | Session Configuration |
+| `"aether.trustedChecksumsSource.sparseDirectory.basedir"` | `String` | The 
basedir where checksums are. If relative, is resolved from local repository 
root. |  `".checksums"`  | 1.9.0 |  No  | Session Configuration |
+| `"aether.trustedChecksumsSource.sparseDirectory.originAware"` | `Boolean` | 
Is source origin aware? |  `true`  | 1.9.0 |  No  | Session Configuration |
+| `"aether.trustedChecksumsSource.summaryFile"` | `Boolean` | Is checksum 
source enabled? |  `false`  | 1.9.0 |  No  | Session Configuration |
+| `"aether.trustedChecksumsSource.summaryFile.basedir"` | `String` | The 
basedir where checksums are. If relative, is resolved from local repository 
root. |  `".checksums"`  | 1.9.0 |  No  | Session Configuration |
+| `"aether.trustedChecksumsSource.summaryFile.originAware"` | `Boolean` | Is 
source origin aware? |  `true`  | 1.9.0 |  No  | Session Configuration |
+| `"aether.updateCheckManager.sessionState"` | `String` | Manages the session 
state, i.e. influences if the same download requests to artifacts/metadata will 
happen multiple times within the same RepositorySystemSession. If "enabled" 
will enable the session state. If "bypass" will enable bypassing (i.e. store 
all artifact ids/metadata ids which have been updates but not evaluating 
those). All other values lead to disabling the session state completely. |  
`"enabled"`  |  |  No  | Session [...]
 
 
 All properties which have `yes` in the column `Supports Repo ID Suffix` can be 
optionally configured specifically for a repository id. In that case the 
configuration property needs to be suffixed with a period followed by the 
repository id of the repository to configure, e.g. 
`aether.connector.http.headers.central` for repository with id `central`.

Reply via email to