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.ParserException;
27 import org.apache.maven.api.cli.mvnenc.EncryptOptions;
28 import org.apache.maven.cling.invoker.BaseParser;
29
30 public class EncryptParser extends BaseParser {
31 @Override
32 protected EncryptInvokerRequest getInvokerRequest(LocalContext context) {
33 return new EncryptInvokerRequest(
34 context.parserRequest,
35 context.cwd,
36 context.installationDirectory,
37 context.userHomeDirectory,
38 context.userProperties,
39 context.systemProperties,
40 context.topDirectory,
41 context.rootDirectory,
42 context.parserRequest.in(),
43 context.parserRequest.out(),
44 context.parserRequest.err(),
45 context.extensions,
46 getJvmArguments(context.rootDirectory),
47 (EncryptOptions) context.options);
48 }
49
50 @Override
51 protected List<Options> parseCliOptions(LocalContext context) throws ParserException {
52 return Collections.singletonList(parseEncryptCliOptions(context.parserRequest.args()));
53 }
54
55 protected CommonsCliEncryptOptions parseEncryptCliOptions(List<String> args) throws ParserException {
56 try {
57 return CommonsCliEncryptOptions.parse(args.toArray(new String[0]));
58 } catch (ParseException e) {
59 throw new ParserException("Failed to parse command line options: " + e.getMessage(), e);
60 }
61 }
62
63 @Override
64 protected Options assembleOptions(List<Options> parsedOptions) {
65
66 return parsedOptions.get(0);
67 }
68 }