1
2
3
4
5
6
7
8
9
10 package org.eclipse.jgit.lib;
11
12
13
14
15
16
17 public class GpgConfig {
18
19
20
21
22 public enum GpgFormat implements Config.ConfigEnum {
23
24
25 OPENPGP("openpgp"),
26
27 X509("x509");
28
29 private final String configValue;
30
31 private GpgFormat(String configValue) {
32 this.configValue = configValue;
33 }
34
35 @Override
36 public boolean matchConfigValue(String s) {
37 return configValue.equals(s);
38 }
39
40 @Override
41 public String toConfigValue() {
42 return configValue;
43 }
44 }
45
46 private final GpgFormat keyFormat;
47
48 private final String signingKey;
49
50 private final String program;
51
52 private final boolean signCommits;
53
54 private final boolean signAllTags;
55
56 private final boolean forceAnnotated;
57
58
59
60
61
62
63
64
65
66
67
68
69
70 public GpgConfig(String keySpec, GpgFormat format, String gpgProgram) {
71 keyFormat = format;
72 signingKey = keySpec;
73 program = gpgProgram;
74 signCommits = true;
75 signAllTags = false;
76 forceAnnotated = false;
77 }
78
79
80
81
82
83
84
85 public GpgConfig(Config config) {
86 keyFormat = config.getEnum(GpgFormat.values(),
87 ConfigConstants.CONFIG_GPG_SECTION, null,
88 ConfigConstants.CONFIG_KEY_FORMAT, GpgFormat.OPENPGP);
89 signingKey = config.getString(ConfigConstants.CONFIG_USER_SECTION, null,
90 ConfigConstants.CONFIG_KEY_SIGNINGKEY);
91
92 String exe = config.getString(ConfigConstants.CONFIG_GPG_SECTION,
93 keyFormat.toConfigValue(), ConfigConstants.CONFIG_KEY_PROGRAM);
94 if (exe == null) {
95 exe = config.getString(ConfigConstants.CONFIG_GPG_SECTION, null,
96 ConfigConstants.CONFIG_KEY_PROGRAM);
97 }
98 program = exe;
99 signCommits = config.getBoolean(ConfigConstants.CONFIG_COMMIT_SECTION,
100 ConfigConstants.CONFIG_KEY_GPGSIGN, false);
101 signAllTags = config.getBoolean(ConfigConstants.CONFIG_TAG_SECTION,
102 ConfigConstants.CONFIG_KEY_GPGSIGN, false);
103 forceAnnotated = config.getBoolean(ConfigConstants.CONFIG_TAG_SECTION,
104 ConfigConstants.CONFIG_KEY_FORCE_SIGN_ANNOTATED, false);
105 }
106
107
108
109
110
111
112 public GpgFormat getKeyFormat() {
113 return keyFormat;
114 }
115
116
117
118
119
120
121
122
123
124 public String getProgram() {
125 return program;
126 }
127
128
129
130
131
132
133 public String getSigningKey() {
134 return signingKey;
135 }
136
137
138
139
140
141
142 public boolean isSignCommits() {
143 return signCommits;
144 }
145
146
147
148
149
150
151
152
153 public boolean isSignAllTags() {
154 return signAllTags;
155 }
156
157
158
159
160
161
162
163
164
165 public boolean isSignAnnotated() {
166 return forceAnnotated;
167 }
168 }