1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.cling.invoker.mvnenc;
20
21 import java.util.Collections;
22 import java.util.List;
23
24 import org.apache.commons.cli.ParseException;
25 import org.apache.maven.api.cli.Options;
26 import org.apache.maven.api.cli.mvnenc.EncryptOptions;
27 import org.apache.maven.cling.invoker.BaseParser;
28
29 public class EncryptParser extends BaseParser {
30
31 @Override
32 protected EncryptOptions emptyOptions() {
33 try {
34 return CommonsCliEncryptOptions.parse(new String[0]);
35 } catch (ParseException e) {
36 throw new IllegalArgumentException(e);
37 }
38 }
39
40 @Override
41 protected EncryptInvokerRequest getInvokerRequest(LocalContext context) {
42 return new EncryptInvokerRequest(
43 context.parserRequest,
44 context.parsingFailed,
45 context.cwd,
46 context.installationDirectory,
47 context.userHomeDirectory,
48 context.userProperties,
49 context.systemProperties,
50 context.topDirectory,
51 context.rootDirectory,
52 context.extensions,
53 (EncryptOptions) context.options);
54 }
55
56 @Override
57 protected List<Options> parseCliOptions(LocalContext context) {
58 return Collections.singletonList(parseEncryptCliOptions(context.parserRequest.args()));
59 }
60
61 protected CommonsCliEncryptOptions parseEncryptCliOptions(List<String> args) {
62 try {
63 return CommonsCliEncryptOptions.parse(args.toArray(new String[0]));
64 } catch (ParseException e) {
65 throw new IllegalArgumentException("Failed to parse command line options: " + e.getMessage(), e);
66 }
67 }
68
69 @Override
70 protected Options assembleOptions(List<Options> parsedOptions) {
71
72 return parsedOptions.get(0);
73 }
74 }