1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.settings.crypto;
20
21 import javax.inject.Inject;
22 import javax.inject.Named;
23 import javax.inject.Provider;
24 import javax.inject.Singleton;
25
26 import java.util.Map;
27
28 import org.sonatype.plexus.components.cipher.PlexusCipher;
29 import org.sonatype.plexus.components.sec.dispatcher.DefaultSecDispatcher;
30 import org.sonatype.plexus.components.sec.dispatcher.PasswordDecryptor;
31 import org.sonatype.plexus.components.sec.dispatcher.SecDispatcher;
32
33 @Named("maven")
34 @Singleton
35 public final class MavenSecDispatcherProvider implements Provider<SecDispatcher> {
36 private final SecDispatcher secDispatcher;
37
38 @Inject
39 public MavenSecDispatcherProvider(
40 final PlexusCipher plexusCipher, final Map<String, PasswordDecryptor> decryptors) {
41 this.secDispatcher = new DefaultSecDispatcher(plexusCipher, decryptors, "~/.m2/settings-security.xml");
42 }
43
44 @Override
45 public SecDispatcher get() {
46 return secDispatcher;
47 }
48 }