File D:\maven-qcr-plugin-testsunitaires\qcr4java\jenkins-master\target\site\qc\maven-plugin\src\main\java\hudson\maven\MavenVersionCallable.java.html

1 package hudson.maven;
2
3 /*
4 * The MIT License
5 *
6 * Copyright (c) 2004-2010, Sun Microsystems, Inc. Olivier Lamy
7 *
8 * Permission is hereby granted, free of charge, to any person obtaining a copy
9 * of this software and associated documentation files (the "Software"), to deal
10 * in the Software without restriction, including without limitation the rights
11 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12 * copies of the Software, and to permit persons to whom the Software is
13 * furnished to do so, subject to the following conditions:
14 *
15 * The above copyright notice and this permission notice shall be included in
16 * all copies or substantial portions of the Software.
17 *
18 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24 * THE SOFTWARE.
25 */
26
27 import hudson.AbortException;
28 import hudson.remoting.Callable;
29
30 import java.io.File;
31 import java.io.IOException;
32
33 import org.kohsuke.stapler.framework.io.IOException2;
34
35 /**
36 *
37 * @author Olivier Lamy
38 * @since 3.0
39 *
40 */
41 public class MavenVersionCallable
42 implements Callable<MavenInformation, IOException>
43 {
44 private static final long serialVersionUID = -2644951622080930034L;
45
46 private final String mavenHome;
47
48 public MavenVersionCallable( String mavenHome )
49 {
50 this.mavenHome = mavenHome;
51 }
52
53 public MavenInformation call()
54 throws IOException
55 {
56 try
57 {
58 File home = new File(mavenHome);
59 if(!home.isDirectory())
60 {
61 if (home.exists())
62 throw new AbortException(Messages.MavenVersionCallable_MavenHomeIsNotDirectory(home));
63 else
64 throw new AbortException(Messages.MavenVersionCallable_MavenHomeDoesntExist(home));
65 }
66 return MavenEmbedderUtils.getMavenVersion(home);
67 }
68 catch ( MavenEmbedderException e )
69 {
70 throw new IOException2( e );
71 }
72 }
73
74 }
75