1 package org.apache.maven.scm.plugin;
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.plugin.MojoExecutionException;
23 import org.apache.maven.scm.ScmException;
24 import org.apache.maven.scm.command.branch.BranchScmResult;
25 import org.apache.maven.scm.provider.ScmProvider;
26 import org.apache.maven.scm.repository.ScmRepository;
27
28 import java.io.IOException;
29
30
31
32
33
34
35
36
37
38
39 public class BranchMojo
40 extends AbstractScmMojo
41 {
42
43
44
45
46
47 private String branch;
48
49
50
51
52
53
54 private String message;
55
56 public void execute()
57 throws MojoExecutionException
58 {
59 super.execute();
60
61 try
62 {
63 ScmRepository repository = getScmRepository();
64 ScmProvider provider = getScmManager().getProviderByRepository( repository );
65
66 String finalBranch = provider.sanitizeTagName( branch );
67 getLog().info( "Final Branch Name: '" + finalBranch + "'" );
68
69 BranchScmResult result = provider.branch( repository, getFileSet(), finalBranch, message );
70
71 checkResult( result );
72 }
73 catch ( IOException e )
74 {
75 throw new MojoExecutionException( "Cannot run branch command : ", e );
76 }
77 catch ( ScmException e )
78 {
79 throw new MojoExecutionException( "Cannot run branch command : ", e );
80 }
81 }
82 }