1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.scm.plugin;
20
21 import java.io.IOException;
22
23 import org.apache.maven.plugin.MojoExecutionException;
24 import org.apache.maven.plugins.annotations.Mojo;
25 import org.apache.maven.plugins.annotations.Parameter;
26 import org.apache.maven.scm.CommandParameter;
27 import org.apache.maven.scm.CommandParameters;
28 import org.apache.maven.scm.ScmException;
29 import org.apache.maven.scm.command.untag.UntagScmResult;
30 import org.apache.maven.scm.provider.ScmProvider;
31 import org.apache.maven.scm.repository.ScmRepository;
32
33
34
35
36 @Mojo(name = "untag", aggregator = true)
37 public class UntagMojo extends AbstractScmMojo {
38
39
40
41 @Parameter(property = "tag", required = true)
42 private String tag;
43
44
45
46
47 @Parameter(property = "message", required = false)
48 private String message;
49
50
51 public void execute() throws MojoExecutionException {
52 super.execute();
53
54 try {
55 ScmRepository repository = getScmRepository();
56 ScmProvider provider = getScmManager().getProviderByRepository(repository);
57
58 String finalTag = provider.sanitizeTagName(tag);
59 getLog().info("Final Tag Name: '" + finalTag + "'");
60
61 CommandParameters parameters = new CommandParameters();
62 parameters.setString(CommandParameter.TAG_NAME, finalTag);
63 parameters.setString(CommandParameter.MESSAGE, message);
64
65 UntagScmResult result = provider.untag(repository, getFileSet(), parameters);
66
67 checkResult(result);
68 } catch (IOException | ScmException e) {
69 throw new MojoExecutionException("Cannot run untag command", e);
70 }
71 }
72 }