1 package org.apache.maven.shared.jarsigner;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 import org.apache.maven.shared.utils.cli.Commandline;
23 import org.apache.maven.shared.utils.cli.StreamConsumer;
24 import org.apache.maven.shared.utils.cli.javatool.AbstractJavaTool;
25 import org.apache.maven.shared.utils.cli.javatool.JavaToolException;
26 import org.codehaus.plexus.component.annotations.Component;
27
28
29
30
31
32
33
34
35 @Component( role = JarSigner.class, hint = "default" )
36 public class DefaultJarSigner
37 extends AbstractJavaTool<JarSignerRequest>
38 implements JarSigner
39 {
40
41 public DefaultJarSigner()
42 {
43 super( "jarsigner" );
44 }
45
46 @Override
47 protected Commandline createCommandLine( JarSignerRequest request, String javaToolFile )
48 throws JavaToolException
49 {
50 JarSignerCommandLineBuilder cliBuilder = new JarSignerCommandLineBuilder();
51 cliBuilder.setLogger( getLogger() );
52 cliBuilder.setJarSignerFile( javaToolFile );
53 try
54 {
55 Commandline cli = cliBuilder.build( request );
56 if ( request.isVerbose() )
57 {
58 getLogger().info( cli.toString() );
59 }
60 else
61 {
62 getLogger().debug( cli.toString() );
63 }
64 return cli;
65 }
66 catch ( CommandLineConfigurationException e )
67 {
68 throw new JavaToolException( "Error configuring command-line. Reason: " + e.getMessage(), e );
69 }
70 }
71
72 protected StreamConsumer createSystemOutStreamConsumer( JarSignerRequest request )
73 {
74 StreamConsumer systemOut = request.getSystemOutStreamConsumer();
75
76 if ( systemOut == null )
77 {
78
79 final boolean verbose = request.isVerbose();
80
81 systemOut = new StreamConsumer()
82 {
83
84
85
86
87 public void consumeLine( final String line )
88 {
89 if ( verbose )
90 {
91 getLogger().info( line );
92 }
93 else
94 {
95 getLogger().debug( line );
96 }
97 }
98
99 };
100 }
101 return systemOut;
102 }
103
104 }