Clover Coverage Report - Maven SCM Plugin 1.5-SNAPSHOT
Coverage timestamp: Wed Dec 31 1969 19:00:00 EST
../../../../../img/srcFileCovDistChart0.png 0% of files have more coverage
13   118   5   13
4   48   0.38   1
1     5  
1    
 
  UpdateMojo       Line # 39 13 0% 5 18 0% 0.0
 
No Tests
 
1    package org.apache.maven.scm.plugin;
2   
3    /*
4    * Licensed to the Apache Software Foundation (ASF) under one
5    * or more contributor license agreements. See the NOTICE file
6    * distributed with this work for additional information
7    * regarding copyright ownership. The ASF licenses this file
8    * to you under the Apache License, Version 2.0 (the
9    * "License"); you may not use this file except in compliance
10    * with the License. You may obtain a copy of the License at
11    *
12    * http://www.apache.org/licenses/LICENSE-2.0
13    *
14    * Unless required by applicable law or agreed to in writing,
15    * software distributed under the License is distributed on an
16    * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17    * KIND, either express or implied. See the License for the
18    * specific language governing permissions and limitations
19    * under the License.
20    */
21   
22    import org.apache.maven.plugin.MojoExecutionException;
23    import org.apache.maven.project.MavenProject;
24    import org.apache.maven.scm.ScmException;
25    import org.apache.maven.scm.command.update.UpdateScmResult;
26    import org.apache.maven.scm.command.update.UpdateScmResultWithRevision;
27    import org.apache.maven.scm.repository.ScmRepository;
28   
29    import java.io.IOException;
30   
31    /**
32    * Update the local working copy with the latest source from the configured scm url.
33    *
34    * @author <a href="evenisse@apache.org">Emmanuel Venisse</a>
35    * @version $Id: UpdateMojo.java 685670 2008-08-13 20:25:56Z vsiveton $
36    * @goal update
37    * @aggregator
38    */
 
39    public class UpdateMojo
40    extends AbstractScmMojo
41    {
42    /**
43    * The version type (branch/tag/revision) of scmVersion.
44    *
45    * @parameter expression="${scmVersionType}"
46    */
47    private String scmVersionType;
48   
49    /**
50    * The version (revision number/branch name/tag name).
51    *
52    * @parameter expression="${scmVersion}"
53    */
54    private String scmVersion;
55   
56    /**
57    * The project property where to store the revision name.
58    *
59    * @parameter expression="${revisionKey}" default-value="scm.revision"
60    */
61    private String revisionKey;
62   
63    /**
64    * The maven project.
65    *
66    * @parameter expression="${project}"
67    * @required
68    * @readonly
69    */
70    private MavenProject project;
71   
72    /**
73    * Run Changelog after update.
74    *
75    * @parameter expression="${runChangelog}" default-value="false"
76    */
77    private boolean runChangelog = false;
78   
79    /** {@inheritDoc} */
 
80  0 toggle public void execute()
81    throws MojoExecutionException
82    {
83  0 super.execute();
84   
85  0 try
86    {
87  0 ScmRepository repository = getScmRepository();
88   
89  0 UpdateScmResult result = getScmManager().update( repository, getFileSet(),
90    getScmVersion( scmVersionType, scmVersion ),
91    runChangelog );
92   
93  0 checkResult( result );
94   
95  0 if ( result instanceof UpdateScmResultWithRevision )
96    {
97  0 String revision = ( (UpdateScmResultWithRevision) result ).getRevision();
98   
99  0 getLog().info( "Storing revision in '" + revisionKey + "' project property." );
100   
101  0 if ( project.getProperties() != null ) // Remove the test when we'll use plugin-test-harness 1.0-alpha-2
102    {
103  0 project.getProperties().put( revisionKey, revision );
104    }
105   
106  0 getLog().info( "Project at revision " + revision );
107    }
108    }
109    catch ( IOException e )
110    {
111  0 throw new MojoExecutionException( "Cannot run update command : ", e );
112    }
113    catch ( ScmException e )
114    {
115  0 throw new MojoExecutionException( "Cannot run update command : ", e );
116    }
117    }
118    }